Leí el enlace:https://www.overleaf.com/blog/613-tip-of-the-week-how-to-convert-typeset-pdf-pages-into-raster-image-formats
Uso Texmarker 5.0.3. ¿Puedo convertir main.pdf a varias imágenes (cada página = una imagen)?
Código de ejemplo:
\documentclass[11pt]{article}
\usepackage{blindtext}
%\usepackage{tikz}
\usepackage{tcolorbox}
\begin{document}
\blindtext
\begin{tcolorbox}[width=\textwidth,height=5cm]
ABC DEF
\end{tcolorbox}
\blindtext
\newpage
\clearpage
\blindtext
\begin{tcolorbox}[width=\textwidth,height=5cm]
XXX YYY
\end{tcolorbox}
\blindtext
\end{document}
Gracias de antemano
Respuesta1
En la distribución (completa) TeXLive hay una utilidad interesante llamada pdftoppm
que puede convertir PDF a PNG con algunas opciones (por ejemplo, en mi máquina Windows C:\texlive\2018\bin\win32\pdftoppm.exe
). La innegable ventaja es que no es necesario instalar nada.
Al ejecutar cmd
con pdftoppm -help
, obtiene el siguiente resultado que informa cómo funciona la utilidad:
Por lo tanto, basta con escribir, por ejemplo,
C:\path\to\my\PDFfile pdftoppm -f 1 -l 2 -r 300 -png Name_Of_My.pdf My_Images
para convertir la salida PDF de dos páginas generada por LaTeX ( Name_Of_My.pdf
) en archivos de imagen separados My_Images-1.png
y My_Images-2.png
, donde el nombre del prefijo ( My_Images
) de los archivos PNG generados proviene de la última parte de la línea de comando anterior.
La salida PNG de su MWE anterior es la siguiente...
Respuesta2
Si entiendo correctamente, el paso PDF->imagen no lo realiza LaTeX, sino mediante una llamada externa a convert
(parte deSuite ImageMagick). Quizás esto esté fuera de tema, pero...
Básicamente, una vez que lo hayas instalado, deberías poder usar este comando (al menos en Linux, creo que será lo mismo en otros sistemas operativos):
convert -density 300 -background white -alpha remove -alpha off pdf-file.pdf page.png
y tendrás tus páginas a 300 ppp, con nombre page-0.png
, page-1.png
etc.
Tenga en cuenta que lo último convert
puede tener problemas. Asegúrate de leerhttps://stackoverflow.com/questions/42928765/convertnot-authorized-aaaa-error-constitute-c-readimage-453yhttps://github.com/ImageMagick/ImageMagick/issues/396y luego, si tiene errores, edite el suyo /etc/ImageMagick-6/policy.xml
para decir:
<policy domain="resource" name="memory" value="4GiB"/>
<policy domain="resource" name="map" value="4GiB"/>
<policy domain="resource" name="width" value="128KP"/>
<policy domain="resource" name="height" value="128KP"/>
<policy domain="resource" name="area" value="1.28GP"/>
<policy domain="resource" name="disk" value="8GiB"/>
<policy domain="coder" rights="read|write" pattern="PS" />
<policy domain="coder" rights="read|write" pattern="EPS" />
<policy domain="coder" rights="read|write" pattern="PDF" />
<policy domain="coder" rights="read|write" pattern="XPS" />
En los archivos originales, los límites rights
eran none
mucho más bajos, lo que dificultará la ejecución de un archivo PDF de tamaño mediano.
Respuesta3
Considero que pdftoppm
(la herramienta poppler) es mucho más eficiente que imagemagick/convert, con una mejor calidad (cuando configuro una calidad demasiado alta con convert, falla). Por ejemplo, puedes hacer:
pdftoppm -jpeg -r 300 -scale-to-x 1920 -scale-to-y 1080 yourfile.pdf output-prefix
y creará muchas imágenes como output-prefix-01.jpg
, output-prefix-02.jpg
… (el número de 0 se determina dependiendo del número de archivos)