PDFtk o the PDF toolkit es una herramienta de código abierto multiplataforma para la manipulación de documentos PDF. pdftk es básicamente un front end de la biblioteca iText (compilada a código nativo usando GCJ), capaz de dividir, combinar, cifrar, descifrar, descomprimir, recomprimir y reparar documentos PDF. Puede también ser utilizada para manipular marcas de agua, metadatos, o para llenar formularios PDF con datos FDF (Forms Data Format) o datos XFDF (XML Form Data).
Unir 2 o más archivos en un nuevo documento pdf:
$ pdftk documento1.pdf documento2.pdf documento3.pdf cat output documento123.pdf
Podremos utilizar etiquetas para los archivos
$ pdftk A=documento1.pdf B=documento2.pdf C=documento3.pdf cat A B C output documento123.pdf
Unir todos los archivos pdf de un directorio
$ pdftk *.pdf cat output documentos.pdf
Extraer páginas e intervalos de páginas de un documento pdf para crear un nuevo documento pdf
Imaginar que tenemos un documento pdf con 20 páginas y queremos extraer la página 1, el intervalo de paáginas desde la 12 hasta la 14 y la página 18.
pdftk A=documento.pdf cat A1 A12-14 A18 output documento_nuevo.pdf
Extraer páginas e intervalos de páginas de varios documentos pdf para crear un nuevo documento pdf
$ pdftk A=documento1.pdf B=documento2.pdf cat A1-7 B2 output documento_nuevo.pdf
Invertir el orden de las páginas de un documento pdf
$ pdftk A=documento.pdf cat A3-1 output documento1_inverso.pdf
Extraer por separado todas las páginas de un pdf
$ pdftk documento1.pdf burst
nos crea archivos con nombres pg_0001.pdf, pg_0002.pdf, etc
Cifrar un pdf a 128-bit y controlar todos los permisos (por defecto)
$ pdftk documento.pdf output documento.128.pdf owner_pw foopass
Lo mismo que el anterior, pero requerir una password para abrir el
documento
$ pdftk documento.pdf output documento.128.pdf owner_pw foo user_pw password_que_quieras
Lo mismo que el anterior, pero permitir la impresión del documento
$ pdftk documento.pdf output documento.128.pdf owner_pw foo user_pw password_que_quieras allow printing
Lo mismo que el anterior, pero permitir copiar la información
$ pdftk documento.pdf output documento.128.pdf owner_pw foo allow copycontents
Lo mismo que el anterior, pero permitir copiar e imprimir la información
$ pdftk documento.pdf output documento.128.pdf owner_pw foo allow copycontents printing
Descifrar un PDF
$ pdftk secured.pdf input_pw foopass output unsecured.pdf
Combinar dos archivos pdf cuando uno está cifrado (la salida no lo estará)
$ pdftk A=cifrado.pdf documento.pdf input_pw A=foopass cat output combinado.pdf
Obtener un informe sobre los metadatos, marcadores y etiquetas de página de un pdf
$ pdftk documento.pdf dump_data output informe.txt