how to show pdf file in asp.net c# : Select text in pdf SDK Library service wpf asp.net html dnn vba1-part1822

E
SSENTIALS
5
Note that we sometimes clarify points in the code samples using standard Visual Basic comments. To accentuate 
them, all comments appear in green. 
Raiser’s Edge Programming Essentials
This section covers the items that make the foundation of Raiser’s Edge programming. We introduce the terms and 
skills you need to use Raiser’s Edge objects, and we take you step-by-step through several simple examples. 
Objects and Object Models
This section provides a general overview of COM automation objects and object models. 
The Raiser’s Edge Type Library
TheRaiser’s Edge Type Library provides “early bound” access to the system’s objects and functions with any 
COM compatible language. 
The SessionContext
This section introduces the most important object in the system. No Blackbaud programming task can be tackled 
without using a SessionContext. 
Initializing and Releasing Objects
This section outlines the mechanics of creating and destroying objects, as almost every object in TheRaiser’s 
Edge must be initialized and released in the same fashion.
Data Objects
All data elements in TheRaiser’s Edge are modeled using data objects. Data objects provide a high-level COM 
programming interface to every data record in TheRaiser’s Edge.
User Interface (UI) Objects
User interface objects allow for programmatic access to many of the forms and windows that comprise 
TheRaiser’s Edge user interface. 
Service Objects
These objects provide a high-level interface to the system level functionality in various Raiser’s Edge modules 
such as QueryExport, and Reports. 
Advanced Concepts and Interfaces
This section discusses some advanced topics such as Interfaces and Transactions, that are available in TheRaiser’s 
Edge object model.
Select text in pdf - 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
how to select text in pdf reader; search pdf files for text programmatically
Select text in pdf - 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 select all text in pdf file; search pdf files for text
C
HAPTER
1
6
Objects and Object Models
TheRaiser’s Edge was built from the ground up using objects. Nearly everything you do in Visual Basic involves 
manipulating objects. 
Every data element —each constituent, gift, campaign, and so on —is an object that you can manipulate 
programmatically in Visual Basic. Once you understand how to work with objects, you are ready to program 
TheRaiser’s Edge
What Are Objects and Object Models?
TheRaiser’s Edge consists of two things: content and functionality. Content refers to the data elements the system 
contains: the constituents, gifts, contacts, campaigns, funds, and appeals. Content also refers to information about 
attributes of individual elements in the application, such as the amount of a gift or the number of registrants for an 
event. Functionality refers to all the ways you can work with the content in TheRaiser’s Edge— for example, 
opening, closing, adding, or deleting records in the application. 
Content and functionality are broken down into discrete, related units called objects. You are probably already 
familiar with some of these objects, as elements of TheRaiser’s Edge user interface. One example is the 
constituent record, which is presented as one window with many tabs allowing access to subsets of the 
constituent’s object model. 
To become a productive Raiser’s Edge programmer, it is important to understand how the object model is 
organized. We built this model with the goal of providing consistent, hierarchical access to all the data elements in 
the system. Blackbaud’s development team used these very same objects to build TheRaiser’s Edge
TheRaiser’s Edge object model has one major goal: to expose all important functionality and data needed to 
manipulate the database records and services in a high-level manner. 
The Raiser’s Edge Object Model
The Raiser’s Edge object model is best described as a group of object models. Each major record type in the 
system has its own hierarchical object model. For example, the Gift has a large model comprised of “child” objects 
such as installments, split funds, and attributes. The concept of a child object is an important one to grasp. By child 
object, we mean an object that is only accessible via an object that is above it in the object model. You cannot 
create child objects as free standing objects; they must be created via a method on their parent’s object. By building 
these models to reflect the layout of their real-world counterparts, the task of programming an extremely large, 
complicated relational database such as TheRaiser’s Edge is simplified to a manageable level. 
In addition to containing lower-level objects, each object in the hierarchy contains content that applies to both the 
object itself and all objects below it. 
Data Objects
TheRaiser’s Edge object model is based primarily around the data that the program manages. It does not expose 
the interface as a programmable entity. Because the key to your Raiser’s Edge system is the data that it manages, 
data objects are the key to programming TheRaiser’s Edge
Please remember...
Every Raiser’s Edge data element—such as each constituent, gift, campaign—is an object that you can 
manipulate programmatically in Visual Basic.
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
C#: Select All Images from One PDF Page. C# programming sample for extracting all images from a specific PDF page. C#: Select An Image from PDF Page by Position.
how to search pdf files for text; cannot select text in pdf file
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
VB.NET : Select An Image from PDF Page by Position. Sample for extracting an image from a specific position on PDF in VB.NET program.
pdf find and replace text; convert a scanned pdf to searchable text
E
SSENTIALS
7
Let’s take a look at a simple example. In TheRaiser’s Edge, constituents can be assigned a constituent code. 
Constituent codes are used to denote important information on each record (such as Alumni, Past Parent, Major 
Donor). A constituent can have any number of constituent codes on her record (in relational database terms there is 
said to be a “one-to-many” relationship between a record and its constituent codes). A constituent code has no 
meaning outside of a record. For this reason, in TheRaiser’s Edge data object model, the ConstituentCodes object 
is a child of the CRecord data object, which is the object in the system that represents constituents. 
In this diagram, we see that for each CRecord there is a child object named ConstituentCodes, and the 
ConstituentCodes object has child object named CConstituentCode. The ConstituentCodes object name is plural 
for a very important reason. It is a collection object. This means it is used to iterate through any number of children 
(in this case constituent codes). All collection objects in TheRaiser’s Edge object model can be navigated using 
“For Each” syntax, which is the standard for navigating VBA collections. Take a look at the next code sample. 
Don't worry about the details—they are introduced later in this guide. 
The Raiser’s Edge Type Library
The easiest and most efficient way to use Raiser’s Edge objects is through the provided type library. A type library 
is a language independent file that provides type information about the components, interfaces, methods, constants, 
enumerations, and properties exposed by TheRaiser’s Edge. While this online guide discusses only Visual Basic, 
type libraries can be used from any language (for example, in Microsoft Visual C++, the developer can use the 
#import statement). 
Using Early Bound Objects and the Type Library
Without using a type library, Visual Basic is limited to communicating to components through the dispatch 
interface, which is slow and provides no compile-time syntax checking. Once you have a reference to TheRaiser’s 
Edge Type Library, you can use the object browser provided by Visual Basic to explore the objects, and can easily 
get help on any property or method. 
'Note: The code to initialize and load a CRecord (oRecord) 
'    object omitted for brevity
Dim oConsCode as CConstituentCode
'Print all of this constituent's constit codes to the 
'    VBA debug window
For Each oConsCode in oRecord.ConstituentCodes 
Debug.Print oConsCode.Fields(CONSTITUENT_CODE_fld_CODE) 
Next oConsCode
VB.NET PDF Text Redact Library: select, redact text content from
Page. PDF Read. Text: Extract Text from PDF. Text: Search Text in PDF. Image: Extract Image from PDF. VB.NET PDF - Redact PDF Text. Help
pdf text search tool; search text in multiple pdf
C# PDF Text Redact Library: select, redact text content from PDF
Page: Rotate a PDF Page. PDF Read. Text: Extract Text from PDF. Text: Search Text in PDF. C#.NET PDF SDK - Redact PDF Text in C#.NET.
find and replace text in pdf; how to make a pdf file text searchable
C
HAPTER
1
8
Another incredible productivity gain that becomes available when using type libraries with Visual Basic 5.0 and 
higher (or VBA) is Intellisense. If you have worked with VB or VBA, you have probably noticed while 
programming with objects that when you hit “.” after an object variable defined as a type described in a type library 
(or Visual Basic component) the code editor appears and displays a list similar to the one in the following graphic. 
VB’s Intellisense feature displays only the properties and methods that are available on the object. In the above 
graphic, you see properties and methods such as Actions, Addresses, Aliases. These are all child objects that are 
available for a CRecord object. VB can only work this magic if you are using an early-bound object. By 
early-bound, we mean an object variable that is declared as a specific type. Take a look at the following code 
sample.
Using the Type Library from VBA
When you have the optional module VBA, the system automatically sets a reference to TheRaiser’s Edge Type 
Library when you start VBA. Each of the two provided VBA projects has a reference to the library. 
'This variable is late bound.  While it will still work, 
'    it will incur significant runtime overhead, and it will 
'    yield no intellisense
Dim oRecord As Object 
Set oRecord = New CRecord
'This early-bound variable provides optimal speed and
'    access to the VB/VBA intellisense feature.
Dim oRecordEarly As CRecord
Set oRecordEarly = New CRecord
For more information about VBA, see the VBA chapter.
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Tools Tab. Item. Name. Description. 1. Select tool. Select text and image on PDF document. 2. Hand tool. Pan around the document. Go To Tab. Item. Name. Description
text searchable pdf; search pdf documents for text
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Tools Tab. Item. Name. Description. 1. Select tool. Select text and image on PDF document. 2. Hand tool. Pan around the document. Go To Tab. Item. Name. Description
select text pdf file; select text in pdf reader
E
SSENTIALS
9
Accessing the References Dialog
You can manually set a reference to the library by selecting Tools, References from the menu bar in VBA
VB.NET PDF - View PDF with WPF PDF Viewer for VB.NET
Tools Tab. Item. Name. Description. Ⅰ. Hand. Pan around the PDF document. Ⅱ. Select. Select text and image to copy and paste using Ctrl+C and Ctrl+V.
find text in pdf files; find and replace text in pdf file
C# WPF PDF Viewer SDK to view PDF document in C#.NET
Tools Tab. Item. Name. Description. Ⅰ. Hand. Pan around the PDF document. Ⅱ. Select. Select text and image to copy and paste using Ctrl+C and Ctrl+V.
how to select text on pdf; search pdf for text in multiple files
C
HAPTER
1
10
Setting a Reference to The Raiser’s Edge Type Library
When you select References, the References dialog appears with a list of various type library references already 
set. The most important of these (for our purposes) is Blackbaud Raisers Edge 7 Objects. This is the reference you 
must set to gain early-bound access to Raiser’s Edge Objects. 
Using the Type Library from an API Application
If you have the optional module API, you need to set a reference to the type library from any Visual Basic project 
that you want to gain early-bound access to Raiser’s Edge objects. 
Note...
If you unmark the System  checkbox, you must exit TheRaiser’s Edge and enter the program again to restore 
System references. System references load when you enter TheRaiser’s Edge. Therefore, if you try to add the 
reference back on the References dialog, an Automation error generates. 
C# WPF PDF Viewer SDK to annotate PDF document in C#.NET
Click to select drawing annotation with default properties. Other Tab. Item. Name. Description. 17. Text box. Click to add a text box to specific location on PDF
how to search text in pdf document; how to search a pdf document for text
C# Image: Select Document or Image Source to View in Web Viewer
Supported document formats: TIFF, PDF, Office Word, Excel, PowerPoint, Dicom; Supported Viewer Library enables Visual C# programmers easily to select and load
pdf select text; find text in pdf image
E
SSENTIALS
11
Accessing the References Dialog from Visual Basic 5.0 and Higher
To set a reference to the library from Visual Basic 5.0 or higher, create a new VB project and select Project, 
References from the menu bar.
The Raiser’s Edge Object Fundamentals
This section introduces the mechanics of using Raiser’s Edge objects. First we introduce “The SessionContext” on 
page11, which is the key to Raiser’s Edge programming. Next, we explain some important methods involved in 
“Initializing and Releasing Objects” on page13. We also break down each object type in the system and provide 
code samples and discuss how to use them. 
The SessionContext
Whenever you use an object exposed by TheRaiser’s Edge object model, it must be initialized first. All objects are 
initialized with a very important object parameter, the SessionContext. The SessionContext is the key to 
programming TheRaiser’s Edge. This object holds information regarding the state of the active instance of 
TheRaiser’s Edge application. 
When you create new instances of objects and initialize them with a SessionContext, the object queries the 
SessionContext for important information they need to operate (for example, a handle to the low-level database 
connection interface). 
Please remember....
The SessionContext is the key to programming TheRaiser’s Edge. This object holds information regarding the 
state of the active instance of TheRaiser’s Edge application
C
HAPTER
1
12
Accessing the SessionContext from VBA
When the VBA environment is initialized, TheRaiser’s Edge exposes its SessionContext via the API object. The 
API object is a global object available to VBA. The most important property on the API object is the 
SessionContext. The code sample initializes a CGift object for use in VBA
Accessing the Session Context from API
Like VBA, objects must be initialized when using API. It is important to understand that while a few differences 
exist, once you understand Raiser’s Edge object programming, the same rules apply to both VBA and the API
An API application obtains its reference to the SessionContext via the API object. Unlike the REApplication 
object, which is automatically initialized and available to VBA in the running instance of TheRaiser’s EdgeAPI 
must be initialized by the programmer. The code sample accomplishes the same task as the previous VBA sample. 
Note the similarities to the earlier VBA sample. The first three lines of code in the sample remain constant for any 
API application and are usually placed in a section of your API application that is executed only once (for example, 
in your main form’s Load event). 
Dim oGift as CGift
Set oGift = New CGift
'Use the REApplication object to get a reference to the 
'     SessionContext
oGift.Init REApplication.SessionContext
'Load Gift 1
oGift.Load 1
'Release reference to Gift Object
oGift.CloseDown
Dim oAPI as REAPI
'Initialize the API and log in
Set oAPI = New REAPI
'Log in as Raiser's Edge user Judy with password "Admin"
oAPI.Init "Judy", "Admin"
Dim oGift as CGift
Set oGift = New CGift
'Use the API object to get a reference to the 
'    SessionContext
oGift.Init oAPI.SessionContext
'Load Gift 1
oGift.Load 1
'Release reference to Gift Object
oGift.CloseDown
E
SSENTIALS
13
Initializing and Releasing Objects
To properly initialize a Raiser’s Edge object, you pass a reference to the SessionContext. Almost every top-level 
object in TheRaiser’s Edge is initialized this way.
The Init and CloseDown Methods
The VBA code sample is representative of almost every sample of object programming code you see in the 
TheRaiser’s Edge
Initialize (.Init) with a SessionContext and release (.CloseDown) the object when you are done. If you attempt to 
use a Raiser’s Edge object without properly initializing it, a trappable runtime error is raised. 
Closing down objects can be harder. If you fail to properly CloseDown an object, potentially all the object 
resources remain “alive” and in memory. To many developers, this is known as a “memory leak”. The objects 
attempt to detect this situation and raise errors in many situations if a .CloseDown call was not made. In some cases 
this type of leak cannot be detected immediately, leading to some hard-to-track bugs. Remember, if it has an .Init 
method, it probably has a .CloseDown method also, and you should always make sure you call them both. 
Data Objects
Most Raiser’s Edge programming involves data objects. As discussed in “Objects and Object Models” on page6, 
data objects provide a high-level abstraction layer over the records in the underlying Raiser’s Edge database. In 
this section we learn the basics of programming with data objects. 
Dim oGift as CGift
Set oGift = New CGift
'Initialize the oGift via the init method
oGift.Init REApplication.SessionContext
' Load Gift 10
oGift.Load 10
' Properly release reference to Gift Object using the CloseDown method
oGift.CloseDown
C
HAPTER
1
14
Data Object Hierarchy
To manipulate a data record in your Raiser’s Edge system, you initialize and load the appropriate data object. 
TheRaiser’s Edge object model provides a data object for every editable record in your system. Only a select few 
data objects can be instantiated and loaded. Most data objects are “children” of another object in the hierarchy. For 
example, your database may have thousands of constituents who are coded with a constituent code of AL 
(Alumni). Therefore, in your database there are thousands of ALUMNI constituent code records stored. Alone, 
each of these records has little value. However, they do have meaning in the context of the specific constituent to 
which they are related. The constituent code object is accessed as a “child” of the constituent object (CRecord, to 
be exact). 
What Are “Top Level” Objects?
Understanding the parent-child data object relationship is a key concept to grasp as you move forward with data 
object programming. Throughout this guide, you see objects at the top of the object hierarchy referred to as “Top 
Level Objects”; any objects that are accessible only via a top level object are referred to as “child” objects. 
Which objects are parents and which are children? The easiest way to familiarize yourself with the hierarchy is to 
look at
The Raiser’s Edge
application. When end-users are performing day-to-day data entry chores, they access 
records through the Records page in TheRaiser’s Edge
shell
The previous graphic shows the standard Raiser’s Edge Records page. The highlighted buttons are top level 
objects. Just as the end-user must first open a Constituent to access his constituent codes, you, as the developer, 
must load a constituent object first before navigating to the constituent’s constituent codes. 
In addition to the items above, constituent relationships and event participants are also top level objects. 
Documents you may be interested
Documents you may be interested