Poppler es buena cosa.
Aparte de ser una librería chula para renderizar contenido a PDF es al mismo tiempo un conjunto de herramientas muy chulas. En este post voy a dejar unas pequeñas instrucciones rápidas de como compilar poppler y hacer algo con estas herramientas.
El tema es que xpdf es un buen visor de pdfs para Linux. Cumple con su cometido, es rápido, consume pocos recursos y en definitiva funciona a las mil maravillas para ver pdfs.
Poppler se basa en el código fuente de xpdf-3.0.
Tiene un nombre que le será familiar si ha visto Futurama. Los popplers salen en el episodio 18 de la segunda temporada, en el que se llama «The problem with Popplers».
Compilar desde el código fuente
Una forma de compilar esto en GNU/Linux Debian (probado en una Debian 9, pero tendría que funcionar en una 10 sin mucho problema):
# apt install cmake make git gcc g++ libfreetype6-dev pkg-config cmake-data libfontconfig1-dev # apt install libtiff5-dev libjpeg-dev qt5-qmake qt5-default libnss3-dev libopenjp2-7-dev # apt install libcurl4-nss-dev libcairo2-dev liblcms2-dev libzstd-dev libzzip-dev $ git clone https://anongit.freedesktop.org/git/poppler/poppler.git $ cd poppler $ mkdir build $ cd build $ cmake .. $ make # make install
Algo que es importante son las poppler-utils. Al compilar veremos que se compilan estas utilidades basadas en la librería poppler.
Algunas de ellas son las siguientes:
* pdfattach — new util
* pdfdetach — lists or extracts embedded files (attachments)
* pdffonts — font analyzer
* pdfimages — image extractor
* pdfinfo — document information
* pdfseparate — page extraction tool
* pdftocairo — PDF to PNG/JPEG/PDF/PS/EPS/SVG converter using Cairo
* pdftohtml — PDF to HTML converter
* pdftoppm — PDF to PPM/PNG/JPEG image converter
* pdftops — PDF to PostScript (PS) converter
* pdftotext — text extraction
* pdfunite — document merging tool
* pdfsig
* …
Unir diferentes PDF en GNU+Linux con Poppler
Con pdfinfo podemos ver información sobre los metadatos de un archivo. Podemos ver ben que versión de PDF se ha renderizado por ejemplo.
Lo interesante es que si trabajas con Inkscape (svg, gráficos vectoriales) vas a poder guardar en pdf pero … en pdfs separados.
La forma de unirlos puede ser con el comando pdfunite así:
$ pdfunite archivo1.pdf archivo2.pdf archivo3.pdf finalyjunto.pdf
El resultado final será un pdf llamado finalyjunto.pdf que contiene los otros 3 pdfs que le hemos metido.
Se pueden meter más evidentemente pero el ultimó nombre de archivo que metamos como parámetro será el archivo resultante.
Y esto es más o menos lo que quería comentar sobre poppler. Aparte de tener un buen nombre es una suite de utilidades muy buena para realizar scripts que nos permitan trabajar con pdfs.
Saludos cordiales.