how to show pdf file in asp.net c# : Searching pdf files for text control SDK platform web page wpf windows web browser vba2-part1828

E
SSENTIALS
15
Loading a Data Object
Now that we have introduced some concepts, it is time to start programming with data objects. This section 
introduces some common ways to load a data object. 
How Many Ways Can I Load a Data Object?
Each data object supports various methods to allow for loading. Each Raiser’s Edge top-level object can be loaded 
using any of its unique fields. For example, TheRaiser’s Edge does not allow an end-user to save two constituent 
records with the same constituent ID, or two campaign records with the same campaign ID. Given this, you can 
load each data object using the underlying record’s unique fields with the LoadByField method. 
LoadByField accepts two arguments. The first argument denotes the unique field you use. The second argument 
provides the key to search for. Here, you can see another great example of how powerful Visual Basic’s Intellisense 
feature can be. Because each top-level data object has a different set of unique fields, the object’s corresponding 
LoadByField enumerates these fields in a drop-down list as you fill in the first argument to the LoadByField 
method. 
In the code snippet above, we see the programmer has instantiated a CRecord object. As mentioned earlier, 
CRecord is the data object that encapsulates individual and organization constituent records. Note the drop-down 
list that appeared automatically when the developer entered the unique field argument. Visual Basic “knows” 
which arguments are valid in the context of a CRecord because TheRaiser’s Edge type library exposes this 
information. The productivity boost gained here cannot be overstated. As you program with Raiser’s Edge objects, 
you will see that throughout the system, arguments are exposed to Intellisense in this fashion. 
An Alternate Method to Load Data Objects—The Database ID
Each record in TheRaiser’s Edge is stored in the database. To define database relationships and integrity, the 
records are assigned unique values by the Database Management System (DBMS). These values are called Primary 
Keys. Each top-level data object can be loaded using this key value with the “Load” method. The load method 
accepts just one argument, a long integer representing the primary key of the record you want to load. 
Searching pdf files for text - search text inside PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn how to search text in PDF document and obtain text content and location information
pdf make text searchable; pdf editor with search and replace text
Searching pdf files for text - VB.NET PDF Text Search Library: search text inside PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Learn How to Search Text in PDF Document and Obtain Text Content and Location Information in VB.NET application
how to make pdf text searchable; search pdf files for text
C
HAPTER
1
16
Code Sample
These code samples show the various ways to load a constituent data object for the hypothetical constituent 
“Michael Simpson”. Mr. Simpson has a social security number of 025-64-6381, and a database (primary key) of 
166.  
Using TheRaiser’s Edge Search Screen to Load Your Data Object
So far, we have seen how to load a data object given a specific search key. Many times this is a completely 
acceptable solution (for example, if you are building your own customized search screen). However, in some cases 
you may require a more robust search, or you may want to concentrate on your application and use as many 
pre-built components as possible. 
Dim oConstit as CRecord 
Set oConstit = New CRecord 
oConstit.Init REApplication.SessionContext 
'Load the record via the Social Security Number 
oConstit.LoadByField uf_Record_SOCIAL_SECURITY_NO, "025-64-6382" 
'Load the record via the Database ID 
oConstit.Load 166 
.NET PDF SDK - Description of All PDF Processing Control Feastures
combine, and consolidate multiple PDF files into one regular expressions; Find required text with page co Highly configurable for searching PDF text; Available in
searching pdf files for text; search pdf for text in multiple files
C# Word - Search and Find Text in Word
Load a Word File. File: Merge Word Files. File: Split Word file with various search options, like searching whole Word C# PDF: Example of Finding Text in Word.
convert pdf to searchable text online; pdf searchable text
E
SSENTIALS
17
TheRaiser’s Edge exposes its search screen as a programmable entity. Using the standard Raiser’s Edge search 
screen from Visual Basic code is easy. TheRaiser’s Edge search screen is referred to as a Service Object, meaning 
it is an object that provides easy access to Raiser’s Edge functionality. We are jumping ahead a little here—the 
many service objects provided by TheRaiser’s Edge are discussed later in this guide, but at this point it is 
important to at least introduce the concept of using the search screen to load a data object. 
Dim oConstit as CRecord
'Access the SearchScreen service object 
Dim oServices as REServices
Set oServices = New REServices
oServices.Init REApplication.SessionContext
'Declare variable used to access the SearchScreen
Dim oSearch As IBBSearchScreen      
'The services object exposes most common, useful interface dialogs
Set oSearch = oServices.CreateServiceObject(bbsoSearchScreen)
oSearch.Init REApplication.SessionContext
'"Tell" the search dialog to allow for a constituent search
oSearch.AddSearchType SEARCH_CONSTITUENT
'Show The Search form (See Figure 4)
oSearch.ShowSearchForm
'If The user didn't cancel - assign the 
'    record they selected to our data object
If Not oSearch.SelectedDataObject Is Nothing Then
Set oConstit = oSearch.SelectedDataObject
End If
C# PDF insert text Library: insert text into PDF content in C#.net
a single text character and text string to PDF files using online application, such as inserting text to PDF, deleting text from PDF, searching text in PDF
text select tool pdf; select text in pdf
VB.NET PDF: Basic SDK Concept of XDoc.PDF
text processing like text writing, extracting, searching, etc., are class provides APIs for converting PDF files to other the conversion from a PDF file to a
how to select text in pdf and copy; text searchable pdf
C
HAPTER
1
18
The search screen (from the UI, this is the Open screen) is the end result of the previous code sample. The end-user 
is presented with the standard Raiser’s Edge search dialog. If the end-user selects a record, the search service 
constructs the appropriate data object, which we access from code via the “SelectedDataObject” property. 
Updating Data Objects
Previously in this guide, we explored “Initializing and Releasing Objects” on page13 and “Loading a Data Object” 
on page15 of data objects. In this section, you learn how to use the data objects to update our database records.
VB.NET PDF insert text library: insert text into PDF content in vb
add a single text character and text string to PDF files in VB such as inserting text to PDF, deleting text from PDF, searching text in PDF, extracting text
find text in pdf files; search multiple pdf files for text
How to C#: Basic SDK Concept of XDoc.PDF for .NET
text processing like text writing, extracting, searching, etc., are class provides APIs for converting PDF files to other the conversion from a PDF file to a
search pdf documents for text; how to select text in a pdf
E
SSENTIALS
19
The Fields Property
Each data object shares a common and very important property—Fields. The Fields property exposes all the 
individual, updatable data elements that make up a data object. Instead of exposing a unique property for each field 
on a data object, which would be cumbersome and very hard to extend, Blackbaud’s developers built the Fields 
property. With the Fields property, when you access the Fields property from code, a list appears showing the 
constants for all valid fields on the object. This way, there is no time spent searching through hundreds of 
properties on an object just to find the Name field. This design also enables Blackbaud to easily add new fields as 
TheRaiser’s Edge evolves, without breaking any existing code. Review the code sample below. 
In this sample, you can see the developer has accessed the fields property of a gift data object. He is presented with 
a drop-down of all the available fields on a gift, and he is selecting “GIFT_fld_amt” (which represents the Gift 
Amount field on the gift record). Review the complete code sample below that loads a gift from the database into 
the gift data object, increments the Gift Amount field (by $10.00), and then saves the gift. 
This sample illustrates how simple it is to update your data using data objects. Remember, if we put invalid data 
into the amount field (for example, “xxxx”) when we issue the .Save method on the object, the data object raises a 
trappable error. 
Dim oGift As CGift
Set oGift = New CGift
oGift.Init REApplication.SessionContext
oGift.Load 2
'Update the gift amount field
'    Increment it by 10 dollars...
oGift.Fields(GIFT_fld_Amount) = oGift.Fields(GIFT_fld_Amount) + 10
'Save our changes 
oGift.Save
'Clean Up 
oGift.CloseDown 
Set oGift = Nothing
C# TIFF: How to Convert TIFF File to PDF Document in C# Project
end users who are searching for both single and batch image and document file conversion solutions for C#.NET application. Our C# TIFF to PDF Conversion SDK
how to make a pdf document text searchable; pdf select text
XDoc.HTML5 Viewer for .NET, All Mature Features Introductions
to search text-based documents, like PDF, Microsoft Office methods are offered, like searching content via supported document and image files using signatures.
pdf find highlighted text; find text in pdf image
C
HAPTER
1
20
Validation and Integrity
Data object validation goes much further than just filtering out bad data. Every Business Rule in the system is 
checked, both internal rules and rules your end-users established using Business Rules in TheRaiser’s Edge. For 
example, in TheRaiser’s Edge, if end-users attempt to over-apply a pledge payment, the following message 
appears. 
If a Visual Basic developer attempts to over-apply a pledge using Visual Basic code, a trappable error is raised with 
the same message (accessible via the err.description property on the Visual Basic Error object). You will learn 
about trapping and handling data object errors later. For now, it is important to understand this validation exists to 
maintain a high level of consistency and integrity in your database. 
The main point to remember is the object insulates your database, and no “garbage” can make it to the database 
without first being validated by the object. This rule applies to every facet of the data element. TheRaiser’s Edge 
uses code just like the code provided in the examples, so you can be sure that updates using data objects are 
consistent with updates made by end-users in the system. 
Adding and Deleting Data Objects
You can add and delete data objects with code. 
Adding a Record Using a Data Object
When an end-user wants to add a new constituent record to TheRaiser’s Edge, he clicks Records from the 
Raiser’s Edge bar, and then clicks New Individual or New Organization. You can also do this through code, as 
the following sample illustrates. 
'Create a new instance of the CRecord object
Dim oRec As CRecord
Set oRec = New CRecord
'Initialize the object by passing in a valid SessionContext
oRec.Init REApplication.SessionContext
'Set any values and save
oRec.Fields(RECORDS_fld_IS_CONSTITUENT) = "True"
oRec.Fields(RECORDS_fld_LAST_NAME) = "Bakker"
oRec.Save
'Always clean up. Objects with an Init() method typically 
'    have a CloseDown() method.
oRec.CloseDown
set oRec = Nothing
E
SSENTIALS
21
Since the CRecord object (remember, CRecord is the data object that represents a constituent in TheRaiser’s 
Edge) has only one required field, we are able to initialize a new object, set the contents of the Last name field, 
and issue a save. All top level objects are added in this exact same manner. Earlier in this guide, we discussed child 
objects and the object hierarchy. You access child objects only via a parent (top level) object. Therefore, child 
objects are added in a slightly different fashion. For more information about adding and deleting child objects in 
detail, see “Programming Child Objects and Collections” on page21.
Deleting a Record Using a Data Object
You learned how to load a data object from the database (see “Loading a Data Object” on page15 for more 
information). Deleting a record requires just one more line of code. This code sample builds on an earlier sample 
where we learned how to load a data object.
Programming Child Objects and Collections
In this section we examine the details of working with child objects. We also discuss the various types of object 
collections exposed in TheRaiser’s Edge model. 
What is a Child Object?
A child object cannot exist without a top-level object. To repeat an earlier example, if you need to add constituent 
codes to a record in TheRaiser’s Edge, you must first load a constituent record. When you need to add constituent 
codes programmatically, you must also first load and initialize the parent record. This is the best way to 
conceptualize child objects. 
Dim oConstit as CRecord
Set oConstit = New CRecord
oConstit.Init oSessionContext 
'Load the record via the Social Security Number
'  Note: we left out some error trapping here to keep the sample clear
'       (for example if this record didn't exist) 
oConstit.LoadByField uf_Record_SOCIAL_SECURITY_NO, "025-64-6382"
'Delete the Record using the Data Object's .Delete method
oConstit.Delete
oConstit.CloseDown
set oConstit = Nothing
C
HAPTER
1
22
In the following graphic, we see TheRaiser’s Edge constituent form. The form encapsulates all the child objects of 
a constituent. Note that the constituent codes are all children of this record and are available only through the 
constituent's CRecord object.
Child objects cannot be created, loaded, saved, initialized, or deleted. All these actions are accomplished via 
methods exposed by the child object’s parent object in the hierarchy. 
Child Collection Types
Now that you understand the concept of child objects, you can master the details. Not all child objects are the same. 
The various types of child objects and collections and the mechanics of programming objects and collections 
differ. 
• Collection Type 1 - “The Standard Child Collection” on page22
• Collection Type 2 - “The Child Top Collection” on page26
• Collection Type 3 - “The Child View Collection” on page28
• Collection Type 4 - “The Top View Collection” on page28
The Standard Child Collection
The most common use of child objects in TheRaiser’s Edge object model is via child collections. A child 
collection, which is collection of child objects, cannot exist without a top-level object. You can add and remove 
child objects from the collection, but you cannot save child objects without calling the parent’s save method. 
E
SSENTIALS
23
Why does this seemingly artificial constraint exist? Child objects depend on the parent’s save method because the 
parent may have to enforce rules governing membership in the collection. When the parent is saved, all the child 
objects in the collection are saved if they are dirty (meaning either their data has been changed since they were 
loaded, or they have been newly added), and all the objects that have been removed from the collection are deleted 
from the database. 
Common Structure Shared By All Child Collections
If you are familiar with programming using Visual Basic collections, then the methods and means for programming 
Raiser’s Edge child collections should seem quite natural. The following table lists the common methods and 
properties available on every child collection in TheRaiser’s Edge object model. 
Following standard collection object model design practices, TheRaiser’s Edge always has two closely related 
classes that handle exposing collections: the parent, which is always named in the plural form (for example, 
ConstituentCodes), and the child, which is always named in the singular form (for example, CConstituentCode).
Navigating Child Object Collections
The easiest, most efficient manner for navigating through (also referred to as iterating) child collections is through 
the Visual Basic “For Each” syntax. All collections support this format. Review the sample code below. 
Method
Description
Item
Returns a child object given an index.
Add
Creates a new child object, stores its membership in the collection, and returns a 
reference to it. 
Remove
Removes a child object from the collection. Once a child object is removed from a 
collection it cannot be used.
IBBMoveServer
Optional: This establishes how the “VCR” buttons on the form function. This is 
covered in detail in Programming Reference.
Count
Provides a count of the number of child objects in the collection.
'Code to initialize and load a CRecord object (oRecord) omitted for brevity.
Dim oCode as CConstituentCode
For Each oCode In oRecord.ConstituentCodes 
Debug.Print "The code is: " & oCode.Fields(CONSTITUENT_CODE_fld_CODE)
Next oCode
C
HAPTER
1
24
The code sample loops through each constituent code found linked to the constituent currently being referenced by 
the oRecord variable. When the last code is accessed, the loop automatically terminates. Here is a sample of the 
output from the code above. 
Updating Child Collection Elements
The previous graphic illustrates how easy it is to access the members of a child collection. To modify the child 
objects, we need only to add a line of code that updates the child data via its Fields property. 
'Code to initialize and load a CRecord object (oRecord) omitted for brevity.
Dim oCode as CConstituentCode
For Each oCode In oRecord.ConstituentCodes 
Debug.Print "The code is: " & oCode.Fields(CONSTITUENT_CODE_fld_CODE)
'Modify each constituent code, setting it's date 
'   from to December 13th, 1967
oCode.Fields(CONSTITUENT_CODE_fld_DATE_FROM) = "12/13/1967"
Next oCode
'Important!  None of the changes are saved until
'    the next line of code executes!!
oRecord.Save
Documents you may be interested
Documents you may be interested