open pdf file in new tab in asp.net c# : Remove text from pdf reader SDK software project winforms windows html UWP PDFlib-manual10-part1359

4.7  Chinese, Japanese, and Korean Text 101
4.7.3 Custom CJK Fonts
In addition to Acrobat’s standard CJK fonts PDFlib supports custom CJK fonts (fonts out-
side the list in Table 4.5) in the TrueType (including TrueType Collections, TTC) and 
OpenType formats. A custom CJK font will be processed as follows:
> The font will be converted to a CID font and embedded in the PDF output regardless 
of the embedding setting provided by the client. Since PDFlib respects font embed-
ding restrictions which may be defined in a font, fonts which do not allow embed-
ding can not be used as custom CJK fonts.
> By default, font subsetting will be applied to all embedded custom CJK fonts; this can 
be controlled with various parameters, see Section 4.3, »Font Embedding and Subset-
ting«, page 78.
> Proportional Latin characters and half-width characters are fully supported for cus-
tom CJK fonts.
Note Original Composite Fonts (OCF) and raw PostScript CID fonts are not supported. Windows 
EUDC fonts are supported.
Supported encodings for custom CJK fonts. Custom CJK fonts can be used with the fol-
lowing encodings:
> unicode encoding.
> 8-bit encodings (although these are unlikely to be useful for CJK text)
> glyphid addressing (see Section 4.2.2, »TrueType and OpenType Fonts«, page 75)
The textformat parameter will be evaluated for custom CJK fonts.
Restrictions for custom CJK fonts. The following features are currently not supported 
for custom CJK fonts:
> Encodings other than those listed above can not be used. In particular, the CMaps 
listed in Table 4.6 can not be used with custom CJK fonts, but only with the standard 
CJK fonts.
> Vertical writing mode is not implemented.
> Font names must be encoded in ASCII. For example, Japanese font names can not be 
used; instead, the corresponding English font name must be provided.
Custom CJK font example. The following example uses the ArialUnicodeMS font to 
display some Chinese text. The font must either be installed on the system or must be 
configured according to Section 4.3.1, »Making Fonts available to PDFlib«, page 78):
/* This is not required if the font is installed on the system */
PDF_set_parameter(p, "FontOutline", "ArialUnicodeMS=ARIALUNI.TTF");
font = PDF_load_font(p, "ArialUnicodeMS", 0, "unicode", "");
PDF_setfont(p, font, 24);
PDF_set_text_pos(p, x, y);
/* We use UTF-16 format with big-endian (BE) byte ordering */
PDF_set_parameter(p, "textformat", "utf16be");
PDF_show2(p, "\x4e\x00\x50\x0b\x4e\xba", 6);
Remove text from pdf reader - 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
delete text from pdf; how to erase text in pdf
Remove text from pdf reader - 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
acrobat delete text in pdf; delete text from pdf preview
102
Chapter 4:  Text Handling
4.8 Placing and Fitting Text
The function PDF_fit_textline( ) for placing a single line of text on a page offers a wealth 
of formatting options. The most important options will be discussed in this section us-
ing some common application examples. A complete description of these options can 
be found in Table 7.10. Most options for PDF_fit_textline( ) are identical to those of PDF_
fit_image( ) . Therefore we will only use text-related examples here; it is recommended 
to take a look at the examples in Section 5.3, »Placing Images and Imported PDF Pages«, 
page 115, for an introduction.
The examples below demonstrate only the relevant call of the function PDF_fit_
textline( ) , assuming that the required font has already been loaded and set in the de-
sired font size.
PDF_fit_textline( ) uses the so-called text box to determine the positioning of the text: 
the width of the text box is identical to the width of the text, and the box height is iden-
tical to the height of capital letters in the font. The text box can be extended to the left 
and right or top and bottom using the margin option. The margin will be scaled along 
with the text line.
4.8.1 Simple Text Placement
Placing text in the bottom center. We place text at the reference point such that the 
text box will be positioned with the center of its bottom line at the reference point (see 
Figure 4.6):
PDF_fit_textline(p, text, 297, 0, "position {50 0}");
This code fragment places the text box with the bottom center (position {50 0}) at the ref-
erence point (297, 0).
Placing text in the top right corner. Now we place the text at the reference point such 
that the text box will be placed with the upper right corner at the reference point (see 
Figure 4.7):
PDF_fit_textline(p, text, 595, 842, "position 100");
Kraxi
Kraxi
Fig. 4.6
Placing text in the
bottom center
Fig. 4.7
Placing text in the upper 
right corner
C# PDF remove image library: remove, delete images from PDF in C#.
to PDF; Merge PDF Files; Split PDF Document; Remove Password from Image Extract; VB.NET Write: Insert text into PDF; VB.NET Annotate: PDF Markup & Drawing. XDoc.Word
deleting text from a pdf; how to delete text from pdf
VB.NET PDF remove image library: remove, delete images from PDF in
Remove PDF image in preview without adobe PDF reader component in VB.NET Except PDF text processing function, RasterEdge XDoc.PDF for .NET has image
how to delete text in pdf converter; how to delete text from pdf document
4.8  Placing and Fitting Text 103
This code fragment places the text box with the upper right corner (position 100) at the 
reference point (595, 842).
Placing text with a margin. To extend the previous example we can add a horizontal 
margin to the text to achieve a certain distance to the right. This may be useful for plac-
ing text in table columns:
PDF_fit_textline(p, text, 595, 842, "position 100 margin {20 0}");
4.8.2 Placing Text in a Box
Placing centered text in a box. We define a box and place the text centered within the 
box (see Figure 4.8):
PDF_fit_textline(p, text, 10, 200, "boxsize {500 220} position 50");
This code fragment places the text centered (position 50) in a box with the lower left cor-
net at (10, 200), 500 units wide and 220 units high (boxsize {500 220}). 
Proportionally fitting text to a box. We extend the previous example and fit the text 
into the box completely (see Figure 4.9):
PDF_fit_textline(p, text, 10, 200, "boxsize {500 220} position 50 fitmethod meet");
Note that the font size will be changed when text is fit into the box with fitmethod meet. 
In order to prevent the text from being scaled up use auto instead of meet.
Completely fitting text to a Box. We can further modify the previous example such 
that the text will not be fit into the box proportionally, but completely covers the box. 
However, this combination will only rarely be used since the text may be distorted (see 
Figure 4.10):
PDF_fit_textline(p, text, 10, 200, "boxsize {500 220} position 50 fitmethod entire");
Kraxi
Fig. 4.8
Placing centered text in a 
box
Fig. 4.10
Completely fitting text to a 
box
Kraxi
K
r
a
x
i
Fig. 4.9
Proportionally fitting text to 
a box
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Able to remove a single page from adobe PDF document in VB.NET. Ability to remove consecutive pages from PDF file in VB.NET. Enable
delete text pdf preview; how to delete text in a pdf file
VB.NET PDF Password Library: add, remove, edit PDF file password
Remove password from PDF. Dim outputFilePath As String = Program.RootPath + "\\" Remove.pdf" ' Remove password in the input file and output to a new file.
how to delete text from a pdf reader; how to delete text in pdf file
104
Chapter 4:  Text Handling
4.8.3 Aligning Text
Simple alignment. Our next goal is to rotate text such that its original lower left cor-
ner will be placed at a given reference point (see Figure 4.11). This may be useful, for ex-
ample, for placing a rotated column heading in a table header:
PDF_fit_textline(p, text, 5, 5, "orientate west");
This code fragment orientates the text to the west (90˚ counterclockwise) and then 
translates it the lower left corner of the rotated text to the reference point (5, 5).
Aligning text at a vertical line. Positioning text along a vertical line (i.e., a box with 
zero width) is a somewhat extreme case which may be useful nevertheless (see Figure 
4.12):
PDF_fit_textline(p, text, 0, 0, "boxsize {0 600} position {0 50} orientate west");
This code fragment rotates the text, and places it at the center of the line from (0, 0) to 
(0, 600).
K
r
a
x
i
K
r
a
x
i
Fig. 4.11
Simple Aligning
Fig. 4.12
Aligning text at a vertical line
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
console application. Able to remove a single page from PDF document. Ability to remove a range of pages from PDF file. Free trial package
delete text pdf files; how to remove text watermark from pdf
C# PDF Password Library: add, remove, edit PDF file password in C#
String outputFilePath = Program.RootPath + "\\" Remove.pdf"; // Remove password in the input file and output to a new file. int
erase text from pdf; pdf editor delete text
5.1  Importing Raster Images 105
5Importing and Placing Objects
PDFlib offers a variety of features for importing raster images and pages from existing 
PDF documents, and placing them on the page. This chapter covers the details of deal-
ing with raster images and importing pages from existing PDF documents. It also pre-
sents samples which demonstrate how to place images and PDF pages on an output 
page.
5.1 Importing Raster Images
5.1.1 Basic Image Handling
Embedding raster images with PDFlib is easy to accomplish. First, the image file has to 
be opened with a PDFlib function which does a brief analysis of the image parameters. 
The PDF_load_image( ) function returns a handle which serves as an image descriptor. 
This handle can be used in a call to PDF_fit_image( ), along with positioning and scaling 
parameters:
if ((image = PDF_load_image(p, "jpeg", "image.jpg", 0, "")) == -1) {
fprintf(stderr,"Error: Couldn't read image file.\n");
} else {
PDF_fit_image(p, image, 0.0, 0.0, "");
PDF_close_image(p, image);
}
The last argument to PDF_fit_image( ) is an option list which supports a variety of op-
tions for positioning, scaling, and rotating the image. Details regarding these options 
are discussed in Section 5.3, »Placing Images and Imported PDF Pages«, page 115.
Re-using image data. PDFlib supports an important PDF optimization technique for 
using repeated raster images. Consider a layout with a constant logo or background on 
multiple pages. In this situation it is possible to include the actual image data only once 
in the PDF, and generate only a reference on each of the pages where the image is used. 
Simply load the image file once, and call PDF_fit_image( ) every time you want to place 
the logo or background on a particular page. You can place the image on multiple pages, 
or use different scaling factors for different occurrences of the same image (as long as 
the image hasn’t been closed). Depending on the image’s size and the number of occur-
rences, this technique can result in enormous space savings.
Inline images. As opposed to reusable images, which are written to the PDF output as 
image XObjects, inline images are written directly into the respective content stream 
(page, pattern, template, or glyph description) . This results in some space savings, but 
should only be used for small amounts of image data (up to 4 KB) per a recommenda-
tion in the PDF reference. The primary use of inline images is for bitmap glyph descrip-
tions in Type 3 fonts.
Inline images can be generated with the PDF_load_image( ) interface by supplying the 
inline option. Inline images cannot be reused, i.e., the corresponding handle must not be 
supplied to any call which accepts image handles. For this reason if the inline option has 
been provided PDF_load_image( ) internally performs the equivalent of
C# PDF Digital Signature Library: add, remove, update PDF digital
to PDF; Merge PDF Files; Split PDF Document; Remove Password from Image Extract; VB.NET Write: Insert text into PDF; VB.NET Annotate: PDF Markup & Drawing. XDoc.Word
delete text pdf; remove text watermark from pdf
C# PDF bookmark Library: add, remove, update PDF bookmarks in C#.
Ability to remove and delete bookmark and outline entry.GetLocation()); Console.WriteLine("Text: " + entry.GetText NET Sample Code: Update PDF Document Outline
delete text from pdf acrobat; delete text pdf acrobat professional
106
Chapter 5:  Importing and Placing Objects
PDF_fit_image(p, image, 0, 0, "");
PDF_close_image(p, image);
Scaling and dpi calculations. PDFlib never changes the number of pixels in an import-
ed image. Scaling either blows up or shrinks image pixels, but doesn’t do any downsam-
pling (the number of pixels in an image will always remain the same). A scaling factor of 
1 results in a pixel size of 1 unit in user coordinates. In other words, the image will be im-
ported at 72 dpi if the user coordinate system hasn’t been scaled (since there are 72 de-
fault units to an inch).
5.1.2 Supported Image File Formats
PDFlib deals with the image file formats described below. If possible, PDFlib passes the 
compressed image data unchanged to the PDF output since PDF internally supports 
most compression schemes used in common image file formats. This technique (called 
pass-through mode in the descriptions below) results in very fast image import, since de-
compressing the image data and subsequent recompression are not necessary. How-
ever, PDFlib cannot check the integrity of the compressed image data in this mode. In-
complete or corrupt image data may result in error or warning messages when using 
the PDF document in Acrobat (e.g., Read less image data than expected).
If an image file can’t be imported successfully PDF_load_image( ) will return an error 
code by default. However, if you need to know more details about the failure set the 
imagewarning option in PDF_load_image( ) to true (see Section 7.6, »Image and Template 
Functions«, page 175). Alternatively, the imagewarning parameter can be set on a global 
basis:
PDF_set_parameter(p, "imagewarning", "true");
/* enable image warnings */
This will cause PDF_load_image( ) to raise an exception with more details about the fail-
ure in the corresponding exception message.
PNG images. PDFlib supports all flavors of PNG images (Portable Network Graphics). 
PNG images are handled in pass-through mode in most cases. PNG images which make 
use of interlacing, contain an alpha channel (which will be lost anyway, see below), or 
have 16 bit color depth will have to be uncompressed, which takes significantly longer 
than pass-through mode. If a PNG image contains transparency information, the trans-
parency is retained in the generated PDF (see Section 5.1.3, »Image Masks and Transpar-
ency«, page 108). However, alpha channels are not supported by PDFlib.
JPEG images. JPEG images are always handled in pass-through mode. PDFlib supports 
the following flavors of JPEG image compression:
> Baseline JPEG compression which accounts for the vast majority of JPEG images.
> Progressive JPEG compression.
JPEG images can be packaged in several different file formats. PDFlib supports all com-
mon JPEG file formats, and will read resolution information from the following flavors:
> JFIF, which is generated by a wide variety of imaging applications.
> JPEG files written by Adobe Photoshop and other Adobe applications. PDFlib applies 
a workaround which is necessary to correctly process Photoshop-generated CMYK 
JPEG files.
5.1  Importing Raster Images 107
Note PDFlib does not interpret resolution information from JPEG images in the SPIFF file format, nor 
color space information from JPEG images in the EXIF file format.
GIF images. GIF images are always handled in pass-through mode (PDFlib does not 
implement LZW decompression). PDFlib supports the following flavors of GIF images:
> Due to restrictions in the compression schemes supported by the PDF file format, 
the entry in the GIF file called »LZW minimum code size« must have a value of 8 bits. 
Unfortunately, there is no easy way to determine this value for a certain GIF file. An 
image which contains more than 128 distinct color values will always qualify (e.g., a 
full 8-bit color palette with 256 entries). Images with a smaller number of distinct 
colors may also work, but it is difficult to tell in advance because graphics programs 
may use 8 bits or less as LZW minimum code size in this case, and PDFlib may there-
fore reject the image. The following trick which works in Adobe Photoshop and simi-
lar image processing software is known to result in GIF images which are accepted by 
PDFlib: load the GIF image, and change the image color mode from »indexed« to 
»RGB«. Now change the image color mode back to »indexed«, and choose a color pal-
ette with more than 128 entries, for example the Mac or Windows system palette, or 
the Web palette.
> The image must not be interlaced.
For other GIF image flavors conversion to the PNG graphics format is recommended.
Note In a particular test case PDFlib converted a GIF image to a PDF file which displays just fine, but 
results in a PostScript error when printed to a PostScript Level 2 or 3 printer. Since the problem 
does not occur with Ghostscript, we consider this a bug in the PostScript interpreter. You can 
work around the problem by selecting PostScript Level 1 output in Acrobat’s print dialog.
TIFF images. PDFlib will handle most TIFF images in pass-through mode. PDFlib sup-
ports the following flavors of TIFF images:
> compression schemes: uncompressed, CCITT (group 3, group 4, and RLE), ZIP (=Flate), 
LZW (with restrictions), and PackBits (=RunLength) are handled in pass-through 
mode; other compression schemes are handled by uncompressing.
> color: black and white, grayscale, RGB, and CMYK images; any alpha channel or mask 
which may be present in the file will be ignored.
> TIFF files containing more than one image (see Section 5.1.5, »Multi-Page Image 
Files«, page 111)
> Color depth must be 1, 2, 4, or 8 bits per color sample (this is a requirement of PDF).
Multi-strip TIFF images are converted to multiple images in the PDF file which will visu-
ally exactly represent the original image, but can be individually selected with Acrobat’s 
TouchUp object tool. Multi-strip TIFF images can be converted to single-strip images 
with the tiffcp command line tool which is part of the TIFFlib package.
1
The Image-
Magick
2
tool always writes single-strip TIFF images.
Some TIFF features (e.g., CIEL*a*b* color space, JPEG compression) and certain combi-
nations of features (e.g., LZW compression and alpha channel or mask, LZW compres-
sion and tiling) are not supported.
Note Converting certain flavors of CCITT group 3 compressed TIFF images with PDFlib may trigger 
the message »Read less image data than expected« in Acrobat 4. Since the problem does not 
1. See http://www.libtiff.org 
2. See http://www.imagemagick.org 
108
Chapter 5:  Importing and Placing Objects
exist in Ghostscript or Acrobat 5, and the image displays just fine despite the error message, we 
consider this a bug in Acrobat 4. You may be able to work around it by choosing a different TIFF 
compression scheme.
BMP images. BMP images cannot be handled in pass-through mode. PDFlib supports 
the following flavors of BMP images:
> BMP versions 2 and 3;
> color depth 1, 4, and 8 bits per component, including 3 x 8 = 24 bit TrueColor;
> black and white or RGB color (indexed and direct); 
> uncompressed as well as 4-bit and 8-bit RLE compression;
> PDFlib will not mirror images if the pixels are stored in bottom-up order (this is a 
rarely used feature in BMP which is interpreted differently in applications).
CCITT images. Group 3 or Group 4 fax compressed image data are always handled in 
pass-through mode. Note that this format actually means raw CCITT-compressed image 
data, not TIFF files using CCITT compression. Raw CCITT compressed image files are usu-
ally not supported in end-user applications, but can only be generated with fax-related 
software. Since PDFlib is unable to analyze CCITT images, all relevant image parameters 
have to be passed to PDF_load_image( ) by the client.
Raw data. Uncompressed (raw) image data may be useful for some special applica-
tions. The nature of the image is deduced from the number of color components: 1 com-
ponent implies a grayscale image, 3 components an RGB image, and 4 components a 
CMYK image.
5.1.3 Image Masks and Transparency
Transparency in PDF. PDF supports various transparency features, all of which are im-
plemented in PDFlib:
> Masking by position: an image may carry the intrinsic information »print the fore-
ground or the background«. This is realized by a 1-bit mask image, and is often used 
in catalog images.
> Masking by color value: pixels of a certain color are not painted, but the previously 
painted part of the page shines through instead (»ignore all blue pixels in the im-
age«). In TV and video technology this is also known as bluescreening, and is most of-
ten used for combining the weather man and the map into one image.
> PDF 1.4 introduced alpha channels or soft masks. These can be used to create a 
smooth transition between foreground and background, or to create semi-transpar-
ent objects (»blend the image with the background«). Soft masks are represented by 
1-component images with 1-8 bits per pixel.
PDFlib supports three kinds of transparency information in images: implicit transpar-
ency, explicit transparency, and image masks.
Implicit transparency. In the implicit case, the transparency information from an ex-
ternal image file is respected, provided the image file format supports transparency or 
an alpha channel (this is not the case for all image file formats). Transparency informa-
tion is detected in the following image file formats:
> GIF image files may contain a single transparent color value which is respected by 
PDFlib.
5.1  Importing Raster Images 109
> PNG image files may contain several flavors of transparency information, or a full al-
pha channel. PDFlib will retain single transparent color values; if multiple color val-
ues with an attached alpha value are given, only the first one with an alpha value be-
low 50 percent is used. A full alpha channel is ignored.
Explicit transparency. The explicit case requires two steps, both of which involve im-
age operations. First, an image must be prepared for later use as a transparency mask. 
This is accomplished by opening the image with the mask option. In PDF 1.3, which sup-
ports only 1-bit masks, using this option is required; in PDF 1.4 it is optional. The follow-
ing kinds of images can be used for constructing a mask:
> PNG images
> TIFF images (only single-strip)
> raw image data
Pixel values of 0 in the mask will result in the corresponding area of the masked image 
being painted, while high pixel values result in the background shining through. If the 
pixel has more than 1 bit per pixel, intermediate values will blend the foreground image 
against the background, providing for a transparency effect. In the second step the 
mask is applied to another image which itself is acquired through one of the image 
functions:
mask = PDF_load_image(p, "png", maskfilename, 0, "mask");
if (mask == -1)
return;
sprintf(optlist, "masked %d", mask);
image = PDF_load_image(p, type, filename, optlist)
if (image == -1)
return;
PDF_fit_image(p, image, x, y, "");
Note the different use of the option list for PDF_load_image( ): mask for defining a mask, 
and masked for applying a mask to another image.
The image and the mask may have different pixel dimensions; the mask will auto-
matically be scaled to the image’s size.
Note PDFlib converts multi-strip TIFF images to multiple PDF images, which would be masked indi-
vidually. Since this is usually not intended, this kind of images will be rejected both as a mask 
as well as a masked target image. Also, it is important to not mix the implicit and explicit cases, 
i.e., don’t use images with transparent color values as mask.
Image masks. Image masks are images with a bit depth of 1 (bitmaps) in which 0-bits 
are treated as transparent: whatever contents already exist on the page will shine 
through the transparent parts of the image. 1-bit pixels are colorized with the current 
fill color. The following kinds of images can be used as image masks:
> PNG images
> TIFF images (single- or multi-strip)
> JPEG images (only as soft mask, see below)
> raw image data
Image masks are simply opened with the mask option, and placed on the page after the 
desired fill color has been set:
110
Chapter 5:  Importing and Placing Objects
mask = PDF_load_image(p, "tiff", maskfilename, 0, "mask");
PDF_setcolor(p, "fill", "rgb", (float) 1, (float) 0, (float) 0, (float) 0);
if (mask != -1) {
PDF_fit_image(p, mask, x, y, "");
}
If you want to apply a color to an image without the 0-bit pixels being transparent you 
must use the colorize option (see Section 5.1.4, »Colorizing Images«, page 110).
Soft masks. Soft masks generalize the concept of image masks to masks with more 
than 1 bit. They have been introduced in PDF 1.4 and blend the image against some ex-
isting background. PDFlib accepts all kinds of single-channel (grayscale) images as soft 
mask. They can be used the same way as image masks, provided the PDF output com-
patibility is at least PDF 1.4.
Ignoring transparency. Sometimes it is desirable to ignore any transparency informa-
tion which may be contained in an image file. For example, Acrobat’s anti-aliasing fea-
ture (also known as »smoothing«) isn’t used for 1-bit images which contain black and 
transparent as their only colors. For this reason imported images with fine detail (e.g., 
rasterized text) may look ugly when the transparency information is retained in the 
generated PDF. In order to deal with this situation, PDFlib’s automatic transparency 
support can be disabled with the ignoremask option when opening the file:
image = PDF_load_image(p, "gif", filename, 0, "ignoremask");
5.1.4 Colorizing Images
Similarly to image masks, where a color is applied to the non-transparent parts of an 
image, PDFlib supports colorizing an image with a spot color. This feature works for 
black and white or grayscale images in the following formats:
> PNG
> JPEG
> TIFF (single- or multi-strip)
> GIF (since GIF images always use an RGB palette, colorizing is only reasonable when 
the palette contains only gray values, and the palette index is identical to the gray 
value. PDFlib does not check this condition, however).
In order to colorize an image with a spot color you must supply the colorize option when 
opening the image, and supply the respective spot color handle which must have been 
retrieved with PDF_makespotcolor( ):
PDF_setcolor(p, "both", "cmyk", 1, .79, 0, 0);
spot = PDF_makespotcolor(p, "Reflex Blue CV", 0);
sprintf(optlist, "colorize %d", spot);
image = PDF_load_image(p, "tiff", "image.tif", 0, optlist)
if (image != -1) {
PDF_fit_image(p, image, x, y, "");
}
Documents you may be interested
Documents you may be interested