.\" Copyright 1997-2021 Glyph & Cog, LLC .TH pdftotext 1 "28 Jan 2021" .SH NAME pdftotext \- Portable Document Format (PDF) to text converter (version 4.03) .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 \-simple2 Similar to .BR \-simple , but handles slightly rotated text (e.g., OCR output) better. Only works for pages 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 \-listencodings List all available text output encodings, then exit. .TP .B \-v Print copyright and version information, then exit. .TP .B \-h Print usage information, then exit. .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-2021 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/