how to show pdf file in asp.net c# : Make pdf text searchable application control cloud html azure web page class vba3-part1829

E
SSENTIALS
25
It is very important to note that the constituent code changes were not immediately committed to the database. 
Remember, child objects do not have a save method; the top-level parent (in this case the oRecord object variable) 
is responsible for the save. When we issue oRecord.Save, all the changes made are validated against any system 
and end-user Business Rules. If the rules “pass” all the rule checks, the records are committed to the database. If a 
rule fails to be validated, TheRaiser’s Edge raises a trappable runtime error. For example, one of the rules that 
apply to constituent codes is the Date from field must come before (chronologically) the Date to field. So, in the 
example above, if we had a constituent code child element that already has a date to of “12/12/1967”, TheRaiser’s 
Edge would yield the following error.
As we mentioned earlier in this guide, this internal checking is paramount to preserving database integrity. You 
simply cannot “corrupt” your Raiser’s Edge data from Visual Basic code. The same rules that apply to an end-user 
apply to your data objects. 
Accessing Specific Child Elements
Like any Visual Basic collection, Raiser’s Edge child objects can be accessed directly via the Item method. Things 
become more advance here. Since a Raiser’s Edge child collection is providing high-level access to underlying 
database records, the developers at Blackbaud needed to “overload” the behavior of the item method, providing 
multiple ways to use it depending on the context of how it is accessed. For example, if you pass in a string (For 
example, “66”), the Item method returns the child object whose database ID field is equal to 166. If you pass in a 
number (For example, 166), then the item method will return the “nth” member of the collection. 
To ensure consistent access to collections across the object model, we provide these two different methods. The 
most common use of the Item method of a child collection is to pass it a numeric parameter, accessing the nth item. 
This becomes more evident when we discuss sorting later in this section. When we work with top-level collections, 
the value of accessing collection elements via the database ID becomes more clear. 
'Access the 5th element in the collection
With oRec.ConstituentCodes.Item(5)
Debug.Print .Fields(CONSTITUENT_CODE_fld_DATE_FROM)
End With
'Access an element of the collection that has an
'    underlying database id (primary key) of 5.
With oRec.ConstituentCodes.Item("5")
Debug.Print .Fields(CONSTITUENT_CODE_fld_DATE_FROM)
End With
Make pdf text searchable - 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 text select tool; search text in pdf image
Make pdf text searchable - 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
search text in multiple pdf; pdf text search
C
HAPTER
1
26
The Child Top Collection
The child top collection is slightly different from a standard child collection. The first major difference lies in the 
fact that the child top collection is a collection of top-level objects accessible via another top-level object. The 
collections we have looked at so far are children of a specific top-level object; the child elements cannot exist 
without the parent. What if top-level objects are related in TheRaiser’s Edge? This is when child top collections 
come into use. For example, a campaign object in TheRaiser’s Edge is a top-level object, but campaigns can be 
linked to multiple funds, which are also top-level objects. 
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
What should be noted here is that our PDF to text converting library Thus, please make sure you have installed VS 2005 or above versions and .NET Framework
convert pdf to searchable text online; how to select text in a pdf
VB.NET Image: Robust OCR Recognition SDK for VB.NET, .NET Image
can be Png, Jpeg, Tiff, image-only PDF or Bmp following sample codes demonstrate how to extract text from bmp of image file formats, so you can make all desired
search a pdf file for text; search pdf for text
E
SSENTIALS
27
With TheRaiser’s Edge Enterprise, the Campaigns tab is not a child top collection. It is view only. 
VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net
API, users will be able to convert a PDF file or a certain page to text and easily save Before you get started, please make sure that you have installed the
how to select text on pdf; pdf find text
Online Convert PDF to Text file. Best free online PDF txt
We try to make it as easy as possible to convert your PDF NET solution for Visual C# developers to convert PDF document to editable & searchable text file.
converting pdf to searchable text format; select text in pdf file
C
HAPTER
1
28
This is the standard fund record form presented by TheRaiser’s Edge. In this graphic, the end-user has navigated 
to the Campaigns tab of a fund record. The campaigns linked to the Building Fund are highlighted. To link another 
campaign to the fund, the end-user would simply click the binoculars in the grid and an Open search screen would 
appear with a list of campaigns that exist in the database. From here, the end-user could select an additional 
campaign to link to the fund. The important thing to remember is the user is not entering any “new” data. She is 
simply linking this fund to an existing campaign. The same applies to programmatic manipulation of a child top 
collection. The child top collection has an “add” method just like any collection. However, the “add” method of a 
child top collection accepts one argument, which is a reference to an existing top-level object. The code sample 
below explains this. 
The Child View Collection
Child view collections are collections that allow you to navigate to a subset of a particular true child collection. 
You cannot add to or remove from these collections using standard collection methods because they are just views 
of another collection. Their membership is determined by other factors (many times, by very specific methods on 
the parent object). A good example of a child view collection is the InstallmentPayments collection exposed by the 
gift object. Due to the many issues involved in paying off pledge installments, it is not practical for the mechanics 
of paying a pledge to be handled via a simple add method. A specific object is used to handle this process, the 
PledgePayer (this is discussed later in the guide). Child view collections have the following methods.
The Top View Collection
The top view collection is a collection in which you to enumerate a top-level object. These objects are useful if you 
want to process all the instances of a given object in the system. Top view collections have no add or remove 
methods since adding and removing top-level data objects is achieved through methods on the top-level objects 
themselves. 
'Load fund record 1
Dim oFund as CFund
Set oFund = New CFund
oFund.Init REApplication.SessionContext
oFund.Load 12
'Get the first campaign in the system
'    by navigating to the first element in top level campaigns collection
Dim oCamps As CCampaigns
Set oCamps = New CCampaigns
oCamps.Init REApplication.SessionContext
Dim oCamp As CCampaign
Set oCamp = oCamps.Item(1)
'Add the campaign to this fund's Campaigns collection
oFund.Campaigns.Add oCamp
'...Cleanup code omitted 
Method
Description
Item
Returns a child object given an index.
Count
Provides a count of the number of child objects in the collection.
VB.NET Create PDF Library SDK to convert PDF from other file
Create writable PDF file from text (.txt) file in VB.NET project. Creating a PDF document is a good way to share your ideas because you can make sure that
pdf editor with search and replace text; text searchable pdf
OCR Images in Web Image Viewer | Online Tutorials
a document and convert it to a searchable PDF file; page provides detailed information for recognizing text from scanned in Web Document Viewer, make sure that
how to select text in pdf reader; how to select text in pdf and copy
E
SSENTIALS
29
One powerful feature of top view collections is the ability to apply a filter to the collection when it is initialized so 
that only a specific subset of objects are included. For example, you may want to only include active campaigns 
when using the CCampaigns collection. In this case, you pass the correct filter constant 
(tvf_Campaign_ActiveOnly) and as the collection is initialized, it contains only campaigns that have been marked 
as active. This additional parameter is optional. 
Each top-level object has a corresponding top view collection. Remember, a distinguishing characteristic of a 
collection is that the object’s name takes the plural form. The table below lists all the top-level objects and their 
corresponding collections. The Record Type column refers to the record as it is represented in TheRaiser’s Edge. 
The Data Object column lists the corresponding data object that is used to manipulate the record type 
programmatically. The Collection Object column lists the top view collection object that can be used to navigate 
the record’s top view collection.
'Define a variable to navigate the top view collection.
Dim oAllCamps as CCampaigns
Dim oCamp as CCampaign
Set oAllCamps = new Ccampaigns
oAllCamps.Init REApplication.SessionContext, tvf_Campaign_ActiveOnly
For Each oCamp in oAllCamps
Debug.Print oCamp.Fields(Campaign_fld_Description)
Next oCamp
Record Type
Description
Collection Object
Constituent
CRecord
CRecords
Gift 
CGift
CGifts
Action
CAction
CActions
Fund
CFund
CFunds
Campaign
CCampaign
CCampaigns
Appeal
CAppeal
CAppeals
Membership
CMembership
CMemberships
Job
CJob
CJobs
Special Event
CSpecialEvent
CSpecialEvents
VB.NET Image: Start with RasterEdge .NET Imaging SDK in Visual
dll: With this dll, users are capable of recognizing text from scanned documents, images or existing PDF documents and creating searchable PDF-OCR in VB.NET.
convert a scanned pdf to searchable text; how to make pdf text searchable
C
HAPTER
1
30
Adding and Deleting Child Objects 
Now that we have discussed child objects and the different types of child collections, we can look at how to add or 
delete a child object. Although there are many different types of child objects, the process to add or remove a child 
object is the same. It is important to remember that the changes are not actually made to the database until the 
parent record’s save method is called.
Adding a Child Object
To create a new top-level object, you have to use the VB construct of (for example, Set oRecord = New CRecord). 
However, this does not work for child objects because child objects cannot be created without a top-level object 
and are always contained within a child collection. Therefore, the first step is to load the top-level object you want 
to add to. Next, use the collection’s Add method to return a new child object to use. At this point, the object is a 
member of the collection but is not added to the database until the save method is called. The following code 
sample explains how this is done.
The important point to remember is that the Add method of the collection is the only way to create a new child 
object. All child objects are added using the same process.
Please remember....
It is important to remember that changes are not actually made to the database until the parent record’s Save 
method is called.
'This initializes and loads the parent record
Dim oRecord As CRecord
Set oRecord = New CRecord
oRecord.Init REApplication.SessionContext
oRecord.LoadByField uf_Record_CONSTITUENT_ID, 75
'Create a CConstituentCode child object
Dim oConsCode As CConstituentCode
'The Add method returns a reference to a new CConstituent Code
' object in the CConstituentCodes collection
Set oConsCode = oRecord.ConstituentCodes.Add
'Set the values for the different fields
oConsCode.Fields(CONSTITUENT_CODE_fld_CODE) = "Current Parent"
oConsCode.Fields(CONSTITUENT_CODE_fld_DATE_FROM) = "1/1/1998"
'This step saves the new constituent code information to the database
oRecord.Save
'Clean up!
oRecord.CloseDown
Set oRecord = Nothing 
E
SSENTIALS
31
Deleting a Child Object
Deleting a child object is very similar to adding a child object. First, you must load the parent object and then call 
the collection’s remove method. This removes the child object from the collection you must call the parent’s save 
method before the object is actually removed. Similar to the Item method discussed earlier, the Remove method is 
overloaded, providing two different ways to specify the child object to remove. The Remove method accepts either 
the actual object or the object’s Item number as parameters. Review an example of both.
Either method accomplishes the same task. The situation determines the best method to use. When you remove a 
child object, no warning message appears, so you should add a warning that the end-user is about to delete 
information.
Sorting Collections
After you know how to access and move through collections, you may want to arrange the objects in a different 
order from the way they normally appear in the collection. Not all collections can be sorted in this manner, but 
many of the more commonly used collections do support sorting. 
When sorting collections, you must keep a couple of very important things in mind. 
• First, when using the Item method, remember that it returns the nth member based on the current sort. 
• Second, when using top view collections, it is possible to filter out top-level objects using a query. 
If you filter the collection using a query, the query order is retained regardless of following settings. 
SortField
You can use the SortField property to specify any data field available in the member object to be the field used to 
sort the entire collection. With the use of IntelliSense and Enums, it is very easy to choose the field you would like 
to sort by.
'This removes oConstituentCode from the collection
oRec.ConstituentCodes.Remove oConstituentCode
'This removes the 2nd element from the collection
oRec.ConstituentCodes.Remove 2
'The object is not actually removed from the database until this step
oRec.Save
C
HAPTER
1
32
SortOrder
The SortOrder property allows you to sort in either ascending or descending order. If no SortOrder is specified, 
then the default order is ascending.
Filtering Data Object Collections
Collections contain many methods and properties that make it easy to move through them to gather the information 
you need. If you do not need to see all the child objects in a collection, you can use a query to filter the child objects 
in your collection. In top-level collections, you can filter the child objects in the collection based on a query. 
To filter a top-level collection, use the query ID of the query you want to filter. To get this query ID, you can use 
the LoadByField method covered in “Loading a Data Object” on page15. Otherwise, you can iterate through the 
QueryObjects collection to find the query. The query type must match the record type of the collection. For 
example, if you are using a CRecords collection, the query you use must be a Constituent query. If you specify a 
query of the wrong type, a trappable error message appears.
'Initialize collection
Dim oFunds As CFunds
Set oFunds = New CFunds
oFunds.Init REApplication.SessionContext
'Set the Field and Order for the sort
oFunds.SortOrder = Descending
oFunds.SortField = FUND_fld_DESCRIPTION
'Loop through the collection
For Each oFund In oFunds
Debug.Print oFund.Fields(FUND_fld_DESCRIPTION)
Next oFund
E
SSENTIALS
33
Once you know the query ID, set the property FilterQueryID equal to this query ID. The collection returns only 
child objects contained in that query. Note the child objects are sorted into the collection in the same order as in the 
query. 
Error Handling
Before you resolve errors generated during program processing, it is important to understand the possible ways 
TheRaiser’s Edge objects can “communicate” with your programming. As you program, many times a 
TheRaiser’s Edge object needs to return information to your programs. For example, using a query to filter the 
objects in our collection. If you tried to use a campaign query to filter a fund collection, this would not work. The 
object needs some way to communicate this back to the program, so that you can resolve this problem. You can use 
two methods to accomplish this:
• “Return Code Based” on page33
• “Error Code Based” on page33
Return Code Based
If you use return values, object methods are set up to return an error code if they are unsuccessful. Advantages to 
this include enabling you (in fact, almost forcing you) to handle every possible error as it happens. The downside is 
that it can be cumbersome to explicitly check for every possible error throughout your code.
Error Code Based
The alternative is to use VB’s built-in capability to raise errors, which is what Raiser’s Edge objects do. If proper 
error handling is not in place, these errors can cause our program to abort. Fortunately, handling errors in VB is 
very simple and offers many flexible ways to resolve errors. Depending on how you structure error handlers, you 
can handle each error in the subroutine in which it occurs, allow it to cascade back to a central error handler for the 
entire program, or use a variation of the two. 
Dim oQuery As CQueryObject
Set oQuery = New CQueryObject
oQuery.Init REApplication.SessionContext
'This loads the query that is named Major Donors.
oQuery.LoadByField uf_QUERY_NAME, "Major Donors"
Dim oRecords As CRecords
Set oRecords = New CRecords
oRecords.Init REApplication.SessionContext
'This tells the collection which query (Major Donors) to filter with.
oRecords.FilterQueryID = oQuery.Fields(QUERIES2_fld_QUERIESID)
'From here on, we can use the oRecords collection and it will only
'    contain cRecord objects that are in the Major Donor query.
C
HAPTER
1
34
When an error is raised, we can access information about the error by using the Err object provided by VB
Err.Description is a helpful property that tells you the reason for the error, such as failing to specify all required 
fields when adding a Raiser’s Edge new fund through code. 
If we ran this code, the CFund object would raise an error and we would get a message box similar to the one 
below. 
User Interface (UI) Objects
As you learned previously, it is very easy to access, change, and save data using Raiser’s Edge objects. To get the 
information you need from the end-user, you must have some sort of user interface (UI). In many instances, you 
need to design a custom form in order to accomplish your design goals. In some cases, you may want to use a form 
that already exists in TheRaiser’s Edge. Using an existing Raiser’s Edge form in your project is a simple way to 
save programming time and makes your program easier to use because the forms are familiar.
Dim oFund As CFund
Set oFund = New CFund
oFund.Init REApplication.SessionContext
oFund.Fields(FUND_fld_DESCRIPTION) = "The Sullivan Scholarship Fund"
On Error GoTo ErrorHandler
oFund.Save
'This turns the Error Handler off.
On Error GoTo 0    
'Clean up!
oFund.CloseDown
Set oFund = Nothing
'Always place an Exit Sub before the Error Handler
'    to prevent entering the Error Handler unintentionally.
Exit Sub
ErrorHandler:   
MsgBox Err.Description, vbOKOnly
'This returns processing back to the line after where the error occurred
Resume Next
End Sub 
Documents you may be interested
Documents you may be interested