Pdftk: la herramienta para manipular archivos "pdf"
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.
Para unir dos documentos diferentes podemos ejecutar lo siguiente desde la consola:
Tambien podemos unirlos utilizando etiquetas:
Y por supuesto podemos usar comodines:
Para separar páginas de varios documentos y crear un documento nuevo con estas hacemos lo siguiente:
Otro ejemplo con un solo documento:
Para encriptar con una clave de 128 bits (opción por defecto) y restringir todos los permisos (opción por defecto):
Para encriptar igual que el caso anterior pero asignando una contraseña "miclv" que permite abrir el archivo de salida:
Igual que el caso anterior pero con permiso de impresión:
Para desencriptar:
Para repara un archivo pdf:
Para descomprimir un archivo pdf para su posterior edición en algún editor de texto:
Para separar cada una de las páginas del documento:
Para generar un reporte del documento:
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:
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:
Guardamos y cerramos.
Le asignamos permisos de ejecución al usuario:
(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.
Posee una muy buena colección de acciones que podremos ejecutar sobre este tipo de documentos, entre las cuales podemos mencionar:
A continuación explicaré algunas de estas.
Línea de comando
pdftk archivo1.pdf archivo2.pdf cat output salida.pdf
pdftk A=archivo1.pdf B=archivo2.pdf cat A B output salida.pdf
pdftk *.pdf cat output salida.pdf
pdftk A=uno.pdf B=dos.pdf cat A1-7 B1-5 output salida.pdf
pdftk A=archivo1.pdf cat A1-12 A14-end output salida.pdf
pdftk archivo.pdf output archivo_encriptado.pdf owner_pw foopass
pdftk archivo.pdf output archivo_encriptado.pdf owner_pw foo user_pw miclv
pdftk archivo.pdf output archivo_encriptado.pdf owner_pw foo user_pw miclv allow printing
pdftk asegurado.pdf input_pw foopass output inseguro.pdf
pdftk corrupto.pdf output arreglado.pdf
pdftk midoc.pdf output midoc_desc.pdf uncompress
pdftk in.pdf burst
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
Comentarios
Estoy tratando de usar el pdftk pero me encuentro con un inconveniete al generar al fdf, pues hay algo que no entiendo> cuando genero el fdf que se supone que deba colocar en los Fields, si se que el nombre de cada Field seguido de su valor, se la sintaxis lo que no se es COMO saber cual es el NOMBRE de cada Field en la planilla..
Gracias
pdftk original.pdf generate_fdf output salida.fdf
Luego revisas el archivo generado (salida.fdf) para conocer el nombre de los "campos".
Pero todavía se puede editar usando flpsed o gimp.
En -configure custon actions- añaden una nueva llamada PDFmerge o lo que quierna, y en el comando escriben esto:
pdftk %F output %f.pdf
y yap...
luego seleccionan los .pdfs que quieran unir, click derecho y encontraran la acción, la corren y su nuevo .pdf se llamar agual que el primer archivo pero con doble extencion... xxx.pdf.pdf
supongo que se puede mejorar pero a mi me funciona así.
exitos