summaryrefslogtreecommitdiff
path: root/Build/source/libs/xpdf/xpdf-src/doc/pdftotext.1
blob: d0190491ac613048b69c57e95d61403cbf9c6ede (plain)
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
.\" Copyright 1997-2019 Glyph & Cog, LLC
.TH pdftotext 1 "25 Sep 2019"
.SH NAME
pdftotext \- Portable Document Format (PDF) to text converter
(version 4.02)
.SH SYNOPSIS
.B pdftotext
[options]
.RI [ PDF-file
.RI [ text-file ]]
.SH DESCRIPTION
.B Pdftotext
converts Portable Document Format (PDF) files to plain text.
.PP
Pdftotext reads the PDF file,
.IR PDF-file ,
and writes a text file,
.IR text-file .
If
.I text-file
is not specified, pdftotext converts
.I file.pdf
to
.IR file.txt .
If 
.I text-file
is \'-', the text is sent to stdout.
.SH 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
.BR xpdfrc (5)
man page for details.
.SH OPTIONS
Many of the following options can be set with configuration file
commands.  These are listed in square brackets with the description of
the corresponding command line option.
.TP
.BI \-f " number"
Specifies the first page to convert.
.TP
.BI \-l " number"
Specifies the last page to convert.
.TP
.B \-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
.B \-fixed
option is given, character spacing within each line will be determined
by the specified character pitch.
.TP
.B \-simple
Similar to
.BR \-layout ,
but optimized for simple one-column pages.  This mode will do a better
job of maintaining horizontal spacing, but it will only work properly
with a single column of text.
.TP
.B \-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
.B \-fixed
option is given, character spacing within each line will be determined
by the specified character pitch.
.TP
.B \-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 whitespace.  If the grid
spacing is too large, the result is missing whitespace.  The grid
spacing can be specified using the
.B \-fixed
and
.B \-linespacing
options.
If one or both are not given on the command line, pdftotext will
attempt to compute appropriate value(s).
.TP
.B \-raw
Keep the text in content stream order.  Depending on how the PDF file
was generated, this may or may not be useful.
.TP
.BI \-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.
.TP
.BI \-linespacing " number"
Specify the line spacing, in points, for line printer mode.  This is
ignored in all other modes.
.TP
.B \-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.
.TP
.B \-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.
.TP
.BI \-enc " encoding-name"
Sets the encoding to use for text output.  The
.I encoding\-name
must be defined with the unicodeMap command (see
.BR xpdfrc (5)).
The encoding name is case-sensitive.  This defaults to "Latin1" (which
is a built-in encoding).
.RB "[config file: " textEncoding ]
.TP
.BI \-eol " unix | dos | mac"
Sets the end-of-line convention to use for text output.
.RB "[config file: " textEOL ]
.TP
.B \-nopgbrk
Don't insert page breaks (form feed characters) between pages.
.RB "[config file: " textPageBreaks ]
.TP
.B \-bom
Insert a Unicode byte order marker (BOM) at the start of the text
output.
.TP
.BI \-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.
.TP
.BI \-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.
.TP
.BI \-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.
.TP
.BI \-marginb " number"
Specifies the bottom margin, in points.  Text in the bottom margin
(i.e., within that many points of the bottom edge of the page) is
discarded.  The default value is zero.
.TP
.BI \-opw " password"
Specify the owner password for the PDF file.  Providing this will
bypass all security restrictions.
.TP
.BI \-upw " password"
Specify the user password for the PDF file.
.TP
.B \-q
Don't print any messages or errors.
.RB "[config file: " errQuiet ]
.TP
.BI \-cfg " config-file"
Read
.I config-file
in place of ~/.xpdfrc or the system-wide config file.
.TP
.B \-v
Print copyright and version information.
.TP
.B \-h
Print usage information.
.RB ( \-help
and
.B \-\-help
are equivalent.)
.SH 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.
.SH EXIT CODES
The Xpdf tools use the following exit codes:
.TP
0
No error.
.TP
1
Error opening a PDF file.
.TP
2
Error opening an output file.
.TP
3
Error related to PDF permissions.
.TP
99
Other error.
.SH AUTHOR
The pdftotext software and documentation are copyright 1996-2019 Glyph
& Cog, LLC.
.SH "SEE ALSO"
.BR xpdf (1),
.BR pdftops (1),
.BR pdftohtml (1),
.BR pdfinfo (1),
.BR pdffonts (1),
.BR pdfdetach (1),
.BR pdftoppm (1),
.BR pdftopng (1),
.BR pdfimages (1),
.BR xpdfrc (5)
.br
.B http://www.xpdfreader.com/