1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
|
xpdfrc(5) xpdfrc(5)
NAME
xpdfrc - configuration file for Xpdf tools (version 3.02)
DESCRIPTION
All of the Xpdf tools read a single configuration file.
If you have a .xpdfrc file in your home directory, it will
be read. Otherwise, a system-wide configuration file will
be read from /usr/local/etc/xpdfrc, if it exists. (This
is its default location; depending on build options, it
may be placed elsewhere.) On Win32 systems, the xpdfrc
file should be placed in the same directory as the exe-
cutables.
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 exam-
ples section at the end.
INCLUDE FILES
include config-file
Includes the specified config file. The effect of
this is equivalent to inserting the contents of
config-file directly into the parent config file in
place of the include command. Config files can be
nested arbitrarily deeply.
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-string is the Unicode (UCS-2) character
index, and name is 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-string is 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 speci-
fied file is used. There are no built-in cidToUni-
code 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 unicodeToUni-
code file represents one Unicode character:
in-hex out-hex1 out-hex2 ...
The in-hex field is an input (incorrect) Unicode
index, and the rest of the fields are one or more
output (correct) Unicode indexes. Each occurrence
of in-hex will 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 dis-
play 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-hex and in-end-hex fields (or the sin-
gle in-hex field) specify the Unicode range. The
out-start-hex field (or the out-hex field) speci-
fies 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 speci-
fied file is used. The Latin1, ASCII7, Symbol,
ZapfDingbats, UTF-8, and UCS-2 encodings are prede-
fined.
cMapDir registry-ordering dir
Specifies a search directory, dir, for CMaps for
the registry-ordering character collection. There
can be multiple directories for a particular col-
lection. There are no default CMap directories.
toUnicodeDir dir
Specifies a search directory, dir, for ToUnicode
CMaps. There can be multiple ToUnicode directo-
ries. There are no default ToUnicode directories.
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-ordering character 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-ordering character collection to
a (16-bit) TrueType font, for display. This map-
ping is used if the font name doesn't match any of
the fonts declared with displayNamedCIDFont* com-
mands. 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 gener-
ated 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.
POSTSCRIPT CONTROL
psPaperSize width(pts) height(pts)
Sets the paper size for PostScript output. The
width and height parameters give the paper size in
PostScript points (1 point = 1/72 inch).
psPaperSize letter | legal | A4 | A3 | match
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.
psImageableArea llx lly urx ury
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.
psCrop yes | no
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".
psExpandSmaller yes | no
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".
psShrinkLarger yes | no
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".
psCenter yes | no
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 image-
able area. This defaults to "yes".
psDuplex yes | no
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".
psLevel level1 | level1sep | level2 | level2sep | level3 |
level3Sep
Sets the PostScript level to generate. This
defaults to "level2".
psFont PDF-font-name PS-font-name
When the PDF-font-name font 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-name and
PS-font-name are 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-name is used in a PDF
file with the wMode writing mode and is not embed-
ded, the PS-font-name font is substituted for it.
The writing mode must be either 'H' for horizontal
or 'V' for vertical. The PS-font-name font 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-ordering
character collection and wMode writing mode is not
embedded and does not match any of the fonts
declared in psNamedFont16 commands, the
PS-font-name font is substituted for it. The writ-
ing mode must be either 'H' for horizontal or 'V'
for vertical. The PS-font-name font 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).
psEmbedType1Fonts yes | no
If set to "no", prevents embedding of Type 1 fonts
in generated PostScript. This defaults to "yes".
psEmbedTrueTypeFonts yes | no
If set to "no", prevents embedding of TrueType
fonts in generated PostScript. This defaults to
"yes".
psEmbedCIDTrueTypeFonts yes | no
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.
psEmbedCIDPostScriptFonts yes | no
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.
psPreload yes | no
If set to "yes", PDF forms are converted to PS pro-
cedures, and image data is preloaded. This uses
more memory in the PostScript interpreter, but gen-
erates 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".
psOPI yes | no
If set to "yes", generates PostScript OPI comments
for all images and forms which have OPI informa-
tion. This option is only available if the Xpdf
tools were compiled with OPI support. This
defaults to "no".
psASCIIHex yes | no
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 com-
mand 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.
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-name must be defined
with the unicodeMap command (see above). This
defaults to "Latin1".
textEOL unix | dos | mac
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.
textPageBreaks yes | no
If set to "yes", text extraction will insert page
breaks (form feed characters) between pages. This
defaults to "yes".
textKeepTinyChars yes | no
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".
MISCELLANEOUS SETTINGS
initialZoom percentage | page | width
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, or 'width', to fit the page width to the win-
dow width.
continuousView yes | no
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".
enableT1lib yes | no
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".
enableFreeType yes | no
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 "freetypeCon-
trol" option.) This option defaults to "yes".
antialias yes | no
Enables or disables font anti-aliasing in the PDF
rasterizer. This option affects all font rasteriz-
ers. ("antialias" replaces the anti-aliasing con-
trol provided by the old "t1libControl" and
"freetypeControl" options.) This default to "yes".
vectorAntialias yes | no
Enables or disables anti-aliasing of vector graph-
ics in the PDF rasterizer. This defaults to "yes".
strokeAdjust yes | no
Enables or disables stroke adjustment. This
defaults to "yes".
screenType dispersed | clustered | stochasticClustered
Sets the halftone screen type, which will be used
when generating a monochrome (1-bit) bitmap. The
three options are dispersed-dot dithering, clus-
tered-dot dithering (with a round dot and 45-degree
screen angle), and stochastic clustered-dot dither-
ing. 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 dis-
persed-dot dithering, 10 for clustered-dot dither-
ing, and 100 for stochastic clustered-dot dither-
ing.
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 parame-
ter. 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. Modifiers can
be zero or more of:
shift-
ctrl-
alt-
Key can 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)
Context is either "any" or a comma-separated combi-
nation 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.
Command is an Xpdf command (see the COMMANDS sec-
tion of the xpdf(1) man page for details). Multi-
ple commands are separated by whitespace.
The bind command replaces any existing binding, but
only if it was defined for the exact same modi-
fiers, 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 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".
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)'"
FILES
/usr/local/etc/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.
AUTHOR
The Xpdf software and documentation are copyright
1996-2007 Glyph & Cog, LLC.
SEE ALSO
xpdf(1), pdftops(1), pdftotext(1), pdfinfo(1),
pdftoppm(1), pdfimages(1)
http://www.foolabs.com/xpdf/
27 February 2007 xpdfrc(5)
|