Pdftk: la herramienta para manipular archivos "pdf"

4 comments
pdftk es una herramienta que nos permite manipular archivos con formato pdf.

Posee una muy buena colección de acciones que podremos ejecutar sobre este tipo de documentos, entre las cuales podemos mencionar:

  • Unir documentos
  • Separa documentos
  • Encriptar y desencriptar documentos
  • Generar reportes de un documento
  • Reparar archivos pdf (donde sea posible)
  • Descomprimir archivos pdf
  • Restaurar la compresión de un documento pdf
  • Rotar hojas en un documento
  • Agregar marcas de agua a documentos

    A continuación explicaré algunas de estas.

    Línea de comando


  • Para unir dos documentos diferentes podemos ejecutar lo siguiente desde la consola:
    pdftk archivo1.pdf archivo2.pdf cat output salida.pdf

  • Tambien podemos unirlos utilizando etiquetas:
    pdftk A=archivo1.pdf B=archivo2.pdf cat A B output salida.pdf

  • Y por supuesto podemos usar comodines:
    pdftk *.pdf cat output salida.pdf

  • Para separar páginas de varios documentos y crear un documento nuevo con estas hacemos lo siguiente:
    pdftk A=uno.pdf B=dos.pdf cat A1-7 B1-5 output salida.pdf

  • Otro ejemplo con un solo documento:
    pdftk A=archivo1.pdf cat A1-12 A14-end output salida.pdf

  • Para encriptar con una clave de 128 bits (opción por defecto) y restringir todos los permisos (opción por defecto):
    pdftk archivo.pdf output archivo_encriptado.pdf owner_pw foopass

  • Para encriptar igual que el caso anterior pero asignando una contraseña "miclv" que permite abrir el archivo de salida:
    pdftk archivo.pdf output archivo_encriptado.pdf owner_pw foo user_pw miclv

  • Igual que el caso anterior pero con permiso de impresión:
    pdftk archivo.pdf output archivo_encriptado.pdf owner_pw foo user_pw miclv allow printing

  • Para desencriptar:
    pdftk asegurado.pdf input_pw foopass output inseguro.pdf

  • Para repara un archivo pdf:
    pdftk corrupto.pdf output arreglado.pdf

  • Para descomprimir un archivo pdf para su posterior edición en algún editor de texto:
    pdftk midoc.pdf output midoc_desc.pdf uncompress

  • Para separar cada una de las páginas del documento:
    pdftk in.pdf burst

  • Para generar un reporte del documento:
    pdftk archivo.pdf dump_data output reporte.txt


    Nautilus


    Hay dos scripts que podemos crear para poder usarlos desde el menú emergente dentro de Nautilus, el primero es para separar una por una cada página del documento y el segundo para crear un documento partiendo de varios archivos pdf.

    Vamos a crear el primer script, para ello generamos un documento de texto que llamaremos pdftk_burst que contendrá el siguiente código:

    #!/bin/bash
    cd ${1%/*}
    /usr/bin/pdftk "$1" burst
    rm doc_data.txt

    Guardamos y cerramos el archivo.

    Ahora crearemos el segundo script, abrimos un documento de texto vacío el cual llamaremos pdftk_cat y escribiremos lo siguiente en este:

    #!/bin/bash
    cd ${1%/*}
    outfile="00out.pdf"
    if [ -f $outfile ] ; then
    rm -f $outfile
    fi
    /usr/bin/pdftk *.pdf cat output $outfile

    Guardamos y cerramos.

    Le asignamos permisos de ejecución al usuario:
    chmod u+x pdftk_burst pdftk_cat

    (Si así lo deseamos podemos mover los archivos creados a alguna carpeta desde donde los ejecutaremos)

    Lo siguiente que debemos hacer es escoger un documento pdf cualquiera y hacer click con el botón derecho sobre este, seleccionamos Propiedades y nos vamos a la pestaña Abrir con, hacemos click en Añadir y luego en Usar un comando personalizado. Al examinar, buscamos la ruta donde hemos guardado los archivos y escogemos pdftk_burst. Repetimos el proceso para pdftk_cat.

    Ahora al hacer click con el botón derecho sobre algún(nos) documento(s) pdf nos mostrará en el menú emergente las opciones de separar y unir que hemos creado (el archivo de salida para pdftk_cat será .

    Para mas información sobre la herramienta pdftk (otras funciones y ejemplos) les recomiendo como siempre leer el manual.
    man pdftk
  • Publicar un comentario