Unión de PDFs protegidos con utilidades Linux

Publicada en Publicada en Antiguo Blog, GNU/Linux, Linux

Acabo de terminar un curso por elearning y quería juntar todos los apuntes de las distintas unidades didácticas en un solo archivo PDF, más cómodo de utilizar a la hora de buscar algún contenido en concreto con CTRL+F que ir abriendo uno por uno todos los archivos del curso, el cual constaba de 9 unidades.

Para ello generalmente utilizo pdftk, una herramienta para consola (aunque creo que hay por ahí una interfaz gráfica) que permite realizar diversas operaciones con los archivos PDF. En concreto el comando que une multitud de archivos pdf en uno solo es:

$ pdftk entrada00.pdf entrada02.pdf … cat output salida.pdf

El problema, es que al ejecutar dicho comando me aparece la siguiente salida duplicada tantas veces como archivos de entrada le he introducido:

Error: Failed to open PDF file:
entrada00.pdf
OWNER PASSWORD REQUIRED, but not given (or incorrect)

Razón por la cual me da un error y que no permite que se genere el archivo de salida:

Errors encountered.  No output created.
Done.  Input errors, so no output created.

Para solucionar este problema he probado con las utilidades Poppler, que permiten exportar un PDF a PS saltándose la protección de estos, y posteriormente convirtiendo el postscrip resultante de nuevo a PDF con las utilidades Ghostscript y me ha funcionado sin problemas, por lo que definitivamente los pasos seguidos son:

$ pdftops archivo.pdf (paquete poppler-utils)

$ ps2pdf archivo.ps (paquete gs-commons)

$ pdftk archivos.pdf cat output salida.pdf (paquete pdftk)

A este procedimiento habría que añadirle el ir borrando archivos temporales, y establecer las opciones y nombres de archivo de forma correcta para que funcione. Se podría hacer un script Bash que lo automatizara, pero la verdad es que para volver a hacerlo de “higos a brevas”, he preferido hacerlo manualmente, ya que utilizando el historial y el autocompletado de Bash es relativamente rápido (teniendo en cuenta que tan solo son nueve archivos).

Referencias:

  • http://www.accesspdf.com/pdftk/
  • http://poppler.freedesktop.org/
  • http://pages.cs.wisc.edu/~ghost/