best pdf library c# : Extract table data from pdf application SDK utility html wpf azure visual studio PDFlib-manual16-part1873

7.3  Text Functions 161
int PDF_findfont(PDF *p, const char *fontname, const char *encoding, int embed)
Search for a font, and prepare it for later use. PDF_load_font( ) is recommended.
fontname See PDF_load_font( ).
encoding See PDF_load_font( ).
embed See embedding option of PDF_load_font( ): 1 is equivalent to embedding = true.
Returns See PDF_load_font( ).
Details See PDF_load_font( ).
Scope document, page, pattern, template, glyph
Params See Table 7.6.
PDF/X If PDF/X-1, PDF/X-1a, or PDF/X-3 output is generated, embed must be 1.
void PDF_setfont(PDF *p, int font, float fontsize)
Set the current font in the given size.
font A font handle returned by PDF_findfont( ) or PDF_load_font( ).
fontsize Size of the font, measured in units of the current user coordinate system. The 
font size must not be 0; negative font size will result in mirrored text relative to the cur-
rent transformation matrix.
Details The font must be set on each page before drawing any text. Font settings will not be re-
tained across pages. The current font can be changed an arbitrary number of times per 
page.
Scope page, pattern, template, glyph
Params See Table 7.6. This function automatically sets the leading parameter to fontsize.
7.3.2 User-defined (Type 3) Fonts
void PDF_begin_font(PDF *p, char *fontname, int reserved,
float a, float b, float c, float d, float e, float f, const char *optlist)
Start a type 3 font definition.
fontname The name under which the font will be registered, and can later be used 
with PDF_load_font( ).
reserved (C language binding only.) Reserved, must be 0.
a, b, c, d, e, f The elements of the font matrix. This matrix defines the coordinate sys-
tem in which the glyphs will be drawn. The six floating point values make up a matrix 
in the same way as in PostScript and PDF (see references). In order to avoid degenerate 
transformations, a*d must not be equal to b*c.
A typical font matrix for a 1000 x 1000 coordinate system is [0.001, 0, 0, 0.001, 0, 0].
optlist An option list (see Section 3.1.4, »Option Lists«, page 44) according to Table 7.8.
Extract table data from pdf - extract form data from PDF in C#.net, ASP.NET, MVC, Ajax, WPF
Help to Read and Extract Field Data from PDF with a Convenient C# Solution
fill in pdf form reader; pdf form field recognition
Extract table data from pdf - VB.NET PDF Form Data Read library: extract form data from PDF in vb.net, ASP.NET, MVC, Ajax, WPF
Convenient VB.NET Solution to Read and Extract Field Data from PDF
extract data from pdf form; extract pdf data into excel
162
Chapter 7:  API Reference for PDFlib, PDI, and PPS
Details The font may contain an arbitrary number of glyphs, but only 256 glyphs can be access-
ed via an encoding. The defined font can be used until the end of the current document 
scope.
Scope document; this function starts font scope, and must always be paired with a matching 
PDF_end_font( ) call.
void PDF_end_font(PDF *p)
Terminate a type 3 font definition.
Scope font; this function terminates font scope, and must always be paired with a matching 
PDF_begin_font( ) call.
void PDF_begin_glyph(PDF *p,
char *glyphname, float wx, float llx, float lly, float urx, float ury)
Start a type 3 glyph definition.
glyphname The name of the glyph. This name must be used in any encoding which 
will be used with the font. Glyph names within a font must be unique.
wx The width of the glyph in the glyph coordinate system, as specified by the font’s 
matrix.
llx, lly, urx, ury If the font’s colorized option is false (which is default), the coordinates 
of the lower left and upper right corners of the glyph’s bounding box. The bounding box 
values must be correct in order to avoid problems with PostScript printing. If the font’s 
colorized option is true, all four values must be 0.
Details The glyphs in a font can be defined using text, graphics, and image functions. Images, 
however, can only be used if the font’s colorized option is true, or the image has been 
opened with the mask option. It is strongly suggested to use the inline image feature 
(see Section 5.1.1, »Basic Image Handling«, page 111) for defining bitmaps in Type 3 fonts.
Since the complete graphics state will be inherited when the character is drawn, the 
glyph definition should explicitly set any aspect of the graphics state which is relevant 
for the glyph definition (e.g., linewidth).
Scope font; this function starts glyph scope, and must always be paired with a matching PDF_
end_glyph( ) call.
Table 7.8 Options for PDF_begin_font( )
option
type
description
colorized
boolean
If true, the font may explicitly specify the color of individual characters. If false, all 
characters will be drawn with the current color, and the glyph definitions must 
not contain any color operators or images other than masks. Default: false.
C# Word - MailMerge Processing in C#.NET
using RasterEdge.XDoc.Word; Execute MailMerge in OpenXML File with Data Source. Execute MailMerge in Microsoft Access Database by Using Data Source(X86 Only).
pdf form save with reader; how to flatten a pdf form in reader
C# PDF Convert to Word SDK: Convert PDF to Word library in C#.net
key. Quick to remove watermark and save PDF text, image, table, hyperlink and bookmark to Word without losing format. Powerful components
save data in pdf form reader; extract data from pdf to excel online
7.3  Text Functions 163
void PDF_end_glyph(PDF *p)
Terminate a type 3 glyph definition.
Scope glyph; this function terminates glyph scope, and must always be paired with a matching 
PDF_begin_glyph( ) call.
7.3.3 Encoding Definition
void PDF_encoding_set_char(PDF *p,
const char *encoding, int slot, const char *glyphname, int uv)
Add a glyph name to a custom encoding.
encoding The name of the encoding. This is the name which must be used with PDF_
load_font( ). The encoding name must be different from any built-in encoding and all 
previously used encodings.
slot The position of the character in the encoding to be defined, with 0 <= slot <= 255. A 
particular slot must only be filled once within a given encoding.
glyphname The character’s name.
uv The character’s Unicode value.
Details This function can be called multiply to define up to 256 character slots in an encoding. 
More characters may be added to a particular encoding until it has been used for the 
first time; otherwise an exception will be raised. Not all code points must be specified; 
undefined slots will be filled with .notdef.
There are three possible combinations of glyph name and Unicode value:
>glyphname supplied, uv = 0: this parallels an encoding file without Unicode values;
>uv supplied, but no glyphname supplied: this parallels a codepage file;
>glyphname and uv supplied: this parallels an encoding file with Unicode values;
The defined encoding can be used until the end of the current object scope.
Scope object, document, page, pattern, template, path, font, glyph
7.3.4 Text Output
Note All text supplied to the functions in this section must match the encoding selected with PDF_
load_font( ). This applies to 8-bit text as well as Unicode or other encodings selected via a 
CMap. Due to restrictions in Acrobat, text strings must not exceed 32 KB in length.
Table 7.9 lists relevant parameters and values for this section.
void PDF_set_text_pos(PDF *p, float x, float y)
Set the current text position.
x, y The current text position to be set.
How to C#: Basic SDK Concept of XDoc.Word
Conversely, conversion from PDF to Word (.docx) is also supported. methods and events necessary to load a Word document from file or query data and save the
extract data from pdf table; how to save a pdf form in reader
C# Image: C# Code to Upload TIFF File to Remote Database by Using
Create the Data Abstraction Layer. Drag and drop the REImageDatabase table from the server provide powerful & profession imaging controls, PDF document, image
extract data from pdf c#; extracting data from pdf files
164
Chapter 7:  API Reference for PDFlib, PDI, and PPS
Table 7.9 Parameters and values for the text functions (see Section 7.2.3, »Parameter Handling«, page 153)
function
key
explanation
set_parameter
get_parameter
textformat
Specifies the format in which the text output functions will expect the client-
supplied strings. Possible values are bytes, utf8, utf16, utf16le, utf16be, and auto 
(see Section 4.5.2, »Unicode Text Formats«, page 92). Default: auto. Scope: any.
set_value
get_value
leading
Set or get the leading, which is the distance between baselines of adjacent lines of 
text. The leading is used for PDF_continue_text( ) and PDF_show_boxed( ). It is set 
to the value of the font size when a new font is selected using PDF_setfont( ). 
Setting the leading equal to the font size results in dense line spacing (leading = 0 
will result in overprinting lines). However, ascenders and descenders of adjacent 
lines will generally not overlap. Scope: page, pattern, template, glyph.
set_value
get_value
textrise
Set or get the text rise parameter. The text rise specifies the distance between the 
desired text position and the default baseline. Positive values of text rise move the 
text up. The text rise always relates to the vertical coordinate. This may be useful 
for superscripts and subscripts. The text rise is set to the default value of 0 at the 
beginning of each page. Scope: page, pattern, template, glyph.
set_value
get_value
textrendering
Set or get the current text rendering mode. It can have one of the values given in 
Table 4.4. The text rendering parameter is set to the default of 0 (= solid fill) at the 
beginning of each page. Scope: page, pattern, template, glyph.
set_parameter glyphwarning
If true, an exception will be thrown when a glyph cannot be shown because the 
font does not contain the corresponding glyph description. If false, glyphs missing 
from a font will be replaced with a space character or glyph ID 0. Default: false. 
Scope: any.
set_value
get_value
horizscaling
Set or get the horizontal text scaling to the given percentage. Text scaling shrinks 
or expands the text by a given percentage. The text scaling is set to the default of 
100 at the beginning and end of each page. Text scaling always relates to the 
horizontal coordinate. Scope: page, pattern, template, glyph, document.
set_value
get_value
charspacing
Set or get the character spacing, i.e., the shift of the current point after placing the 
individual characters in a string. The spacing is given in units of the current user 
coordinate system. It is reset to the default of 0 at the beginning and end of each 
page. In order to spread the characters apart use positive values for horizontal 
writing mode, and negative values for vertical writing mode. Scope: page, pattern, 
template, glyph, document.
set_value
get_value
wordspacing
Set or get the word spacing, i.e., the shift of the current point after placing indi-
vidual words in a text line. In other words, the current point is moved horizontally 
after each ASCII space character (0x20). Since only 8-bit encodings can include an 
ASCII space character, word spacing does not work with wide-character 
addressing, such as unicode, glyphid, or encodings which contain non-AGL glyph 
names. Also, it does not work when font subsetting is active. The spacing value is 
given in text space units. It is reset to the default of 0 at the beginning and end of 
each page. Scope: page, pattern, template, glyph, document.
get_value
textx
texty
Get the x or y coordinate, respectively, of the current text position. Scope: page, 
pattern, template, glyph.
set_parameter
get_parameter
underline
overline
strikeout
Set or get the current underline, overline, and strikeout modes, which are retained 
until they are explicitly changed, or a new page is started. Theses modes can be 
set independently from each other, and are reset to false at the beginning of each 
page (see Section 4.6, »Text Metrics, Text Variations, and Box Formatting«, page 
96). Scope: page, pattern, template, glyph.
true
underline/overline/strikeout text
false
do not underline/overline/strikeout text
set_parameter kerning
If true, enable kerning for fonts which have been opened with the kerning option; 
disable if false. Default value is true (see Section 4.6, »Text Metrics, Text Variations, 
and Box Formatting«, page 96). Scope: any.
C# PDF File Permission Library: add, remove, update PDF file
Field Data. Data: Auto Fill-in Field Data. Field: Insert NET convert PDF to text, VB.NET extract PDF pages, VB In the following code table, you will find a piece
pdf form data extraction; pdf data extraction
C# PDF url edit Library: insert, remove PDF links in C#.net, ASP.
Easy to put link into specified position of PDF text, image and PDF table. Enable users to copy and paste PDF link. Help to extract and search url in PDF file.
make pdf form editable in reader; export excel to pdf form
7.3  Text Functions 165
Details The text position is set to the default value of (0, 0) at the beginning of each page. The 
current point for graphics output and the current text position are maintained sepa-
rately.
Scope page, pattern, template, glyph
Params See Table 7.9.
void PDF_show(PDF *p, const char *text)
void PDF_show2(PDF *p, const char *text, int len)
Print text in the current font and size at the current text position.
text The text to be printed. In C text must not contain null characters when using PDF_
show( ), since it is assumed to be null-terminated; use PDF_show2( ) for strings which 
may contain null characters.
len (Only for PDF_show2( ).)  Length of text (in bytes) for strings which may contain 
null characters. If len = 0 a null-terminated string must be provided.
Details The font must have been set before with PDF_setfont( ). The current text position is 
moved to the end of the printed text.
Scope page, pattern, template, glyph
Params See Table 7.9.
Bindings PDF_show2( ) is only available in C since in all other bindings arbitrary string contents 
can be supplied with PDF_show( ).
void PDF_show_xy(PDF *p, const char *text, float x, float y)
void PDF_show_xy2(PDF *p, const char *text, int len, float x, float y)
Print text in the current font at position (x, y).
text The text to be printed. In C text must not contain null characters when using PDF_
show_xy( ), since it is assumed to be null-terminated; use PDF_show_xy2( ) for strings 
which may contain null characters.
x,y The position in the user coordinate system where the text will be printed.
len (Only for PDF_show_xy2( ).)  Length of text (in bytes) for strings which may contain 
null characters. If len = 0 a null-terminated string must be provided.
Details The font must have been set before with PDF_setfont( ). The current text position is 
moved to the end of the printed text.
Scope page, pattern, template, glyph
Params See Table 7.9.
Bindings PDF_show_xy2( ) is only available in C since in all other bindings arbitrary string con-
tents can be supplied with PDF_show_xy( ).
VB.NET PDF url edit library: insert, remove PDF links in vb.net
PDF table. Delete or remove partial or all hyperlinks from PDF file in VB.NET class. Copy, cut and paste PDF link to another PDF file in VB.NET project. Extract
extract pdf form data to excel; pdf data extraction tool
VB.NET PDF File Permission Library: add, remove, update PDF file
Extract Field Data. Data: Auto Fill-in Field Data. Field: Insert & pages edit, C#.NET PDF pages extract, copy, paste In the following code table, you will find
export pdf form data to excel; extract data from pdf into excel
166
Chapter 7:  API Reference for PDFlib, PDI, and PPS
void PDF_continue_text(PDF *p, const char *text)
void PDF_continue_text2(PDF *p, const char *text, int len)
Print text at the next line.
text The text to be printed. If this is an empty string, the text position will be moved 
to the next line anyway. In C text must not contain null characters when using PDF_
continue_text( ), since it is assumed to be null-terminated; use PDF_continue_text2( ) for 
strings which may contain null characters.
len (Only for PDF_continue_text2( ).)  Length of text (in bytes) for strings which may 
contain null characters. If len = 0 a null-terminated string must be provided as in PDF_
continue_text( ).
Details The positioning of text (x and y position) and the spacing between lines is determined 
by the leading parameter and the most recent call to PDF_show_xy( ) or PDF_set_text_
pos( ). This function can also be used after PDF_show_boxed( ) if that function has been 
called with mode = left or justify. The current point will be moved to the end of the print-
ed text; the x position for subsequent calls of this function will not be changed.
Scope page, pattern, template, glyph; this function should not be used in vertical writing mode.
Params See Table 7.9.
Bindings PDF_continue_text2( ) is only available in C since in all other bindings arbitrary string 
contents can be supplied with PDF_continue_text( ).
void PDF_fit_textline(PDF *p, const char *text, int len, float x, float y, const char *optlist)
Place a single text line at (x, y) with various options.
text The text to be printed.
len (C binding only) Length of text (in bytes) for strings which may contain null char-
acters. If len = 0 a null-terminated string must be provided.
x, y The coordinates of the reference point in the user coordinate system where the 
text will be placed, subject to various options.
optlist An option list (see Section 3.1.4, »Option Lists«, page 44) specifying placement 
details according to Table 7.10.
Details The current graphics state will not be modified by this function. In particular, the cur-
rent text position and the current font will be unaffected.
Scope page, pattern, template, glyph; this function should not be used in vertical writing mode.
Params See Table 7.9.
VB Imaging - VB ISBN Barcode Tutorial
PointF(100F, 100F)) docx.Save("C:\\Sample_Barcode.pdf"). barcode settings listed in the above property table. BarcodeType.ISBN 'set barcode data barcode.Data
extracting data from pdf into excel; java read pdf form fields
VB Imaging - VB Code 2 of 5 Generator
5 barcode size with parameters listed in the table below. quality Code 2 of 5 on PDF, TIFF, Microsoft of 5 type barcode encoding numeric data text "112233445566
extract data out of pdf file; exporting pdf form to excel
7.3  Text Functions 167
Table 7.10 Options for PDF_fit_textline( )
key
type
explanation
boxsize
float list
Two values specifying the width and height of a box, relative to which the text 
will be placed and possibly scaled. The lower left corner of the box coincides with 
the reference point (x, y). Placing the text and fitting it into the box is controlled 
by the position and fitmethod options. If width = 0, only the height is considered; 
If height = 0, only the width is considered. In these cases the text will be placed 
relative to the vertical line from (x, y) to (x, y+height), or the horizontal line from 
(x, y) to (x+width, y), respectively. Default: {0 0}.
charspacing
float
The character spacing (see Table 7.9). Default: the current value of the global 
charspacing parameter.
fitmethod
keyword
Specifies the method used to fit the text into the specified box. This option will be 
ignored if no box has been specified. Default: nofit.
nofit
Position the text only, without any scaling or clipping.
clip
Position the text, and clip it at the edges of the box.
meet
Position the text according to the position option, and scale it such
that it entirely fits into the box while preserving its aspect ratio.
Generally at least two edges of the text will meet the corresponding
edges of the box. The dpi and scale options are ignored.
auto
This method tries to fit the text into the box automatically. In detail:
Same as nofit if the text fits into the box. Otherwise a scaling factor is
calculated such that the text fits into the box. If this factor is larger than
0.75 the text is distorted to fit intothe box, otherwise the meet method
is applied.
slice
Position the text according to the position option, and scale it such
that it entirely covers the box, while preserving the aspect ratio and
making sure that at least one dimension of the text is fully contained
in the box. Generally parts of the text’s other dimension will extend
beyond the box, and will therefore be clipped.
entire
Position the text according to the position option, and scale it such
that it entirely covers the box. Generally this method will distort the
text. The scale option will be ignored.
font
font handle
A font handle returned by PDF_load_font( ). Default: the current font.
fontsize
float
(Required if the font option is provided) Size of the font, measured in units of the 
current user coordinate system. Default: the current font size.
horizscaling
float
The horizontal text scaling (see Table 7.9). Default: the current value of the global 
horizscaling parameter.
kerning
boolean
Kerning behavior (see Table 7.9). Default: the current value of the global kerning 
parameter.
margin
float list
One or two float values describing additional horizontal and vertical extensions 
of the text box. Default: 0.
orientate
keyword
Specifies the desired orientation of the text when it is placed. Default: north.
north
upright
east
pointing to the right
south
upside down
west
pointing to the left
overline
boolean
Overline mode (see Table 7.9). Default: the current value of the global overline 
parameter.
168
Chapter 7:  API Reference for PDFlib, PDI, and PPS
int PDF_show_boxed(PDF *p, const char *text, float x, float y, float width, float height,
const char *mode, const char *feature)
Format text into a text box according to the requested formatting mode.
text The text to be formatted into the box. The text must not contain any null charac-
ters.
x, y The coordinates of the lower left corner of the text box or the coordinates of the 
alignment point if width = 0 and height = 0.
width, height The size of the text box, or 0 for single-line formatting.
mode mode selects the horizontal alignment mode. If width = 0 and height = 0, mode 
can attain one of the values left, right, or center, and the text will be formatted according 
to the chosen alignment with respect to the point (x, y), with y denoting the position of 
the baseline. In this mode, this function does not check whether the submitted parame-
ters result in some text being clipped at the page edges, nor does it apply any line-wrap-
ping. It returns the value 0 in this case.
If width or height is different from 0, mode can attain one of the values left, right, 
center, justify, or fulljustify. The supplied text will be formatted into a text box defined by 
the lower left corner (x, y) and the supplied width and height. If the text doesn’t fit into a 
line, a simple line-breaking algorithm is used to break the text into the next available 
line, using existing space characters for possible line-breaks. While the left, right, and 
center modes align the text on the respective line, justify aligns the text on both left and 
position
float list
(Alignment control) One or two values specifying the position of the reference 
point (x, y) within the text’s bounding box with {0 0} being the lower left corner of 
the text box, and {100100} the upper right corner. If the boxsize option has been 
specified, the position option also specifies the positioning of the target box. The 
values are expressed as percentages of the text’s width and height. If both 
percentages are equal it is sufficient to specify a single float value. Some exam-
ples: {0 50} results in left-justified text; {50 50} results in centered text; {100 50} 
results in right-justified text. Default: 0 (lower left corner)
rotate
float
Rotate the coordinate system, using the reference point as center and the speci-
fied value as rotation angle in degrees. This results in the box and the text being 
rotated. The rotation will be reset when the text has been placed. Default: 0.
strikeout
boolean
Strikeout mode (see Table 7.9). Default: the current value of the global strikeout 
parameter.
textformat
keyword
The format used to interpret the supplied text (see Section 4.5.2, »Unicode Text 
Formats«, page 92). Default: the current value of the global textformat 
parameter.
textrendering
int
The text rendering mode (see Table 4.4). Default: the current value of the global 
textrendering parameter.
textrise
float
The text rise mode (see Table 7.9). Default: the current value of the global text rise 
parameter.
underline
boolean
Underline mode (see Table 7.9). Default: the current value of the global underline 
parameter.
wordspacing
float
The word spacing (see Table 7.9). Default: the current value of the global 
wordspacing parameter.
Table 7.10 Options for PDF_fit_textline( )
key
type
explanation
7.3  Text Functions 169
right margins. According to common practice the very last line in the box will only be 
left-aligned in justify mode, while in fulljustify mode all lines (including the last one if it 
contains at least one space character) will be left- and right-aligned. fulljustify is useful if 
the text is to be continued in another column.
feature If the feature parameter is blind, all calculations are performed (with the excep-
tion of the internal textx and texty coordinates, which are not updated), but no text out-
put is actually generated. This can be used for size calculations and possibly trying dif-
ferent font sizes for fitting some amount of text into a given box by varying the font 
size. Otherwise feature must be empty.
Returns The number of characters which could not be processed since the text didn’t completely 
fit into the column. If the text did actually fit, it returns 0. Since no formatting is per-
formed if width = 0 and height = 0, the function always returns 0 in this case.
Details The current font must have been set before calling this function. The current values of 
font, font size, kerning, horizontal scaling, and leading are used for the text, but the 
word spacing is ignored. The current text position is moved to the end of the generated 
text.
Scope page, pattern, template, glyph; this function cannot be used with CJK fonts or ebcdic or 
unicode encoding. Calling this function is only allowed if the current text format is auto 
or bytes, font subsetting is disabled, and the current encoding has a space character at 
position 0x20.
Params See Table 7.9; the wordspacing parameter will be ignored.
See also Restrictions of this functions are listed in Section 4.6.4, »Box Formatting«, page 99.
float PDF_stringwidth(PDF *p, const char *text, int font, float fontsize)
float PDF_stringwidth2(PDF *p, const char *text, int len, int font, float fontsize)
Return the width of text in an arbitrary font.
text The text for which the width will be queried. In C text must not contain null char-
acters when using PDF_stringwidth( ), since it is assumed to be null-terminated; use PDF_
stringwidth2( ) for strings which may contain null characters.
len (Only for  PDF_stringwidth2( ).)  Length of text (in bytes) for strings which may con-
tain null characters. If len = 0 a null-terminated must be provided.
font A font handle returned by PDF_load_font( ). The corresponding font must not be a 
CJK font with a non-Unicode CMap. If font refers to such a font, this function returns 0 
regardless of the text and fontsize parameters (unless the monospace option has been 
supplied when loading the font).
fontsize Size of the font, measured in units of the user coordinate system (see PDF_
setfont( )).
Returns The width of text in an arbitrary font which has been selected with PDF_load_font( ), and 
the supplied fontsize. The returned width value may be negative (e.g., when negative 
horizontal scaling has been set).
170
Chapter 7:  API Reference for PDFlib, PDI, and PPS
Details The width calculation takes the current values of the following text parameters into ac-
count: horizontal scaling, kerning, character spacing, and word spacing.
Scope page, pattern, template, path, glyph, document
Params See Table 7.9.
Bindings PDF_stringwidth2( ) is only available in C since in all other bindings arbitrary string con-
tents can be supplied with PDF_stringwidth( ).
Documents you may be interested
Documents you may be interested