Manipular PDFs en línea de comandos

📆 11 de mayo de 2020

Uno de los retos que ha traído el confinamiento a la docencia es el de preparar temas, tareas, textos y un montón de documentos que se trabajaban en clase normalmente mediante fotocopias y que ahora necesitan distribuirse por medios digitales.

Es evidente que cuanto menor sea el número de documentos que se envían o reciben menor será la desorganización tanto para el alumno como para el profesor.

Con los ficheros de procesadores de texto (MS Office o LibreOffice) es fácil ir añadiendo contenidos pero otras veces hace falta manipular ficheros en formato PDF. Seleccionar algunas páginas, unir dos PDF o crear un PDF a partir de imágenes sueltas. Existen programas de escritorio para estas tareas pero son operaciones que se pueden resolver con facilidad desde la línea de comandos.

Convert

Convert es una herramienta de la librería Imagemagick. Está enfocada en la conversión de formatos de imagen pero, además, permite unir varios ficheros de imagen en un único archivo pdf.

convert image1.jpg image2.jpg image3.jpg images.pdf

También se puede utilizar para unir varios archivos PDF pero el inconveniente es que remuestrea la información, con lo que se puede producir una pérdida de calidad considerable. Se puede controlar la calidad del archivo resultante pero es fácil que el tamaño final del archivo sea demasiado grande.

En realidad, no se trata de que convert no funcione bien sino que este uso no es el más adecuado. Para unir ficheros pdf es mejor usar PDFunite.

PDFunite

PDFunite forma parte de la librería de utilidades Poppler. En concreto es una herramienta para unir archivos en formato PDF.

Utilizar pdfunite es muy sencillo porque solo necesitamos colocar el nombre de los ficheros en el orden en el que queremos que aparezcan y el nombre del fichero resultado al final.

pdfunite archivo1.pdf archivo2.pdf archivo-final.pdf

PDFunite no manipula la resolución ni altera la información de los ficheros iniciales por lo que es muy rápida y ofrece la misma calidad final que los ficheros iniciales.

PDFseparate

Ideal cuando queremos entresacar hojas de un fichero PDF. Esto se puede hacer de forma gráfica, por ejemplo, con evince si abrimos el fichero e imprimimos solo las páginas que nos interesan a un archivo, en vez de usar como salida la impresora.

Con PDFseparate simplemente indicamos el nombre del archivo y el nombre del archivo de salida indicando un código para nombrar las páginas

pdfseparate fichero.pdf fichero-final%d.pdf

nos dará como resultado todas las páginas del archivo nombradas como fichero-final1.pdf, fichero-final2.pdf…

Con las opciones -f y -l podemos indicar la página inicial y la final

Puedes compartir el enlace si te gustó: Manipular PDFs en línea de comandos

También puedes dejarme un mensaje:





(Esto funciona gracias a Un-static Forms)