This web is for holding topics deemed as old or irrelevant for KitWiki. If you think the topic doesn't belong here, please check that it's named properly (is a WikiWord) and descriptively, contains relevant data, and is put back to a relevant web.


The PDF Toolkit, a set of tools for manipulating PDF documents


If PDF is electronic paper, then pdftk is an electronic staple-remover, hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. Pdftk is a simple tool for doing everyday things with PDF documents. Use it to:

  • Merge PDF Documents
  • Split PDF Pages into a New Document
  • Decrypt Input as Necessary (Password Required)
  • Encrypt Output as Desired
  • Fill PDF Forms with FDF Data and/or Flatten Forms
  • Apply a Background Watermark
  • Report PDF Metrics such as Metadata and Bookmarks
  • Update PDF Metadata
  • Attach Files to PDF Pages or the PDF Document
  • Unpack PDF Attachments
  • Burst a PDF Document into Single Pages
  • Uncompress and Re-Compress Page Streams
  • Repair Corrupted PDF (Where Possible)

Version and Copyright Information

version: 1.12

copyright: Copyright (c) 2003, 2004 Sid Steward


pdftk --help

Help, Manuals and Documentation

help commands:
pdftk --help

further information:

       pdftk <input PDF files | - | PROMPT>
            [input_pw <input PDF owner passwords | PROMPT>]
            [<operation> <operation arguments>]
            [output <output filename | - | PROMPT>]
            [encrypt_40bit | encrypt_128bit]
            [allow <permissions>]
            [owner_pw <owner password | PROMPT>]
            [user_pw <user password | PROMPT>]
            [flatten] [compress | uncompress]
            [verbose] [dont_ask | do_ask]
            <operation> may be empty, or:
            [cat | attach_files | unpack_files | burst |
             fill_form | background |
             dump_data | dump_data_fields | update_info]

       For Complete Help: pdftk --help

       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-

              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

          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

                 If no arguments are passed to  cat,  then  pdftk
                 combines  all  input PDFs in the order they were
                 given to create the output.

                 * <end page number> may be less than <begin page
                 *  The  keyword end may be used to reference the
                   final page of a document  instead  of  a  page
                 * 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 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

                 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,

                 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

                 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


                 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.

                 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.

                 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 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

       [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:

                     Top Quality Printing

                     Lower Quality Printing

                     Also allows Assembly


                     Also allows ScreenReaders


                     Also allows FillIn


                     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

              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.

              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.


License Text

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Visit: for more details on this license.

Visit: for the latest information on pdftk

Please contact Sid Steward with bug reports: ssteward .. AccessPDF dot com

Other Information

Field of science: Linguistics


License: LicenseTypePGnuGPL

To be copied to:
To be seen at:
See also: KitWiki.SuomenKielipankki:Dev:Linguistics_Software, Old.ToolResources
The users may add their own comments to: ToolResource_pdftk_Comments

Topic revision: r9 - 2008-11-21 - HennaRiikkaLaitinen
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback