pdftk es una aplicación muy útil y fácil de utilizar para separar y unir archivos PDF en la linea de comando de Ubuntu ( y cualquier distribución de linux ).
Aunque se que a muchos les asusta la línea de comandos y el terminal, realmente no es muy difícil de utilizar y con los ejemplos que veremos a continuación verán que fácil es separar y unir archivos y algunos métodos adicionales de como rotar las páginas en un PDF.
Instalación
Ubuntu ( también sirve en Debian o cualquier derivado de esta) :sudo apt-get install pdftk
Fedora ( también sirve para CentOS y RedHat) :
sudo yum install pdftk
Eso es todo para la instalación
Para los siguientes ejemplos vamos a
suponer como archivo principal archivo_grande.pdf y para los archivos a
unir archivo1.pdf y archivo2.pdf
Como separar un Archivo PDF en una página por archivo
Si tenemos un archivo PDF que queremos separar en un archivo por cada página que contenga ejecutamos el siguiente comando:pdftk archivo_grande.pdf burst
Esto nos dará como resultado un archivo por página en la misma carpeta donde ejecutamos el comando. Seran llamados algo como pg_0001.pdf, pg_0002.pdf …. si nuestro PDF tiene 10 páginas esto generará 10 archivos.
No se modificará el archivo principal.
Estoy suponiendo que estás ejecutando
el comando en la carpeta donde está el archivo PDF, sino tendrás que
colocar la ruta completa del archivo o moverte a la carpeta con el
comando cd /ruta_del_archivo
Como Unir Dos Archivos PDF
Si lo que queremos es unir dos archivos, digamos por ejemplo archivo1.pdf y archivo2.pdf en un solo PDF ejecutamos el siguiente comando:pdftk archivo1.pdf archivo2.pdf output final.pdf
Este comando generará un nuevo archivo llamado final.pdf donde estará el contenido de archivo1 y archivo2 unido en el mismo orden que colocamos los archivos en el comando.
Si lo que queremos es unir todos los archivos PDF dentro de una carpeta ejecutamos
pdftk *.pdf cat output final.pdf
Un ejemplo más avanzado: Supongamos un caso donde tenemos un archivo de 10 páginas y queremos eliminar la primera y la quinta página. Para esto ejecutamos el siguiente comando:
pdftk archivo_grande.pdf cat 2-4 6-end output salida.pdf
Vamos a explicar el comando:
- archivo_grande es nuestro archivo PDF de 10 páginas en este caso.
- cat es para indicarle a pdftk que una lo que vamos a colocar a continuación.
- 2-4 es el rango de las páginas 2 a 4, ya que queremos eliminar la primera no la colocamos.
- Luego 6-end le indicamos que una lo anterior con la página de la 6 hasta el final, por lo que nos saltamos la página 5 que también queríamos eliminar.
- output salida.pdf , esta va a ser la salida de nuestro programa un nuevo archivo llamado salida.pdf.
También podemos ponernos más creativos y unir diferentes páginas de dos archivos distintos. Supongamos queremos de archivo1 las páginas del 1 al 3 y unir eso con las páginas del 6 al 9 del archivo2. Tenemos que usar “alias” que es darle un nombre corto a nuestros archivos el comando sería:
pdftk A=archivo1.pdf B=archivo2.pdf cat A1-3 B6-9 output salida.pdf
Eso es todo aquí vamos a generar un nuevo archivo llamado salida.pdf con las páginas que dijimos del 1 al 3 de archivo1 y del 6 al 9 de archivo2. Bastante poderoso no?. Nota que utilizamos A y B como los alias para los archivos!
Adicional : Rotar páginas de un Archivo PDF
Tenemos varias opciones de rotación podemos rotar la primera página 90 grados ejecutando:pdftk archivo1.pdf cat 1E 2-end salida.pdf
Aquí con la opción E delante del número de página que queremos rotar, hace un giro de la página de 90 grados luego usamos 2-end para volverla a unir al resto del documento y generar el archivo salida.pdf.
Si queremos rotar 180 grados ejecutamos
pdftk archivo1.pdf cat 1S 2-end salida.pdf
Lo mismo que el anterior pero utilizando la opción S delante de la página que queremos rotar.
Si queremos rotar todo el documento utilizamos 1-endE o S según sea el caso.
pdftk tiene algunas opciones adicionales, como por ejemplo proteger un archivo con contraseña, llenar formas, intentar reparar archivos dañados. Puedes encontrar estas opciones ejecutando:
man pdftk
También pueden conseguir información adicional (en inglés) aquí:
http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/