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
|
pdftotext(1) General Commands Manual pdftotext(1)
NAME
pdftotext - Portable Document Format (PDF) to text converter (version
4.03)
SYNOPSIS
pdftotext [options] [PDF-file [text-file]]
DESCRIPTION
Pdftotext converts Portable Document Format (PDF) files to plain text.
Pdftotext reads the PDF file, PDF-file, and writes a text file, text-
file. If text-file is not specified, pdftotext converts file.pdf to
file.txt. If text-file is '-', the text is sent to stdout.
CONFIGURATION FILE
Pdftotext reads a configuration file at startup. It first tries to
find the user's private config file, ~/.xpdfrc. If that doesn't exist,
it looks for a system-wide config file, typically /usr/local/etc/xpdfrc
(but this location can be changed when pdftotext is built). See the
xpdfrc(5) man page for details.
OPTIONS
Many of the following options can be set with configuration file com-
mands. These are listed in square brackets with the description of the
corresponding command line option.
-f number
Specifies the first page to convert.
-l number
Specifies the last page to convert.
-layout
Maintain (as best as possible) the original physical layout of
the text. The default is to 'undo' physical layout (columns,
hyphenation, etc.) and output the text in reading order. If the
-fixed option is given, character spacing within each line will
be determined by the specified character pitch.
-simple
Similar to -layout, but optimized for simple one-column pages.
This mode will do a better job of maintaining horizontal spac-
ing, but it will only work properly with a single column of
text.
-simple2
Similar to -simple, but handles slightly rotated text (e.g., OCR
output) better. Only works for pages with a single column of
text.
-table Table mode is similar to physical layout mode, but optimized for
tabular data, with the goal of keeping rows and columns aligned
(at the expense of inserting extra whitespace). If the -fixed
option is given, character spacing within each line will be
determined by the specified character pitch.
-lineprinter
Line printer mode uses a strict fixed-character-pitch and
-height layout. That is, the page is broken into a grid, and
characters are placed into that grid. If the grid spacing is
too small for the actual characters, the result is extra white-
space. If the grid spacing is too large, the result is missing
whitespace. The grid spacing can be specified using the -fixed
and -linespacing options. If one or both are not given on the
command line, pdftotext will attempt to compute appropriate
value(s).
-raw Keep the text in content stream order. Depending on how the PDF
file was generated, this may or may not be useful.
-fixed number
Specify the character pitch (character width), in points, for
physical layout, table, or line printer mode. This is ignored
in all other modes.
-linespacing number
Specify the line spacing, in points, for line printer mode.
This is ignored in all other modes.
-clip Text which is hidden because of clipping is removed before doing
layout, and then added back in. This can be helpful for tables
where clipped (invisible) text would overlap the next column.
-nodiag
Diagonal text, i.e., text that is not close to one of the 0, 90,
180, or 270 degree axes, is discarded. This is useful to skip
watermarks drawn on top of body text, etc.
-enc encoding-name
Sets the encoding to use for text output. The encoding-name
must be defined with the unicodeMap command (see xpdfrc(5)).
The encoding name is case-sensitive. This defaults to "Latin1"
(which is a built-in encoding). [config file: textEncoding]
-eol unix | dos | mac
Sets the end-of-line convention to use for text output. [config
file: textEOL]
-nopgbrk
Don't insert page breaks (form feed characters) between pages.
[config file: textPageBreaks]
-bom Insert a Unicode byte order marker (BOM) at the start of the
text output.
-marginl number
Specifies the left margin, in points. Text in the left margin
(i.e., within that many points of the left edge of the page) is
discarded. The default value is zero.
-marginr number
Specifies the right margin, in points. Text in the right margin
(i.e., within that many points of the right edge of the page) is
discarded. The default value is zero.
-margint number
Specifies the top margin, in points. Text in the top margin
(i.e., within that many points of the top edge of the page) is
discarded. The default value is zero.
-marginb number
Specifies the bottom margin, in points. Text in the bottom mar-
gin (i.e., within that many points of the bottom edge of the
page) is discarded. The default value is zero.
-opw password
Specify the owner password for the PDF file. Providing this
will bypass all security restrictions.
-upw password
Specify the user password for the PDF file.
-q Don't print any messages or errors. [config file: errQuiet]
-cfg config-file
Read config-file in place of ~/.xpdfrc or the system-wide config
file.
-listencodings
List all available text output encodings, then exit.
-v Print copyright and version information, then exit.
-h Print usage information, then exit. (-help and --help are
equivalent.)
BUGS
Some PDF files contain fonts whose encodings have been mangled beyond
recognition. There is no way (short of OCR) to extract text from these
files.
EXIT CODES
The Xpdf tools use the following exit codes:
0 No error.
1 Error opening a PDF file.
2 Error opening an output file.
3 Error related to PDF permissions.
99 Other error.
AUTHOR
The pdftotext software and documentation are copyright 1996-2021 Glyph
& Cog, LLC.
SEE ALSO
xpdf(1), pdftops(1), pdftohtml(1), pdfinfo(1), pdffonts(1), pdfde-
tach(1), pdftoppm(1), pdftopng(1), pdfimages(1), xpdfrc(5)
http://www.xpdfreader.com/
28 Jan 2021 pdftotext(1)
|