OPTIONS
A summary of options is included below.
--help, -h
Show summary of options.
<input PDF files | - | PROMPT>
A list of the input PDF files. If you plan to com-
bine these PDFs (without using handles) then list
files in the order you want them combined. Use -
to pass a single PDF into pdftk via stdin. Input
files can be associated with handles, where a han-
dle is a single, upper-case letter:
<input PDF handle>=<input PDF filename>
Handles are often omitted. They are useful when
specifying PDF passwords or page ranges, later.
For example: A=input1.pdf B=input2.pdf
[input_pw <input PDF owner passwords | PROMPT>]
Input PDF owner passwords, if necessary, are asso-
ciated with files by using their handles:
<input PDF handle>=<input PDF file owner password>
If handles are not given, then passwords are asso-
ciated with input files by order.
Most pdftk features require that encrypted input
PDF are accompanied by the ~owner~ password. If the
input PDF has no owner password, then the user
password must be given, instead. If the input PDF
has no passwords, then no password should be given.
When running in do_ask mode, pdftk will prompt you
for a password if the supplied password is incor-
rect or none was given.
[<operation> <operation arguments>]
If this optional argument is omitted, then pdftk
runs in 'filter' mode. Filter mode takes only one
PDF input and creates a new PDF after applying all
of the output options, like encryption and compres-
sion.
Available operations are: cat, attach_files,
unpack_files, burst, fill_form, background,
dump_data, dump_data_fields, update_info. Some
operations takes additional arguments, described
below.
cat [<page ranges>]
Catenates pages from input PDFs to create a new
PDF. Page order in the new PDF is specified by
the order of the given page ranges. Page ranges
are described like this:
<input PDF handle>[<begin page number>[-<end
page number>[<qualifier>]]]
Where the handle identifies one of the input PDF
files, and the beginning and ending page numbers
are one-based references to pages in the PDF
file, and the qualifier can be even or odd.
If the handle is omitted from the page range,
then the pages are taken from the first input
PDF.
If no arguments are passed to cat, then pdftk
combines all input PDFs in the order they were
given to create the output.
NOTES:
* <end page number> may be less than <begin page
number>.
* The keyword end may be used to reference the
final page of a document instead of a page
number.
* Reference a single page by omitting the ending
page number.
* The handle may be used alone to represent the
entire PDF document, e.g., B1-end is the same
as B.
Page range examples:
A1-21
Bend-1odd
A72
A1-21 Beven A72
attach_files <attachment filenames | PROMPT>
[to_page <page number | PROMPT>]
Packs arbitrary files into a PDF using PDF's
file attachment features. More than one attach-
ment may be listed after attach_files. Attach-
ments are added at the document level unless the
optional to_page option is given, in which case
the files are attached to the given page number
(the first page is 1, the final page is end).
For example:
pdftk in.pdf attach_files table1.html
table2.html to_page 6 output out.pdf
unpack_files
Copies all of the attachments from the input PDF
into the current folder or to an output direc-
tory given after output. For example:
pdftk report.pdf unpack_files output ~/atts/
or, interactively:
pdftk report.pdf unpack_files output PROMPT
burst Splits a single, input PDF document into indi-
vidual pages. Also creates a report named
doc_data.txt which is the same as the output
from dump_data. If the output section is omit-
ted, then PDF pages are named: pg_%04d.pdf,
e.g.: pg_0001.pdf, pg_0002.pdf, etc. To name
these pages yourself, supply a printf-styled
format string via the output section. For exam-
ple, if you want pages named: page_01.pdf,
page_02.pdf, etc., pass output page_%02d.pdf to
pdftk. Encryption can be applied to the output
by appending output options such as owner_pw,
e.g.:
pdftk in.pdf burst owner_pw foopass
fill_form <FDF data filename | - | PROMPT>
Fills the single input PDF's form fields with
the data from an FDF file or stdin. Enter the
FDF data filename after fill_form, or use - to
pass the data via stdin, like so:
pdftk form.pdf fill_form data.fdf output
form.filled.pdf
After filling a form, the form fields remain
interactive unless you also use the flatten out-
put option. flatten merges the form fields with
the PDF pages. You can use flatten alone, too,
but only on a single PDF:
pdftk form.pdf fill_form data.fdf output out.pdf
flatten
or:
pdftk form.filled.pdf output out.pdf flatten
If the input FDF file includes Rich Text format-
ted data in addition to plain text, then the
Rich Text data is packed into the form fields as
well as the plain text. Pdftk also sets a flag
that cues Acrobat/Reader to generate new field
appearances based on the Rich Text data. That
way, when the user opens the PDF, the viewer
will create the Rich Text fields on the spot.
If the user's PDF viewer does not support Rich
Text, then the user will see the plain text data
instead. If you flatten this form before Acro-
bat has a chance to create (and save) new field
appearances, then the plain text field data is
what you'll see.
background <background PDF filename | - | PROMPT>
Applies a PDF watermark to the background of a
single input PDF. Pass the background PDF's
filename after background like so:
pdftk in.pdf background back.pdf output out.pdf
Pdftk uses only the first page from the back-
ground PDF and applies it to every page of the
input PDF. This page is scaled and rotated as
needed to fit the input page. You can use - to
pass a background PDF into pdftk via stdin. For
backward compatibility with pdftk 1.0, back-
ground can be used as an output option. How-
ever, this old technique works only when no
operation is given.
dump_data
Reads a single, input PDF file and reports vari-
ous statistics, metadata, bookmarks (a/k/a out-
lines), and page labels to the given output
filename or (if no output is given) to stdout.
Does not create a new PDF.
dump_data_fields
Reads a single, input PDF file and reports form
field statistics to the given output filename or
(if no output is given) to stdout. Does not
create a new PDF.
update_info <info data filename | - | PROMPT>
Changes the metadata stored in a single PDF's
Info dictionary to match the input data file.
The input data file uses the same syntax as the
output from dump_data. This does not change the
metadata stored in the PDF's XMP stream, if it
has one. For example:
pdftk in.pdf update_info in.info output out.pdf
[output <output filename | - | PROMPT>]
The output PDF filename may not be set to the name
of an input filename. Use - to output to stdout.
When using the dump_data operation, use output to
set the name of the output data file. When using
the unpack_files operation, use output to set the
name of an output directory. When using the burst
operation, you can use output to control the
resulting PDF page filenames (described above).
[encrypt_40bit | encrypt_128bit]
If an output PDF user or owner password is given,
output PDF encryption strength defaults to 128
bits. This can be overridden by specifying
encrypt_40bit.
[allow <permissions>]
Permissions are applied to the output PDF only if
an encryption strength is specified or an owner or
user password is given. If permissions are not
specified, they default to 'none,' which means all
of the following features are disabled.
The permissions section may include one or more of
the following features:
Printing
Top Quality Printing
DegradedPrinting
Lower Quality Printing
ModifyContents
Also allows Assembly
Assembly
CopyContents
Also allows ScreenReaders
ScreenReaders
ModifyAnnotations
Also allows FillIn
FillIn
AllFeatures
Allows the user to perform all of the above,
and top quality printing.
[owner_pw <owner password | PROMPT>]
[user_pw <user password | PROMPT>]
If an encryption strength is given but no passwords
are supplied, then the owner and user passwords
remain empty, which means that the resulting PDF
may be opened and its security parameters altered
by anybody.
[compress | uncompress]
These are only useful when you want to edit PDF
code in a text editor like vim or emacs. Remove
PDF page stream compression by applying the uncom-
press filter. Use the compress filter to restore
compression.
[flatten]
Use this option to merge an input PDF's interactive
form fields (and their data) with the PDF's pages.
Only one input PDF may be given. Sometimes used
with the fill_form operation.
[verbose]
By default, pdftk runs quietly. Append verbose to
the end and it will speak up.
[dont_ask | do_ask]
Depending on the compile-time settings (see
ASK_ABOUT_WARNINGS), pdftk might prompt you for
further input when it encounters a problem, such as
a bad password. Override this default behavior by
adding dont_ask (so pdftk won't ask you what to do)
or do_ask (so pdftk will ask you what to do).
When running in dont_ask mode, pdftk will over-
write files with its output without notice.