Saltar al contenido

Cómo guardar una figura producida por tikz guardar/exportar como archivo JPG/PNG

Investigamos por el mundo on line para traerte la respuesta a tu dilema, si continúas con dudas deja tu comentario y te contestaremos con gusto, porque estamos para ayudarte.

Solución:

En primer lugar, asegúrese de haber instalado ImageMagick ya que el siguiente código usa ImageMagick convert dominio.

Una vez que haya obtenido una salida PDF, debe convertirla a PNG utilizando el siguiente archivo por lotes denominado pdf2png.bat. Es conveniente registrar la ruta del lote a la variable del sistema.

rem pdf2png.bat
echo off
rem %1 PDF filename without extension
rem %2 density
rem %3 alpha, choose one of on,off,remove

del "%~1-*.png"

convert -compose copy -bordercolor red -border 3x3 -density %2 -alpha %3 "%~1.pdf" "%~1-%%02d.png" 

Notas:

  • %1 es el primer argumento obligatorio que especifica el nombre de archivo (sin extensión) de su PDF para convertir.
  • %2 es el segundo argumento obligatorio que especifica la densidad. La mayor densidad hace que la dimensión PNG sea más grande.
  • %3 es el tercer argumento obligatorio que especifica si se preserva o no la transparencia. Usar on si desea conservar la transparencia, de lo contrario elija remove. no uso off porque produce una salida pésima.
  • Agregué una característica adicional de modo que la salida estará encerrada por un rectángulo rojo. Si no le gusta esta función, elimine -compose copy -bordercolor red -border 3x3 del código de arriba.

Ejercicio

Es solo un ejemplo. Su escenario en el que obtiene un PDF puede ser diferente al mío. Mi escenario es el siguiente: compilar el siguiente archivo de entrada con latex->dvips->ps2pdf para obtener una salida en PDF.

% myfilename.tex

documentclass[pstricks,border=12pt]standalone
usepackagepst-eucl
addtopsstylegridstylegridlabels=0
begindocument
beginpspicture[showgrid](4,3)
    pstGeonode[
        PointName=none,
        PointSymbol=x,none,x,
        dotscale=2]
    (0,0)A
    (1,3)B
    (4,1)C
    psline(A)(B)(C)
endpspicture
enddocument

Puede invocar el lote desde el editor de su elección, pero aquí invoco el lote desde el indicador de DOS:

ingrese la descripción de la imagen aquí

La salida es:

ingrese la descripción de la imagen aquí

El rectángulo rojo es el borde producido por -compose copy -bordercolor red -border 3x3.

¡Atención!

Para los usuarios de Windows, la convert sola ya no funciona. En su lugar, debe ir precedido por ambos magick y un espacio porque convert tiene un significado especial en Windows.

Acrobat Reader permite guardar un PDF como JPG. Simplemente compile cada archivo LaTeX. Ábralos en Acrobat y guárdelos como JPG.

Puede automatizar el proceso modificando el comando de externalización como en https://tex.stackexchange.com/a/22161 o https://tex.stackexchange.com/a/40795

Esto es lo que yo personalmente usaría:

documentclassarticle
usepackagetikz
usetikzlibraryexternal
tikzexternalize[mode=list and make]

tikzset
    png export/.style=
        % First we call ImageMagick; change settings to requirements
        external/system call/.add=; convert -density 300 -transparent white "image.pdf" "image.png",
        % Now we force the PNG figure to be used instead of the PDF
        /pgf/images/external info,
        /pgf/images/include external/.code=
            includegraphics[width=pgfexternalwidth,height=pgfexternalheight]##1.png
        ,
    


begindocument


% Here we specify the figure will be converted and inserted as PNG
tikzsetpng export
begintikzpicture
    draw (0,0) circle (1) ;
endtikzpicture


% This figure will be inserted as PDF
begintikzpicture
    draw (0,0) circle (1) ;
endtikzpicture
enddocument

Porque me permite convertir solo las cifras que quiero convertir. Consulte el primer enlace si necesita que se realice la conversión para todas las cifras.

Si piensas que te ha resultado de provecho nuestro artículo, agradeceríamos que lo compartas con más entusiastas de la programación y nos ayudes a dar difusión a esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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