Una amiga me comentaba hace unos días la necesidad de crear un documento en PDF a partir de muchos documentos PDF sueltos, tenía que entregar un trabajo en PDF y lo tenía hecho página por página. Busqué por internet y encontré una solución simple: una utilidad llamada PdfTk que es libre (GPL) y multiplataforma (funciona en GNU/Linux, FreeBSD, Solaris, Mac OS X y Windows), y además nos permite hacer muchas más cosas, aquí la lista:
- Unir distintos PDFs en uno solo
- Dividir un PDF para extraer sus páginas
- Rellenar formularios PDF
- Extraer los metadatos
- Extraer los archivos adjuntos de un documento PDF
- Reparar PDFs corruptos cuando es posible
- Cifrar/descifrar documentos mediante contraseña
- Aplicar una marca de agua al fondo del documento
- etc
Este programa funciona en línea de comandos (hay una GUI que no es oficial y que yo no he probado). Lo que viene a continuación son algunos ejemplos prácticos de las opciones que yo he probado, que són las más básicas, lo demás lo probaré el dia que lo necesite:
Unir distontos documentos PDF en un documento PDF final:
$ pdftk doc1.pdf doc2.pdf doc3.pdf cat output doc-unido.pdf
También podríamos usar comodines (*, ?, [a-z], etc), este es el ejemplo más sencillo:
$ pdftk doc?.pdf cat output doc-unido.pdf
Incluso podemos usar variables, esto es tremendamente útil si lo usamos en scripts o si el comando se vuelve realmente largo. Además nos permite seleccionar páginas concretas de cada documento. En el siguiente ejemplo crearemos un documento combinado que contendrá las 3 primeras páginas de doc1.pdf, las 2 primeras de doc2.pdf y la cuarta de doc3.pdf:
$ pdftk A=doc1.pdf B=doc2.pdf C=doc3.pdf cat A1-3 B1-2 C4 output doc-combinado.pdf
Podemos usar este sistema para invertir las páginas de un documento, en este caso supondremos que doc1.pdf tiene 5 páginas:
$ pdftk A=doc1.pdf cat A5-1 output doc1-inverso.pdf
Incluso podemos extraer por separado todas las páginas de un PDF. Este comando crea archivos con nombres pg_01.pdf, pg_02.pdf, etc… y otro archivo llamado doc_data.txt con los metadatos del PDF en nuestro directorio actual.
$ pdftk doc1.pdf burst
Si sólo queremos extraer los metadatos del documento, como por ejemplo el programa que se usó para crear el PDF, la fecha de creación, autor, número de páginas, etc podemos usar el parámetro dump_data:
$ pdftk doc1.pdf dump_data output metadatos.txt
Esto sólo es el principio, no olvidéis consultar la página man para más información, podéis ojearla online. Espero que os haya sido de utilidad.