¿Cómo convertir un PDF resultante de Overleaf a imágenes?

Si usas LaTeX para generar todo tipo de documentos (textos, presentaciones, imágenes, etc.), en ocasiones puedes necesitar convertir el resultado en imágenes, ya sea para incluirlas en un sitio web o para compartirlas por redes sociales. Esto se lo puede realizar con relativa facilidad al trabajar en Overleaf.

Para esto, podemos utilizar la forma que emplea Overleaf para compilar los documentos: latexmk. Este script genera la compilación de nuestros documentos .tex y lo podemos configurar mediante un archivo llamado latexmkrc. Para revisar más a fondo esto, puedes acceder a los siguientes enlaces:

En esta ocasión, nos centraremos en cómo utilizar esto para exportar el resultado de compilar nuestro archivo .tex en imágenes.

Lo único que debemos hacer es crear un archivo llamado latexmkrc (sin ninguna extensión) y en este colocar el siguiente código (en un momento lo explico):

END { system('convert -density 400 -background white -flatten output.pdf Portada.jpeg'); }

El archivo latexmkrc siempre debe estar en la raíz del proyecto (fuera de cualquier carpeta).

Una vez que tengamos este archivo, al realizar la siguiente compilación del archivo .tex que en el que estemos trabajando, deberemos dar clic en el botón de Logs y archivos de salida (Logs and output files), luego en Otros logs y archivos (Other logs and files) y finalmente, seleccionar el archivo Portada.jpeg.

Listo, ya tenemos nuestra imagen.

Ahora, analicemos el código que colocamos.

  • Colocamos el comando END para indicarle a Perl (programa que emplea Overleaf para gestionar la compilación de LaTeX) que ejecute los siguientes comandos luego de realizar la compilación de LaTeX.

  • Colocamos system para indicar que lo que viene a continuación será un comando de sistema.

  • Colocamos convert para llamar el programa ImageMagick, el cual se encargará de efectuar la conversión a imagen; lo siguiente serán las opciones que serán pasadas a este programa (la lista completa de opciones puede ser encontrada aquí):

    • -density 400: indica la resolución con la que se transformará la imagen (en este caso, 400 dpi); de este parámetro (y el tamaño original de la página) dependerá el tamaño de la imagen.
    • background white: indica que el color de fondo será blanco.
    • flatten: indica que se fusionarán todas las capas de la imagen en una sola, eliminando transparencias.
    • output.pdf: es el nombre del archivo del cual se realizará la conversión; este no se debe cambiar.
    • Portada.jpeg: es el nombre del archivo resultante con la imagen; este lo podemos cambiar si deseamos, de igual manera, podemos colocar otra extensión de archivo como .png o .jpg.

    Si nuestro archivo PDF tiene varias páginas, se generará únicamente la imagen de la última página. Podemos generar la conversión de otra página indicando esto entre corchetes luego del nombre del archivo PDF, teniendo en cuenta que la numeración inicia en 0; es decir, si deseamos generar la conversión de la segunda página, el código que debe estar en nuestro archivo latexmkrc es:

    END { system('convert -density 400 -background white -flatten output.pdf[1] Portada.jpeg'); }
    

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *