3.5  Passwords and Permissions 71
3.5 Passwords and Permissions
3.5.1 Strengths and Weaknesses of PDF Security Features
PDF supports various security features which aid in protecting document contents. 
They are based on Acrobat’s standard encryption handler which uses symmetric en-
cryption. Both Acrobat Reader and the full Acrobat product support the following secu-
rity features:
>Permissions restrict certain actions for the PDF document, such as printing or ex-
tracting text.
>The user password is required to open the file.
>The master password is required to change any security settings, i.e. permissions, 
user or master password. Files with user and master passwords can be opened for 
reading or printing with either password.
If a file has a user or master password or any permissions restrictions set, it will be en-
Cracking protected PDF documents. The length of the encryption keys used for pro-
tecting documents depends on the PDF compatibility level chosen by the client:
>For PDF versions up to and including 1.3 (i.e., Acrobat 4) the key length is 40 bits.
>For PDF version 1.4 the key length is 128 bits. This requires Acrobat 5 or above.
It is widely known that a key length of 40 bits for symmetrical encryption (as used in 
PDF) is not secure. Actually, using commercially available cracking software it is possi-
ble to disable 40-bit PDF security settings with a brute-force attack within days or 
weeks, depending on the length and quality of the password. For maximum security we 
recommend the following:
>Use 128-bit encryption (i.e., PDF 1.4 compatibility setting) if at all possible. This re-
quires Acrobat 5 or above for all users of the document.
>Passwords should be at least six characters long and should contain non-alphabetic 
characters. Passwords should definitely not resemble your spouse’s or pet’s name, 
your birthday etc. in order to prevent so-called dictionary attacks or password guess-
ing. It is important to mention that even with 128-bit encryption short passwords 
can be cracked within minutes.
Access permissions. Setting some access restriction, such as printing prohibited will dis-
able the respective function in Acrobat. However, this not necessarily holds true for 
third-party PDF viewers or other software. It is up to the developer of PDF tools whether 
or not access permissions will be honored. Indeed, several PDF tools are known to ignore 
permission settings altogether; commercially available PDF cracking tools can be used 
to disable any access restrictions. This has nothing to do with cracking the encryption; 
there is simply no way that a PDF file can make sure it won’t be printed while it still re-
mains viewable. This is actually documented in Adobe’s own PDF reference:
There is nothing inherent in PDF encryption that enforces the document permissions speci-
fied in the encryption dictionary. It is up to the implementors of PDF viewers to respect the in-
tent of the document creator by restricting user access to an encrypted PDF file according to 
the permissions contained in the file.
Pdf form save in reader - 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
pdf data extraction tool; pdf data extraction open source
Pdf form save in reader - 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
can reader edit pdf forms; pdf data extraction
Chapter 3:  PDFlib Programming
3.5.2 Protecting Documents with PDFlib
Passwords. Passwords can be set with the userpassword and masterpassword parame-
ters. PDFlib interacts with the client-supplied passwords in the following ways:
>If a user password or permissions (see below), but no master password has been sup-
plied, a regular user would be able to change the security settings. For this reason 
PDFlib considers this situation as an error.
>If user and master password are the same, a distinction between user and owner of 
the file would no longer be possible, again defeating effective protection. PDFlib con-
siders this situation as an error.
>For both user and master passwords, up to a maximum of 32 characters will be used. 
Additional characters will be ignored, and do not affect encryption. Empty pass-
words are not allowed.
The supplied passwords will be used for all subsequently generated documents.
Permissions. Access restrictions can be set with the permissions parameter. It consists 
of a string with one or more access restrictions. Before setting the permissions parameter 
a master password must be set, because otherwise Acrobat users could easily remove 
the permission settings. By default, all actions are allowed. Specifying an access restric-
tion will disable the respective feature in Acrobat. Access restrictions can be applied 
without any user password. The supplied permissions will be used for all subsequently 
generated documents. Multiple restriction keywords can be specified, separated with a 
blank character as in the following example:
PDF_set_parameter(p, "permissions", "noprint nocopy");
Table 3.12 lists all supported access restriction keywords. The noforms, noaccessible, 
noassemble and nohiresprint keywords require PDF 1.4 or above compatibility. They will 
be rejected otherwise.
Table 3.12 Access restriction keywords
Acrobat will prevent printing the file.
Acrobat will prevent users from adding form fields or making any other changes.
Acrobat will prevent copying and extracting text or graphics, and will disable the accessibility 
Acrobat will prevent adding or changing comments or form fields.
Acrobat will prevent form field filling, even if noannots hasn’t been specified.
Acrobat will prevent extracting text or graphics for accessibility purposes (such as a screenreader 
Acrobat will prevent inserting, deleting, or rotating pages and creating bookmarks and 
thumbnails, even if nomodify hasn’t been specified.
Acrobat will prevent high-resolution printing. If noprint hasn’t been specified printing is restricted 
to the »print as image« feature which prints a low-resolution rendition of the page.
C# PDF: PDF Document Viewer & Reader SDK for Windows Forms
SaveFile(String filePath): Save PDF document file to a specified path form (Here, we take a blank form as an open a file dialog and load your PDF document in
export pdf data to excel; export pdf form data to excel spreadsheet
VB.NET Image: How to Save Image & Print Image Using VB.NET
printing multi-page document files, like PDF and Word is used to illustrate how to save a sample RE__Test Public Partial Class Form1 Inherits Form Public Sub New
edit pdf form in reader; extract data from pdf form fields
4.1  Overview of Fonts and Encodings 73
4Text Handling
4.1 Overview of Fonts and Encodings
Font handling is one of the most complex aspects of page descriptions and document 
formats like PDF. In this section we will summarize PDFlib’s main characteristics with 
regard to font and encoding handling (encoding refers to the mapping between individ-
ual bytes or byte combinations to the characters which they actually represent). Except 
where noted otherwise, PDFlib supports the same font formats on all platforms.
4.1.1 Supported Font Formats
PDFlib supports a variety of font types. This section summarizes the supported font 
types and notes some of the most important aspects of these formats.
PostScript Type 1 fonts. PostScript fonts can be packaged in various file formats, and 
are usually accompanied by a separate file containing metrics and other font-related in-
formation. PDFlib supports Mac and Windows PostScript fonts, and all common file for-
mats for PostScript font outline and metrics data.
TrueType fonts. PDFlib supports vector-based TrueType fonts, but not those based on 
bitmaps. The TrueType font file must be supplied in Windows TTF or TTC format, or 
must be installed in the Mac or Windows operating system. Contrary to PostScript Type 
1 fonts, TrueType and OpenType fonts do not require any additional metrics file since 
the metrics information is included in the font file itself.
OpenType fonts. OpenType is a modern font format which combines PostScript and 
TrueType technology, and uses a platform-independent file format. OpenType is na-
tively supported on Windows 2000/XP, and Mac OS X. There are two flavors of Open-
Type fonts, both of which are supported by PDFlib:
>OpenType fonts with TrueType outlines (*.ttf) look and feel like usual TrueType 
>OpenType fonts with PostScript outlines (*.otf) contain PostScript data in a True-
Type-like file format. This flavor is also called CFF (Compact Font Format).
Chinese, Japanese, and Korean (CJK) fonts. In addition to Acrobat’s standard CJK fonts 
(see Section 4.7, »Chinese, Japanese, and Korean Text«, page 101), PDFlib supports cus-
tom CJK fonts in the TrueType and OpenType formats. Generally these fonts are treated 
similarly to Western fonts. However, certain restrictions apply.
Type 3 fonts. In addition to PostScript, TrueType, and OpenType fonts, PDFlib also 
supports the concept of user-defined (Type 3) PDF fonts. Unlike the common font for-
mats, user-defined fonts are not fetched from an external source (font file or operating 
system services), but must be completely defined by the client by means of PDFlib’s na-
tive text, graphics, and image functions. Type 3 fonts are useful for the following pur-
>bitmap fonts,
>custom graphics, such as logos can easily be printed using simple text operators,
C# PDF File Merge Library: Merge, append PDF files in C#.net, ASP.
Merge Microsoft Office Word, Excel and PowerPoint data to PDF form. Append one PDF file to the end of another and save to a single PDF file.
cannot save pdf form in reader; extract table data from pdf
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
this RasterEdge XDoc.PDF SDK, you can simply delete a single page from a PDF document using VB.NET or remove any page from a PDF document and save to local
extract data from pdf to excel; extracting data from pdf to excel
Chapter 4:  Text Handling
>Japanese gaiji (user-defined characters) which are not available in any predefined 
font or encoding.
4.1.2 Encodings
An encoding defines how the actual bytes in a string will be interpreted by PDFlib and 
Acrobat, and how they translate into text on a page. PDFlib supports a variety of encod-
ing methods.
All supported encodings can be arbitrarily mixed in one document. You may even use 
different encodings for a single font, although the need to do so will only rarely arise.
Note Not all encodings can be used with a given font. The user is responsible for making sure that 
the font contains all characters required by a particular encoding. This can even be problematic 
with Acrobat’s core fonts (see Table 4.2).
Identifying glyphs. There are three fundamentally different methods for identifying 
individual glyphs (representations of a character) in a font:
>PostScript Type 1 fonts are based on the concept of glyph names: each glyph is la-
belled with a unique name which can be used to identify the character, and con-
struct code mappings which are suitable for a certain environment. While glyph 
names have served their purpose for quite some time they impose severe restric-
tions on modern computing because of their space requirements and because they 
do not really meet the requirements of international use (in particular CJK fonts).
>TrueType and OpenType fonts identify individual glyphs based on their Unicode 
values. This makes it easy to add clear semantics to all glyphs in a text font. However, 
there are no standard Unicode assignments for pi or symbol fonts. This implies some 
difficulties when using symbol fonts in a Unicode environment.
>Chinese, Japanese, and Korean OpenType fonts are based on the concept of Character 
IDs (CIDs). These are basically numbers which refer to a standard repository (called 
character complement) for the respective language.
There is considerable overlap among these concepts. For example, TrueType fonts may 
contain an auxiliary table of PostScript glyph names for compatibility reasons. On the 
other hand, Unicode semantics for many standard PostScript glyph names are available 
in the Adobe Glyph List (AGL). PDFlib supports all three methods (name-based, Unicode, 
8-Bit encodings. 8-bit encodings (also called single-byte encodings) map each byte in a 
text string to a single character, and are thus limited to 256 different characters at a 
time. 8-bit encodings used in PDFlib are based on glyph names or Unicode values, and 
can be drawn from various sources:
>A large number of predefined encodings according to Table 4.2. These cover the most 
important encodings currently in use on a variety of systems, and in a variety of lo-
>User-defined encodings which can be supplied in an external file or constructed dy-
namically at runtime with PDF_encoding_set_char( ). These encodings can be based on 
glyph names or Unicode values.
>Encodings pulled from the operating system, also known as system encoding. This 
feature is only available on Windows, IBM eServer iSeries, and zSeries.
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
to extract single or multiple pages from adobe PDF file and save into a The portable document format, known as PDF document, is a widely-used form of file
collect data from pdf forms; using pdf forms to collect data
C# Image: Save or Print Document and Image in Web Viewer
or image, you can easily save the changes to DLL Library, including documents TIFF, PDF, Excel, Word string fileName = Request.Form["saveFileName"]; string fid
extract data out of pdf file; exporting data from excel to pdf form
4.1  Overview of Fonts and Encodings 75
>Abbreviated Unicode-based encodings which can be used to conveniently address 
any Unicode range of 256 consecutive characters with 8-bit values.
>Encodings specific to a particular font. These are also called font-specific or builtin en-
Wide-character addressing. In addition to 8-bit encodings, various other addressing 
schemes are supported which are much more powerful, and not subject to the 256 char-
acter limit.
>Purely Unicode-based addressing via the unicode encoding keyword. In this case the 
client directly supplies Unicode strings to PDFlib. The Unicode strings may be for-
matted according to one of several standard methods (such as UCS-2, UTF-8) and byte 
orderings (little-endian or big-endian).
>CMap-based addressing for a variety of Chinese, Japanese, and Korean standards. In 
combination with standard CJK fonts PDFlib supports all CMaps supported by Acro-
bat. This includes both Unicode-based CMaps and others (see Section 4.7, »Chinese, 
Japanese, and Korean Text«, page 101).
>Glyph id addressing for TrueType and OpenType fonts via the glyphid encoding key-
word. This is useful for advanced text processing applications which need access to 
individual glyphs in a font without reference to any particular encoding scheme, or 
must address glyphs which do not have any Unicode mapping. The number of valid 
glyph ids in a font can be queried with the fontmaxcode parameter.
4.1.3 Support for the Unicode Standard
Unicode is a large character set which covers all current and many ancient languages 
and scripts in the world, and has significant support in many applications, operating 
systems, and programming languages. PDFlib supports the Unicode standard to a large 
extent. The following features in PDFlib are Unicode-enabled:
>Unicode can be supplied directly in page descriptions.
>Unicode can be supplied for various hypertext elements.
>Unicode strings for text on a page or hypertext elements can be supplied in UTF-8 or 
UTF-16 formats with any byte ordering.
>PDFlib will include additional information (a ToUnicode CMap) in the PDF output 
which helps Acrobat in assigning proper Unicode values for exporting text (e.g., via 
the clipboard) and searching for Unicode text.
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Description: Convert to DOCX/TIFF with specified zoom value and save it into stream. Parameters: zoomValue, The magnification of the original PDF page size.
how to make a pdf form fillable in reader; c# read pdf form fields
C# Create PDF from Tiff Library to convert tif images to PDF in C#
Description: Convert to PDF and save it on the disk. Parameters: Name, Description, Valid Value. Description: Convert to PDF and save it into stream. Parameters:
how to save a filled out pdf form in reader; extracting data from pdf into excel
Chapter 4:  Text Handling
4.2 Supported Font Formats
4.2.1 PostScript Fonts
PostScript font file formats. PDFlib supports the following file formats for PostScript 
Type 1 metrics and outline data on all platforms:
>The platform-independent AFM (Adobe Font Metrics) and the Windows-specific PFM 
(Printer Font Metrics) format for metrics information. Since PFM files do not describe 
the full character metrics but only the glyphs used in Windows (code page 1252), they 
can only be used for the winansi or builtin encodings, while AFM-based font metrics 
can be rearranged to any encoding supported by the font.
>The platform-independent PFA (Printer Font ASCII) and the Windows-specific PFB 
(Printer Font Binary) format for font outline information in the PostScript Type 1 for-
mat, (sometimes also called »ATM fonts«).
>On the Mac, resource-based PostScript Type 1 fonts, sometimes called LWFN (Laser-
Writer Font) fonts, are also supported.
>OpenType fonts with PostScript outlines (*.otf).
If you can get hold of a PostScript font file, but not the corresponding metrics file, you 
can try to generate the missing metrics using one of several freely available utilities. 
However, be warned that such conversions often result in font or encoding problems. 
For this reason it is recommended to use the font outline and metrics data as supplied 
by the font vendor.
PostScript font names. It is important to use the exact (case-sensitive) PostScript font 
name whenever a font is referenced in PDFlib unless you work with alias names (see 
Section 4.3.1, »How PDFlib Searches for Fonts«, page 80). There are several possibilities to 
find a PostScript font’s exact name:
>Open the font outline file (*.pfa or *.pfb), and look for the string after the entry
/FontName. Omit the leading / character from this entry, and use the remainder as 
the font name.
>If you have ATM (Adobe Type Manager) installed or are working with Windows 
2000/XP, you can double-click the font (*.pfb) or metrics (*.pfm) file, and will see a 
font sample along with the PostScript name of the font.
>Open the AFM metrics file and look for the string after the entry FontName.
Note The PostScript font name may differ substantially from the Windows font menu name, e.g. 
»AvantGarde-Demi« (PostScript name) vs. »AvantGarde, Bold« (Windows font menu name). 
Also, the font name as given in any Windows .inf file is not relevant for use with PDF.
PostScript glyph names. In order to write a custom encoding file or find fonts which 
can be used with one of the supplied encodings you will have to find information about 
the exact definition of the character set to be defined by the encoding, as well as the ex-
act glyph names used in the font files. You must also ensure that a chosen font provides 
all necessary characters for the encoding. For example, the core fonts supplied with Ac-
robat 4/5 do not support ISO 8859-2 (Latin 2) nor Windows code page 1250. If you happen 
to have the FontLab
font editor (by the way, a great tool for dealing with all kinds of 
1. See http://www.fontlab.com 
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
how to extract data from pdf to excel; extract pdf form data to xml
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Description: Convert to PDF/TIFF and save it on the disk. Parameters: Description: Convert to PDF/TIFF and save it into stream. Parameters:
exporting pdf form to excel; fill in pdf form reader
4.2  Supported Font Formats 77
font and encoding issues), you may use it to find out about the encodings supported by 
a given font (look for »code pages« in the FontLab documentation).
For the convenience of PDFlib users, the PostScript program print_glyphs.ps in the dis-
tribution fileset can be used to find the names of all characters contained in a PostScript 
font. In order to use it, enter the name of the font at the end of the PostScript file and 
send it (along with the font) to a PostScript Level 2 or 3 printer, convert it with Acrobat 
Distiller, or view it with a Level-2-compatible PostScript viewer. The program will print 
all glyphs in the font, sorted alphabetically by glyph name.
If a font does not contain a glyph required for a custom encoding, it will be missing 
from the PDF document.
4.2.2 TrueType and OpenType Fonts
TrueType and OpenType file formats. PDFlib supports the following file formats for 
TrueType and OpenType font s:
>Windows TrueType fonts (*.ttf), including CJK fonts
>TrueType collections (*.ttc) with multiple fonts in a single file (mostly used for CJK 
>End-user defined character (EUDC) fonts (*.tte) created with Microsoft’s eudcedit.exe 
>Platform-independent OpenType fonts with TrueType (*.ttf) or PostScript outlines 
(*.otf), including CJK fonts.
>On Mac OS any TrueType font installed on the system (including .dfont) can also be 
used in PDFlib.
TrueType and OpenType font names. It is important to specify the exact (case-sensi-
tive) TrueType font name whenever a font is referenced in PDFlib unless you work with 
alias names (see Section 4.3.1, »How PDFlib Searches for Fonts«, page 80). In the generat-
ed PDF the name of a TrueType font may differ from the name used in PDFlib (or Win-
dows). This is normal, and results from the fact that PDF uses the PostScript name of a 
TrueType font, which differs from its genuine TrueType name (e.g., 
TimesNewRomanPSMT vs. Times New Roman).
Note Contrary to PostScript fonts, TrueType and OpenType font names may contain blank characters.
Finding TrueType font names on Windows. You can easily find the name of an in-
stalled font by double-clicking the TrueType font file, and taking note of the full font 
name which will be displayed in the first line of the resulting window (without the 
TrueType or OpenType term in parentheses, of course). Do not use the entry in the second 
line after the label Typeface name! Also, some fonts may have parts of their name local-
ized according to the respective Windows version in use. For example, the common font 
name portion Bold may appear as the translated word Fett on a German system. In order 
to retrieve the font data from the Windows system (host fonts) you must use the trans-
lated form of the font name in PDFlib. However, in order to retrieve the font data direct-
ly from file you must use the generic (non-localized) form of the font name.
1. Information about the glyph names used in PostScript fonts can be found at partners.adobe.com/asn/tech/type/
unicodegn.jsp (although font vendors are not required to follow these glyph naming recommendations).
Chapter 4:  Text Handling
If you want to examine TrueType fonts in more detail take a look at Microsoft’s free 
»font properties extension«
which will display many entries of the font’s TrueType ta-
bles in human-readable form.
Finding TrueType font names on the Mac. Generally, you can find the name of an in-
stalled font in the font menu of applications such as TextEdit on Mac OS X. However, 
this method does not always result in the proper font name as expected by PDFlib. For 
this reason we recommend Apple’s freely available Font Tools
. This suite of command-
line utilities contains a program called ftxinstalledfonts which is useful for determining 
the exact name of all installed fonts. In order to determine the font name expected by 
PDFlib, install Font Tools and issue the following statement on the command-line:
ftxinstalledfonts -f
4.2.3 User-Defined (Type 3) Fonts
Type 3 fonts in PDF (as opposed to PostScript Type 3 fonts) are not actually a file format. 
Instead, the glyphs in a Type 3 font must be defined at runtime with standard PDFlib 
graphics functions. Since all PDFlib features for vector graphics, raster images, and even 
text output can be used in Type 3 font definitions, there are no restrictions regarding 
the contents of the characters in a Type 3 font. Combined with the PDF import library 
PDI you can even import complex drawings as a PDF page, and use those for defining a 
character in a Type 3 font.
Note PostScript Type 3 fonts are not supported.
Type 3 fonts must completely be defined outside of any page (more precisely, the font 
definition must take place in document scope). The following example demonstrates the 
definition of a simple Type 3 font:
PDF_begin_font(p, "Fuzzyfont", 0, 0.001, 0.0, 0.0, 0.001, 0.0, 0.0, "");
PDF_begin_glyph(p, "circle", 1000, 0, 0, 1000, 1000);
PDF_arc(p, 500, 500, 500, 0, 360);
PDF_begin_glyph(p, "ring", 400, 0, 0, 400, 400);
PDF_arc(p, 200, 200, 200, 0, 360);
The font will be registered in PDFlib, and its name can be supplied to PDF_load_font( ) 
along with an encoding which contains the names of the glyphs in the Type 3 font. 
Please note the following when working with Type 3 fonts:
>Similar to patterns and templates, images cannot be opened within a glyph descrip-
tion. However, they can be opened before starting a glyph description, and placed 
within the glyph description. Alternatively, inline images may be used for small bit-
maps to overcome this restriction.
1. See http://www.microsoft.com/typography/property/property.htm 
2. See http://developer.apple.com/fonts/OSXTools.html 
4.2  Supported Font Formats 79
>Due to restrictions in PDF consumers all characters used with text output operators 
must actually be defined in the font: if character code x is to be displayed with PDF_
show( ) or a similar function, and the encoding contains glyphname at position x, 
then glyphname must have been defined via PDF_begin_glyph( ). This restriction af-
fects only Type 3 fonts; missing glyphs in PostScript Type 1, TrueType, or OpenType 
fonts will simply be ignored.
>Some PDF consumers (this is not true for Acrobat) require a glyph named .notdef if 
codes will be used for which the corresponding glyph names are not defined in the 
font. The .notdef glyph must be present, but it may simply contain an empty glyph 
>When normal bitmap data is used to define characters, unused pixels in the bitmap 
will print as white, regardless of the background. In order to avoid this and have the 
original background color shine through, use the mask parameter for constructing 
the bitmap image.
>The interpolate option for images may be useful for enhancing the screen and print 
appearance of Type 3 bitmap fonts.
Chapter 4:  Text Handling
4.3 Font Embedding and Subsetting
4.3.1 How PDFlib Searches for Fonts
Sources of font data. PDFlib can access font data from various sources:
>Disk-based font files which have been statically configured via a UPR configuration 
file (see Section 3.1.6, »Resource Configuration and File Searching«, page 47) or dy-
namically via PDF_set_parameter( ) and the FontOutline resource category.
>Fonts which have been installed in the operating system. We refer to such fonts as 
host fonts. Instead of fiddling with font and configuration files simply install the font 
in the operating system (read: drop it into the appropriate fonts directory), and 
PDFlib will happily use it. Host fonts are available on Mac (only TrueType and Open-
Type, but not currently PostScript fonts) and Windows systems. They can explicitly 
be configured with the HostFont UPR resource category in order to control the search 
order. This feature can be used, for example, to prefer host fonts over the built-in 
core fonts.
>Font data passed by the client directly in memory by means of a PDFlib virtual file 
(PVF). This is useful for advanced applications which have the font data already load-
ed into memory and want to avoid unnecessary disk access by PDFlib (see Section 
3.1.5, »The PDFlib Virtual File System (PVF)«, page 46 for details on virtual files).
Potential problem with Windows fonts. We’d like to alert users to a potential problem 
with font installation on Windows systems. If you install fonts via the File, Install new 
font... menu item (as opposed to dragging fonts to the Windows Fonts directory) there’s 
a check box Copy fonts to Fonts folder. If this box is unchecked, Windows will only place a 
shortcut (link) to the original font file in the fonts folder. In this case the original font 
file must live in a directory which is accessible to the application using PDFlib. In partic-
ular, font files outside of the Windows Fonts directory may not be accessible to IIS with 
default security settings. Solution: either copy font files to the Fonts directory, or place 
the original font file in a directory where IIS has read permission.
Similar problems may arise with Adobe Type Manager (ATM) if the Add without 
copying fonts option is checked while installing fonts.
Font name aliasing. Since it can be difficult to find the exact internal name of a font, 
PDFlib supports font name aliasing for PostScript, TrueType, and OpenType fonts. With 
font name aliasing you can specify an arbitrary name as an alias for some font. The alias 
can be specified as a resource of type HostFont, FontOutline, FontAFM, and FontPFM, both 
in a UPR file or at runtime. The following sample defines an alias for a disk-based font:
PDF_set_parameter(p, "FontOutline", "x=DFHSMincho-W3.ttf");
font = PDF_load_font(p, "x", 0, "winansi", "");
Searching for fonts. The font name supplied to PDF_load_font( ) can be encoded in 
ASCII, UTF-8, or UTF-16. However, not all encodings are supported for all font sources. 
The font is searched according to the following scheme:
>If the name is an alias (configured via a UPR file or a call to PDF_set_parameter( )) it 
can be encoded in ASCII or UTF-8. The name to which the alias refers will be used in 
the next steps to locate a font file (for disk-based fonts) or host font.
Documents you may be interested
Documents you may be interested