open pdf file in new tab in asp.net c# : How to delete text in pdf document SDK software service wpf winforms asp.net dnn pdflib-manual-5_0212-part1339

5.3  Placing Images and Imported PDF Pages 121
5.3.2 Adjusting the Page Size
In the next example (see Figure 5.7) we will automatically adjust the page size to the ob-
ject’s size. This can be useful, for example, for archiving images in the PDF format. The 
reference point (x, y) can be used to specify whether the page will be exactly the object’s 
size, or somewhat larger or smaller. When enlarging the page size (see Figure 5.7) some 
border will be kept around the image; when the page size is smaller than the image 
some parts of the image will be clipped. Let’s start with exactly matching the page size 
to the object’s size:
PDF_fit_image(p, image, 0, 0, "adjustpage");
The next code fragment makes the page size larger by 40 units in x and y direction than 
the object, resulting in some border around the object:
PDF_fit_image(p, image, 40, 40, "adjustpage");
The next code fragment makes the page size smaller by 40 units in x and y direction 
than the object. The object will be clipped at the page borders, and some area within the 
object (with a width of 40 units) will be invisible:
PDF_fit_image(p, image, -40, -40, "adjustpage");
Fig. 5.5
The orientate option
Fig. 5.6
The rotate option
Fig. 5.7
Adjusting the page size. Left to 
right: exact, enlarge, shrink
How to delete text in pdf document - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
how to delete text from pdf with acrobat; acrobat delete text in pdf
How to delete text in pdf document - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
delete text from pdf with acrobat; delete text from pdf online
122
Chapter 5:  Importing and Placing Objects
In addition to placing by means of x and y coordinates (which specify the object’s dis-
tance from the page edges, or the coordinate axes in the general case) you can also spec-
ify a target box. This is a rectangular area in which the object will be placed subject to 
various formatting rules. These can be controlled with the boxsize, fitmethod and position 
options.
Fitting an object to a box. First, let’s place a company logo in the upper right area of 
the page (see Figure 5.8). The size of the target rectangle where the logo is to appear is 
fixed. However, we don’t know how to scale the logo so that it fits into the box while 
avoiding any distortion (the ratio of width and height must not be changed). The follow-
ing statement does the job:
PDF_fit_image(p, image, 350, 750, "boxsize {200 100} position 0 fitmethod meet");
This code fragment places the lower left corner of a box which is 200 units wide and 100 
units high (boxsize {200 100}) at the point (350, 750). The object’s lower left corner will be 
placed at the box’s lower left corner (position 0). The object will be scaled without any 
distortion to make its height and/or width exactly fit into the box (fitmethod meet).
This concept offers a broad range of variations. For example, the position option can 
be used to specify which point within the object is to be used as the reference point 
(specified as a percentage of width and height). The position option will also specify the 
reference point within the target box. If both width and height position percentages are 
identical it is sufficient to specify a single value. For example, position 50 can be used to 
select the object’s and box’s midpoint as reference point for placing the object.
Clipping an object when fitting it to the box. Using another flavor of the fitmethod op-
tion we can clip the object such that it exactly fits into the target box (see Figure 5.9). In 
this case the object won’t be scaled:
PDF_fit_image(p, image, 50, 80, "boxsize {100 400} position 50 fitmethod clip");
This code fragment places a box of width 100 and heigth 400 (boxsize {100 400}) at the 
coordinates (50, 80). The object will be placed in its original size in the middle of the box 
(position 50), and will be cropped if it exceeds the box (fitmethod clip).
Fig. 5.8
Fitting an object
to the box
Fig. 5.9
Clipping an object when 
fitting it to the box
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
VB.NET PDF - How to Delete PDF Document Page in VB.NET. Visual Basic Sample Codes to Delete PDF Document Page in VB.NET Class. Free
how to delete text from a pdf reader; how to erase pdf text
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
C#.NET PDF Library - Delete PDF Document Page in C#.NET. Provide C# Users in C#.NET. How to delete a single page from a PDF document.
how to edit and delete text in pdf file online; delete text pdf document
5.3  Placing Images and Imported PDF Pages 123
Adjusting an object to the page. Adjusting an object to a given page size can easily be 
accomplished by choosing the page as target box for placing the object. The following 
statement uses an A4-sized page with dimensions 595 x 842:
PDF_fit_image(p, image, 0, 0, "boxsize {595 842} position 0 fitmethod slice");
In this code fragment a box is placed at the lower left corner of the page. The size of the 
box equals the size of an A4 page. The object is placed in the lower left corner of the box 
and scaled proportionally until it fully covers the box and therefore the page. If the ob-
ject exceeds the box it will be cropped. Note that fitmethod slice results in the object be-
ing scaled (as opposed to fitmethod clip which doesn’t scale the object). Of course the 
position and fitmethod options could also be varied in this example.
Fitting a logo to the page. How can we achieve the rotated company logo in Figure 
5.10? It is rotated by 90 degrees counterclockwise, starts in the lower left corner, and 
covers the full height of the page:
PDF_fit_image(p, image, 0, 0, "boxsize {595 842} orientate west fitmethod meet");
The reference point is (0, 0) and orientation is specified as orientate west. In order to 
make the logo cover the full page height we choose the box height to be equal to the 
page height (842), and choose a large enough value for the box’s width (595). The logo’s 
proportions should not be changed, therefore we choose fitmethod meet.
Fig. 5.10
Fitting a logo to the page
C# PDF Text Extract Library: extract text content from PDF file in
Free online source code for extracting text from adobe PDF document in C#.NET class. Ability to extract highlighted text out of PDF document.
pdf text remover; pdf editor online delete text
VB.NET PDF Text Extract Library: extract text content from PDF
SharePoint. Extract text from adobe PDF document in VB.NET Programming. Extract file. Extract highlighted text out of PDF document. Image
how to remove text watermark from pdf; delete text from pdf preview
124
Chapter 5:  Importing and Placing Objects
C# PDF insert text Library: insert text into PDF content in C#.net
C#.NET PDF SDK - Insert Text to PDF Document in C#.NET. This C# coding example describes how to add a single text character to PDF document. // Open a document.
how to erase in pdf text; remove text from pdf acrobat
C# PDF metadata Library: add, remove, update PDF metadata in C#.
C#.NET PDF SDK - Edit PDF Document Metadata in C#.NET. Allow C# Developers to Read, Add, Edit, Update and Delete PDF Metadata in .NET Project.
how to remove highlighted text in pdf; delete text pdf file
6.1  Overview of the PDFlib Block Concept 125
6Variable Data and Blocks
PDFlib supports a template-driven PDF workflow for variable data processing. Using the 
concept of blocks, imported pages can be populated with variable amounts of text, im-
ages, or PDF graphics which can be pulled from an external source. This can be used to 
easily implement applications which require customized PDF documents, for example:
>mail merge
>flexible direct mailings
>transactional and statement processing
>business card personalization
Note The block processing features discussed in this chapter require the PDFlib Personalization Server 
(PPS). Although PPS is integrated in all precompiled editions of PDFlib, you must purchase a li-
cense key for PPS; a PDFlib or PDFlib+PDI license key is not sufficient. The PDFlib Block plugin for 
Adobe Acrobat is required for creating blocks in PDF templates.
6.1 Overview of the PDFlib Block Concept
6.1.1 Complete Separation of Document Design and Program Code
PDFlib data blocks make it easy to place variable text over imported pages. In contrast to 
simple PDF pages, pages containing data blocks intrinsically carry information about 
the required processing which will be performed later on the server side. The PDFlib 
block concept completely separates the following tasks:
>A designer creates the page layout, and specifies the location of variable text and im-
age elements along with relevant properties such as font size, color, or image scaling. 
After creating the layout as a PDF document, the designer uses the PDFlib Block plug-
in for Acrobat to specify variable data blocks and their associated properties.
>A programmer writes code to connect the information contained in PDFlib blocks on 
imported PDF pages with some dynamic information, e.g., database fields. The pro-
grammer doesn’t need to know any details about a block (whether it contains a name 
or a ZIP code, the exact location on the page, its formatting, etc.) and is therefore in-
dependent from any layout changes. PDFlib will take care of all block-related details 
based on the block properties found in the file.
In other words, the code written by the programmer is »data-blind«, i.e., it is generic and 
does not depend on the particulars of any block. For example, the designer may decide 
to use the first name of the addressee in a mailing instead of the last name. The generic 
block handling code doesn’t need to be changed, and will generate correct output once 
the designer changed the block properties with the Acrobat plugin to use the first name 
instead of the last name.
Example: adding variable text to a template. Adding dynamic text to a PDF template 
is a very common task. The following code fragment will open a page in an input PDF 
document (the template), place it on the output page, and fill some variable text into a 
text block called firstname:
doc = PDF_open_pdi(p, filename, "", 0);
if (doc == -1) {
printf("Couldn't open PDF template '%s'\n", filename);
C# PDF Text Search Library: search text inside PDF file in C#.net
C#.NET. C# Guide about How to Search Text in PDF Document and Obtain Text Content and Location Information with .NET PDF Control.
how to delete text in pdf document; delete text from pdf file
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
All text content of target PDF document can be copied and pasted to .txt files by keeping original layout. C#.NET class source code
how to delete text in pdf acrobat; remove text from pdf online
126
Chapter 6:  Variable Data and Blocks
return (1);
}
page = PDF_open_pdi_page(p, doc, pageno, "");
if (page == -1) {
printf("Couldn't open page %d of PDF template '%s'\n", pageno, filename);
return (2);
}
PDF_begin_page(p, width, height);
PDF_fit_pdi_page(p, page, 0.0, 0.0, "");
PDF_fill_textblock(p, page, "firstname", "Serge", 0, "encoding winansi");
PDF_close_pdi_page(p, page);
PDF_end_page(p);
6.1.2 Block Properties
The behavior of blocks can be controlled with block properties. The properties are as-
signed to a block with the PDFlib Block plugin for Acrobat.
Standard block properties. PDFlib blocks are defined as rectangles on the page which 
are assigned a name, a type, and an open set of properties which will later be processed 
on the server side. The name is an arbitrary string which identifies the block, such as 
firstname, lastname, or zipcode. PDFlib supports the following kinds of blocks:
>Type Text means that the block will hold some textual data.
>Type Image means that the block will hold a raster image. This is similar to importing 
a TIFF or JPEG file in a DTP application.
>Type PDF means that the block will hold arbitrary PDF graphics imported from a page 
in another PDF document. This is similar to importing an EPS graphic in a DTP appli-
cation.
A block may carry a number of standard properties depending on its type. For example, 
a text block may specify the font and size of the text, an image or PDF block may specify 
the scaling factor or rotation. For each type of block the PDFlib API offers a dedicated 
function for processing the block. These functions search an imported PDF page for a 
block by its name, analyze its properties, and place some client-supplied data (text, ras-
ter image, or PDF page) on the new page according to the corresponding block proper-
ties.
Custom block properties. Standard block properties make it possible to quickly imple-
ment variable data processing applications, but these are limited to the set of properties 
which are internally known to PDFlib and can automatically be processed. In order to 
provide more flexibility, the designer may also assign custom properties to a block. 
These can be used to extend the block concept in order to match the requirements of 
the most demanding variable data processing applications.
There are no rules for custom properties since PDFlib will not process custom prop-
erties in any way, except making them available to the client. The client code can exam-
ine the custom properties and act in whatever way it deems appropriate. Based on some 
custom property of a block the code may make layout-related or data-gathering deci-
sions. For example, a custom property for a scientific application could specify the 
number of digits for numerical output, or a database field name may be defined as a 
custom block property for retrieving the data corresponding to this block.
6.1  Overview of the PDFlib Block Concept 127
Overriding block properties. In certain situations the programmer would like to use 
only some of the properties provided in a block definition, but override some other 
properties with custom values. This can be useful in various situations:
>The scaling factor for an image or PDF page will be calculated instead of taken from 
the block definition.
>Change the block coordinates programmatically, for example when generating an 
invoice with a variable number of data items.
>Individual spot color names could be supplied in order to match the requirements of 
individual customers in a print shop application.
Property overrides can be achieved by supplying property names and the correspond-
ing values in the option list of all PDF_fill_*block( ) functions as follows:
PDF_fill_textblock(p, page, "firstname", "Serge", 0, "fontsize 12");
This will override the block’s internal fontsize property with the supplied value 12. Al-
most all names of general properties can be used as options, as well as those specific to a 
particular block type. For example, the underline option is only allowed for PDF_fill_
textblock( ), while the scale option is allowed for both PDF_fill_imageblock( ) and PDF_fill_
pdfblock( ) since scale is a valid property for both image and PDF blocks.
Property overrides apply only to the respective function calls; they will not be stored 
in the block definition.
Coordinate systems. The coordinates describing a block reference the PDF default co-
ordinate system. When the page containing the block is placed on the output page, sev-
eral positioning and scaling options may be supplied to PDF_fit_pdi_page( ). These pa-
rameters are taken into account when the block is being processed. This makes it 
possible to place a template page on the output page multiply, every time filling its 
blocks with data. For example, a business card template may be placed four times on an 
imposition sheet. The block functions will take care of the coordinate system transfor-
mations, and correctly place the text for all blocks in all invocations of the page. The 
only requirement is that the client must place the page and then process all blocks on 
the placed page. Then the page can be placed again at a different location on the output 
page, followed by more block processing operations referring to the new position, and 
so on.
Note The Block plugin will display the block coordinates differently from what is stored in the PDF 
file. The plugin uses Acrobat’s convention which has the coordinate origin in the top left corner 
of the page, while the internal coordinates (those stored in the block) use PDF’s convention of 
having the origin in the bottom left corner of the page.
6.1.3 Why not use PDF Form Fields?
Experienced Acrobat users may ask why we implemented a new block concept for 
PDFlib, instead of relying on the established form field scheme available in PDF. The pri-
mary distinction is that PDF form fields are optimized for interactive filling, and PDFlib 
blocks are targeted at automated filling. Applications which need both interactive and 
automated filling can easily achieve this by using a feature which automatically con-
verts form fields to blocks (see Section 6.2.4, »Converting PDF Form Fields to PDFlib 
Blocks«, page 133).
128
Chapter 6:  Variable Data and Blocks
Although there are many parallels between both concepts, PDFlib blocks offer sever-
al advantages over PDF form fields as detailed in Table 6.1.
Table 6.1 Comparison of PDF form fields and PDFlib blocks
Feature
PDF form fields
PDFlib blocks
design objective
for interactive use
for automated filling
typographic features (beyond 
choice of font and font size)
kerning, word and character spacing, underline/
overline/strikeout
font control
font embedding
font embedding and subsetting, encoding
merged result is integral part of PDF 
page description
no
yes
users can edit merged field contents yes
no
extensible set of properties
no
yes (custom block properties)
color support
RGB
grayscale, RGB, CMYK, spot color, Lab
PDF/X compatible
no
yes (both template with blocks and merged results)
graphics and text properties can be 
overridden upon filling
no
yes
6.2  Creating PDFlib Blocks 129
6.2 Creating PDFlib Blocks
6.2.1 Installing the PDFlib Block Plugin
The Block plugin and its sibling, the PDF form field conversion plugin (see Section 6.2.4, 
»Converting PDF Form Fields to PDFlib Blocks«, page 133), work only with the full ver-
sion of Acrobat 5, Acrobat 6 Standard and Acrobat 6 Professional. The plugins don’t 
work with Acrobat 6 Elements or any version of Acrobat Reader/Adobe Reader.
Note If the PDFlib Block plugin doesn’t seem to work make sure that in Edit, Preferences, [General...], 
Startup (Acrobat 6) or Options (Acrobat 5) the »Use only certified plug-ins« box is unchecked.
Installing the PDFlib Block plugins for Acrobat on Windows. To install the PDFlib Block 
plugin and the PDF form field conversion plugin in Acrobat 5 or 6 the plugin files must 
be copied to a subdirectory in the Acrobat plugin folder. This is done automatically by 
the plugin installer, but can also be done manually. On Windows the plugin files are 
Block.api and AcroFormConversion.api, and a typical location of the PDFlib plugin folder 
looks as follows:
C:\Program Files\Adobe\Acrobat 6.0\Acrobat\plug_ins\PDFlib
Installing the PDFlib Block plugins for Acrobat on the Mac. With Acrobat 6 the plugin 
folder will no be visible in the finder. Instead of dragging the plugin files to the plugin 
folder use the following steps:
>Extract the plugin files by double-clicking the disk image.
>Make sure Acrobat is not running.
>Locate the Acrobat application icon in the finder. It is usually located in a folder 
which has a name similar to the following:
/Applications/Adobe Acrobat 6.0 Professional
>Single-click on the icon and select File, Get Info.
>In the window that pops up click the triangle next to Plug-ins.
>Click Add... and select the PDFlib folder from the folder which has been created in the 
first step. Note that the PDFlib folder will not immediately show up in the list of plug-
ins, but only when you open up the info window next time.
To install the plugins for Acrobat 5, start by double-clicking the disk image. Drag the 
PDFlib folder to the Acrobat 5 plugin folder. A typical plugin folder name is as follows:
/Applications/Adobe Acrobat 5.0/Plug-Ins
6.2.2 Creating Blocks interactively with the PDFlib Block Plugin
Using the PDFlib Block tool. The PDFlib Block plugin to create PDFlib blocks is similar 
to the form tool in Acrobat. All blocks on the page will be visible when the block tool is 
active. When another Acrobat tool is selected the blocks will be hidden, although they 
are still present. You can activate the block tool in several ways:
>by clicking the block icon 
in Acrobat’s Advanced Editing toolbar (in Acrobat 5: 
Editing toolbar);
>via the menu item PDFlib Blocks, PDFlib Block Tool;
130
Chapter 6:  Variable Data and Blocks
>by using the keyboard shortcut P (in Acrobat 6 make sure to enable Edit, Preferences, 
[General...], General, Use single key accelerators to access tools, which is disabled by de-
fault).
Creating and modifying blocks. Once you selected the block tool you can simply drag 
the cross-hair pointer to create a block at the desired position on the page and the de-
sired size. Blocks will always be rectangular with edges parallel to the page edges. When 
you create a new block the block properties dialog appears where you can edit various 
properties of the block (see Section 6.2.3, »Editing Block Properties«, page 132). The block 
tool will automatically create a block name which can be changed in the properties dia-
log. Block names must be unique within a page. You can change the block type in the 
General tab to one of Text, Image, or PDF. The General and Custom tabs will always be 
available, while only one of the Text, Image, and PDF tabs will be active at a time de-
pending on the chosen block type.
To delete one or more blocks, select it with the block tool and press the Delete key.
Note After you added blocks or made changes to existing blocks in a PDF, use Acrobat’s »Save« Com-
mand (as opposed to »Save as...«) to achieve smaller file sizes.
Note When using the Acrobat plugin Enfocus PitStop to edit documents which contain PDFlib blocks 
you may see the message »This document contains PieceInfo from PDFlib. Press OK to continue 
editing or Cancel to abort.« This message can be ignored; it is safe to click OK in this situation.
Fine-tuning block size and position. Using the block tool you can select an existing 
block by clicking on it, and move it to a different position. Hold down the Shift key 
while dragging a block to restrain the positioning to horizontal and vertical move-
ments. This may be useful for exactly aligning blocks. When the pointer is located near a 
block corner, the pointer will change to an arrow and you can resize the block. To adjust 
the position or size of multiple blocks, select two or more blocks and use the Align, Cen-
ter, Distribute, or Size commands from the PDFlib Blocks menu. The position of one or 
more blocks can also be changed by using the arrow keys.
Copying one or more blocks. You can create copies of one or blocks by selecting the 
blocks (use the shift key to select multiple blocks), and dragging them to a new location 
while pressing the Ctrl key (on Windows) or Alt key (on the Mac). The mouse cursor will 
change while the key is pressed. A copied block will have the same properties as the 
original block, with the exception of its name which will automatically be changed.
Creating blocks by selecting an image or graphic. As an alternative to manually drag-
ging block rectangles you can use some page content to define the block size. First, make 
sure that the menu item PDFlib Blocks, Click Object to define Block is active. Now you can 
use the block tool to click on an image on the page in order to create a block with the size 
of the image. You can also click on other graphical objects, and the block tool will try to 
select the surrounding graphic (e.g., a logo). The Click Object feature is intended as an aid 
for defining blocks. If you want to reposition or resize the block you can do so after-
wards without any restriction. The block will not be locked to the image or graphics ob-
ject which was used as a positioning and sizing aid.
The Click Object feature will try to recognize which vector graphics and images form a 
logical element on the page. When some page content is clicked its bounding box (the 
surrounding rectangle) will be selected unless the object is white or very large. In the 
Documents you may be interested
Documents you may be interested