1. NAME▲
xpdfrc - configuration file for Xpdf tools (version 3.02)
2. DESCRIPTION ▲
All of the Xpdf tools read a single configuration file. If you have a .xpdfrcfile in your home directory, it will be read. Otherwise, a system-wide configuration file will be read from /etc/xpdf/xpdfrc , if it exists. (This is its default location; depending on build options, it may be placed elsewhere.) On Win32 systems, the xpdfrcfile should be placed in the same directory as the executables.
The xpdfrc file consists of a series of configuration options, one per line. Blank lines and lines starting with a \'#' (comments) are ignored.
The following sections list all of the configuration options, sorted into functional groups. There is an examples section at the end.
Note that all settings are case-sensitive; in particular, boolean options are "yes" and "no" (rather than "Yes" or "No").
3. INCLUDE FILES ▲
- include config-file
Includes the specified config file. The effect of this is equivalent to inserting the contents of config-filedirectly into the parent config file in place of the includecommand. Config files can be nested arbitrarily deeply.
4. CHARACTER MAPPING ▲
- nameToUnicode map-file
Specifies a file with the mapping from character names to Unicode. This is used to handle PDF fonts that have valid encodings but no ToUnicode entry. Each line of a nameToUnicode file looks like this: " " hex-string name The hex-stringis the Unicode (UCS-2) character index, and nameis the corresponding character name. Multiple nameToUnicode files can be used; if a character name is given more than once, the code in the last specified file is used. There is a built-in default nameToUnicode table with all of Adobe's standard character names. - cidToUnicode registry-ordering map-file
Specifies the file with the mapping from character collection to Unicode. Each line of a cidToUnicode file represents one character: " " hex-string The hex-stringis the Unicode (UCS-2) index for that character. The first line maps CID 0, the second line CID 1, etc. File size is determined by size of the character collection. Only one file is allowed per character collection; the last specified file is used. There are no built-in cidToUnicode mappings. - unicodeToUnicode font-name-substring map-file
This is used to work around PDF fonts which have incorrect Unicode information. It specifies a file which maps from the given (incorrect) Unicode indexes to the correct ones. The mapping will be used for any font whose name contains font-name-substring . Each line of a unicodeToUnicode file represents one Unicode character: " " in-hex " " out-hex1 " " out-hex2 " ..." The in-hexfield is an input (incorrect) Unicode index, and the rest of the fields are one or more output (correct) Unicode indexes. Each occurrence of in-hexwill be converted to the specified output sequence. - unicodeMap encoding-name map-file
Specifies the file with mapping from Unicode to encoding-name . These encodings are used for X display fonts and text output (see below). Each line of a unicodeMap file represents a range of one or more Unicode characters which maps linearly to a range in the output encoding:
"
"
in-
start-
hex in-
end-
hex out-
start-
hex
Entries for single characters can be abbreviated to:
"
"
in-
hex out-
hex
The in-start-hexand in-end-hexfields (or the single in-hexfield) specify the Unicode range. The out-start-hexfield (or the out-hexfield) specifies the start of the output encoding range. The length of the out-start-hex(or out-hex ) string determines the length of the output characters (e.g., UTF-8 uses different numbers of bytes to represent characters in different ranges). Entries must be given in increasing Unicode order. Only one file is allowed per encoding; the last specified file is used. The Latin1 , ASCII7 , Symbol , ZapfDingbats , UTF-8 , and UCS-2encodings are predefined.
- cMapDir registry-ordering dir
Specifies a search directory, dir , for CMaps for the registry-orderingcharacter collection. There can be multiple directories for a particular collection. There are no default CMap directories. - toUnicodeDir dir
Specifies a search directory, dir , for ToUnicode CMaps. There can be multiple ToUnicode directories. There are no default ToUnicode directories.
5. DISPLAY FONTS ▲
- displayFontT1 PDF-font-name T1-file
Maps a PDF font, PDF-font-name , to a Type 1 font for display. The Type 1 font file, T1-file , should be a standard .pfa or .pfb file. - displayFontTT PDF-font-name TT-file
Maps a PDF font, PDF-font-name , to a TrueType font for display. The TrueType font file, TT-file , should be a standard .ttf file. - displayNamedCIDFontT1 PDF-font-name T1-file
Maps a specific PDF CID (16-bit) font, PDF-font-name , to a CID font (16-bit PostScript font), for display. There are no default CID font mappings. - displayCIDFontT1 registry-ordering T1-file
Maps the registry-orderingcharacter collection to a CID font (16-bit PostScript font), for display. This mapping is used if the font name doesn't match any of the fonts declared with displayNamedCIDFont* commands. There are no default CID font mappings. - displayNamedCIDFontTT PDF-font-name TT-file
Maps a specific PDF CID (16-bit) font, PDF-font-name , to a (16-bit) TrueType font, for display. There are no default CID font mappings. - displayCIDFontTT registry-ordering TT-file
Maps the registry-orderingcharacter collection to a (16-bit) TrueType font, for display. This mapping is used if the font name doesn't match any of the fonts declared with displayNamedCIDFont* commands. There are no default CID font mappings. - fontDir dir
Specifies a search directory for external font files. There can be multiple fontDir directories. If a PDF file uses a font but doesn't embed it, these directories will be searched for a matching font file. These fonts are used by both xpdf (for display) and pdftops (for embedding in the generated PostScript). Type 1 fonts must have a suffix of ".pfa", ".pfb", ".ps", or no suffix at all. TrueType fonts must have a ".ttf" suffix. Other files in these directories will be ignored. There are no default fontDir directories.
6. POSTSCRIPT CONTROL ▲
- psPaperSize width(pts) height(pts)
Sets the paper size for PostScript output. The widthand heightparameters give the paper size in PostScript points (1 point = 1/72 inch).
R psPaperSize
Sets the paper size for PostScript output to a standard size. The default paper size is set when xpdf and pdftops are built, typically to "letter" or "A4". This can also be set to "match", which will set the paper size to match the size specified in the PDF file.
R psImageableArea
Sets the imageable area for PostScript output. The four integers are the coordinates of the lower-left and upper-right corners of the imageable region, specified in points (with the origin being the lower-left corner of the paper). This defaults to the full paper size; the psPaperSize option will reset the imageable area coordinates.
R psCrop
If set to "yes", PostScript output is cropped to the CropBox specified in the PDF file; otherwise no cropping is done. This defaults to "yes".
R psExpandSmaller
If set to "yes", PDF pages smaller than the PostScript imageable area are expanded to fill the imageable area. Otherwise, no scalling is done on smaller pages. This defaults to "no".
R psShrinkLarger
If set to yes, PDF pages larger than the PostScript imageable area are shrunk to fit the imageable area. Otherwise, no scaling is done on larger pages. This defaults to "yes".
R psCenter
If set to yes, PDF pages smaller than the PostScript imageable area (after any scaling) are centered in the imageable area. Otherwise, they are aligned at the lower-left corner of the imageable area. This defaults to "yes".
R psDuplex
If set to "yes", the generated PostScript will set the "Duplex" pagedevice entry. This tells duplex-capable printers to enable duplexing. This defaults to "no".
R psLevel
Sets the PostScript level to generate. This defaults to "level2".
- psFont PDF-font-name PS-font-name
When the PDF-font-namefont is used in a PDF file, it will be translated to the PostScript font PS-font-name , which is assumed to be resident in the printer. Typically, PDF-font-nameand PS-font-nameare the same. By default, only the Base-14 fonts are assumed to be resident. - psNamedFont16 PDF-font-name wMode PS-font-name encoding
When the 16-bit font PDF-font-nameis used in a PDF file with the wModewriting mode and is not embedded, the PS-font-namefont is substituted for it. The writing mode must be either \'H' for horizontal or \'V' for vertical. The PS-font-namefont is assumed to be resident in the printer and to use the specified encoding (which must have been defined with the unicodeMap command). - psFont16 registry-ordering wMode PS-font-name encoding
When a 16-bit font using the registry-orderingcharacter collection and wModewriting mode is not embedded and does not match any of the fonts declared in psNamedFont16 commands, the PS-font-namefont is substituted for it. The writing mode must be either \'H' for horizontal or \'V' for vertical. The PS-font-namefont is assumed to be resident in the printer and to use the specified writing mode and encoding (which must have been defined with the unicodeMap command).
R psEmbedType1Fonts
If set to "no", prevents embedding of Type 1 fonts in generated PostScript. This defaults to "yes".
R psEmbedTrueTypeFonts
If set to "no", prevents embedding of TrueType fonts in generated PostScript. This defaults to "yes".
R psEmbedCIDTrueTypeFonts
If set to "no", prevents embedding of CID TrueType fonts in generated PostScript. For Level 3 PostScript, this generates a CID font, for lower levels it generates a non-CID composite font.
R psEmbedCIDPostScriptFonts
If set to "no", prevents embedding of CID PostScript fonts in generated PostScript. For Level 3 PostScript, this generates a CID font, for lower levels it generates a non-CID composite font.
R psPreload
If set to "yes", PDF forms are converted to PS procedures, and image data is preloaded. This uses more memory in the PostScript interpreter, but generates significantly smaller PS files in situations where, e.g., the same image is drawn on every page of a long document. This defaults to "no".
R psOPI
If set to "yes", generates PostScript OPI comments for all images and forms which have OPI information. This option is only available if the Xpdf tools were compiled with OPI support. This defaults to "no".
R psASCIIHex
If set to "yes", the ASCIIHexEncode filter will be used instead of ASCII85Encode for binary data. This defaults to "no".
- psFile file-or-command
Sets the default PostScript file or print command for xpdf. Commands start with a \'|' character; anything else is a file. If the file name or command contains spaces it must be quoted. This defaults to unset, which tells xpdf to generate a name of the form <file>.ps for a PDF file <file>.pdf. - fontDir dir
See the description above, in the DISPLAY FONTS section.
7. TEXT CONTROL ▲
- textEncoding encoding-name
Sets the encoding to use for text output. (This can be overridden with the "-enc" switch on the command line.) The encoding-namemust be defined with the unicodeMap command (see above). This defaults to "Latin1".
R textEOL
Sets the end-of-line convention to use for text output. The options are:
unix =
LF
dos =
CR+
LF
mac =
CR
(This can be overridden with the "-eol" switch on the command line.) The default value is based on the OS where xpdf and pdftotext were built.
R textPageBreaks
If set to "yes", text extraction will insert page breaks (form feed characters) between pages. This defaults to "yes".
R textKeepTinyChars
If set to "yes", text extraction will keep all characters. If set to "no", text extraction will discard tiny (smaller than 3 point) characters after the first 50000 per page, avoiding extremely slow run times for PDF files that use special fonts to do shading or cross-hatching. This defaults to "no".
8. MISCELLANEOUS SETTINGS ▲
R initialZoom
Sets the initial zoom factor. A number specifies a zoom percentage, where 100 means 72 dpi. You may also specify \'page', to fit the page to the window size, \'width', to fit the page width to the window width, or \'height', to fit the page height to the window height.
R continuousView
If set to "yes", xpdf will start in continuous view mode, i.e., with one vertical screoll bar for the whole document. This defaults to "no".
R enableT1lib
Enables or disables use of t1lib (a Type 1 font rasterizer). This is only relevant if the Xpdf tools were built with t1lib support. ("enableT1lib" replaces the old "t1libControl" option.) This option defaults to "yes".
R enableFreeType
Enables or disables use of FreeType (a TrueType / Type 1 font rasterizer). This is only relevant if the Xpdf tools were built with FreeType support. ("enableFreeType" replaces the old "freetypeControl" option.) This option defaults to "yes".
R antialias
Enables or disables font anti-aliasing in the PDF rasterizer. This option affects all font rasterizers. ("antialias" replaces the anti-aliasing control provided by the old "t1libControl" and "freetypeControl" options.) This default to "yes".
R vectorAntialias
Enables or disables anti-aliasing of vector graphics in the PDF rasterizer. This defaults to "yes".
R strokeAdjust
Enables or disables stroke adjustment. This defaults to "yes".
R screenType
Sets the halftone screen type, which will be used when generating a monochrome (1-bit) bitmap. The three options are dispersed-dot dithering, clustered-dot dithering (with a round dot and 45-degree screen angle), and stochastic clustered-dot dithering. By default, "stochasticClustered" is used for resolutions of 300 dpi and higher, and "dispersed" is used for resolutions lower then 300 dpi.
- screenSize integer
Sets the size of the (square) halftone screen threshold matrix. By default, this is 4 for dispersed-dot dithering, 10 for clustered-dot dithering, and 100 for stochastic clustered-dot dithering. - screenDotRadius integer
Sets the halftone screen dot radius. This is only used when screenType is set to stochasticClustered, and it defaults to 2. In clustered-dot mode, the dot radius is half of the screen size. Dispersed-dot dithering doesn't have a dot radius. - screenGamma float
Sets the halftone screen gamma correction parameter. Gamma values greater than 1 make the output brighter; gamma values less than 1 make it darker. The default value is 1. - screenBlackThreshold float
When halftoning, all values below this threshold are forced to solid black. This parameter is a floating point value between 0 (black) and 1 (white). The default value is 0. - screenWhiteThreshold float
When halftoning, all values above this threshold are forced to solid white. This parameter is a floating point value between 0 (black) and 1 (white). The default value is 1. - urlCommand command
Sets the command executed when you click on a URL link. The string "%s" will be replaced with the URL. (See the example below.) This has no default value. - movieCommand command
Sets the command executed when you click on a movie annotation. The string "%s" will be replaced with the movie file name. This has no default value. - mapNumericCharNames yes | no
If set to "yes", the Xpdf tools will attempt to map various numeric character names sometimes used in font subsets. In some cases this leads to usable text, and in other cases it leads to gibberish -- there is no way for Xpdf to tell. This defaults to "yes". - mapUnknownCharNames yes | no
If set to "yes", and mapNumericCharNames is set to "no", the Xpdf tools will apply a simple pass-through mapping (Unicode index = character code) for all unrecognized glyph names. In some cases, this leads to usable text, and in other cases it leads to gibberish -- there is no way for Xpdf to tell. This defaults to "no". - bind modifiers-key context command ...
Add a key or mouse button binding. Modifierscan be zero or more of:
shift-
ctrl-
alt-
Keycan be a regular ASCII character, or any one of:
space
tab
return
enter
backspace
insert
delete
home
end
pgup
pgdn
left /
right /
up /
down (
arrow keys)
f1 .. f35 (
function keys)
mousePress1 .. mousePress7 (
mouse buttons)
mouseRelease1 .. mouseRelease7 (
mouse buttons)
Contextis either "any" or a comma-separated combination of:
fullScreen /
window (
full screen mode on/
off)
continuous /
singlePage (
continuous mode on/
off)
overLink /
offLink (
mouse over link or not)
scrLockOn /
scrLockOff (
scroll lock on/
off)
The context string can include only one of each pair in the above list. Commandis an Xpdf command (see the COMMANDS section of the
R xpdf (1) man page for details). Multiple commands are separated by whitespace. The bind command replaces any existing binding, but only if it was defined for the exact same modifiers, key, and context. All tokens (modifiers, key, context, commands) are case-sensitive. Example key bindings:
# bind ctrl-a in any context to the nextPage
# command
bind ctrl-
a any nextPage
# bind uppercase B, when in continuous mode
# with scroll lock on, to the reload command
# followed by the prevPage command
bind B continuous,scrLockOn reload prevPage
See the
R xpdf (1) man page for more examples.
- unbind modifiers-key context
Removes a key binding established with the bind command. This is most useful to remove default key bindings before establishing new ones (e.g., if the default key binding is given for "any" context, and you want to create new key bindings for multiple contexts). - printCommands yes | no
If set to "yes", drawing commands are printed as they're executed (useful for debugging). This defaults to "no". - errQuiet yes | no
If set to "yes", this suppresses all error and warning messages from all of the Xpdf tools. This defaults to "no".
9. EXAMPLES ▲
The following is a sample xpdfrc file.
# from the Thai support package
nameToUnicode /
usr/
local/
share/
xpdf/
Thai.nameToUnicode
# from the Japanese support package
cidToUnicode Adobe-
Japan1 /
usr/
local/
share/
xpdf/
Adobe-
Japan1.cidToUnicode
unicodeMap JISX0208 /
usr/
local/
share/
xpdf/
JISX0208.unicodeMap
cMapDir Adobe-
Japan1 /
usr/
local/
share/
xpdf/
cmap/
Adobe-
Japan1
# use the Base-14 Type 1 fonts from ghostscript
displayFontT1 Times-
Roman /
usr/
local/
share/
ghostscript/
fonts/
n021003l.pfb
displayFontT1 Times-
Italic /
usr/
local/
share/
ghostscript/
fonts/
n021023l.pfb
displayFontT1 Times-
Bold /
usr/
local/
share/
ghostscript/
fonts/
n021004l.pfb
displayFontT1 Times-
BoldItalic /
usr/
local/
share/
ghostscript/
fonts/
n021024l.pfb
displayFontT1 Helvetica /
usr/
local/
share/
ghostscript/
fonts/
n019003l.pfb
displayFontT1 Helvetica-
Oblique /
usr/
local/
share/
ghostscript/
fonts/
n019023l.pfb
displayFontT1 Helvetica-
Bold /
usr/
local/
share/
ghostscript/
fonts/
n019004l.pfb
displayFontT1 Helvetica-
BoldOblique /
usr/
local/
share/
ghostscript/
fonts/
n019024l.pfb
displayFontT1 Courier /
usr/
local/
share/
ghostscript/
fonts/
n022003l.pfb
displayFontT1 Courier-
Oblique /
usr/
local/
share/
ghostscript/
fonts/
n022023l.pfb
displayFontT1 Courier-
Bold /
usr/
local/
share/
ghostscript/
fonts/
n022004l.pfb
displayFontT1 Courier-
BoldOblique /
usr/
local/
share/
ghostscript/
fonts/
n022024l.pfb
displayFontT1 Symbol /
usr/
local/
share/
ghostscript/
fonts/
s050000l.pfb
displayFontT1 ZapfDingbats /
usr/
local/
share/
ghostscript/
fonts/
d050000l.pfb
# use the Bakoma Type 1 fonts
# (this assumes they happen to be installed in /usr/local/fonts/bakoma)
fontDir /
usr/
local/
fonts/
bakoma
# set some PostScript options
psPaperSize letter
psDuplex no
psLevel level2
psEmbedType1Fonts yes
psEmbedTrueTypeFonts yes
psFile "
| lpr -Pprinter5
"
# assume that the PostScript printer has the Univers and
# Univers-Bold fonts
psFont Univers Univers
psFont Univers-
Bold Univers-
Bold
# set the text output options
textEncoding UTF-
8
textEOL unix
# misc options
t1libControl low
freetypeControl low
urlCommand "
netscape -remote 'openURL(%s)'
"
10. FILES ▲
/etc/xpdf/xpdfrc
This is the default location for the system-wide configuration file. Depending on build options, it may be placed elsewhere.
$HOME/.xpdfrc
This is the user's configuration file. If it exists, it will be read in place of the system-wide file.
11. AUTHOR ▲
The Xpdf software and documentation are copyright 1996-2007 Glyph & Cog, LLC.
12. SEE ALSO ▲
R xpdf (1),
R pdftops (1),
R pdftotext (1),
R pdfinfo (1),
R pdftoppm (1),
R pdfimages (1)