Converter PDF em várias imagens (png,jpg)

Converter PDF em várias imagens (png,jpg)

Eu li o link:https://www.overleaf.com/blog/613-tip-of-the-week-how-to-convert-typeset-pdf-pages-into-raster-image-formats

eu uso o Texmarker 5.0.3 Posso converter main.pdf em várias imagens (cada página = uma imagem)?

Código de exemplo:

\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}

Agradeço antecipadamente

Responder1

Na distribuição (completa) do TeXLive existe um utilitário interessante chamado pdftoppmque pode converter PDF para PNG com algumas opções (por exemplo, na minha máquina Windows C:\texlive\2018\bin\win32\pdftoppm.exe). A vantagem inegável é que não há necessidade de instalar nada.

Executando cmdcom pdftoppm -help, você obtém a seguinte saída que informa como o utilitário funciona:

insira a descrição da imagem aqui

Portanto, basta escrever, por exemplo,

C:\path\to\my\PDFfile pdftoppm -f 1 -l 2 -r 300 -png Name_Of_My.pdf My_Images

para converter a saída PDF de duas páginas gerada pelo LaTeX ( Name_Of_My.pdf) para arquivos de imagem separados My_Images-1.pnge My_Images-2.png, onde o nome do prefixo ( My_Images) dos arquivos PNG gerados vem da última parte da linha de comando acima.

A saída PNG do seu MWE acima segue...

insira a descrição da imagem aqui

Responder2

Se bem entendi, o passo PDF->image não é feito pelo LaTeX, mas por uma chamada externa para convert(parte doSuíte ImageMagick). Então talvez isso esteja fora do assunto, mas...

Basicamente, depois de instalado, você poderá usar este comando (pelo menos no Linux, acho que será o mesmo em outros sistemas operacionais):

 convert -density 300 -background white -alpha remove -alpha off pdf-file.pdf page.png 

e você terá suas páginas com 300 dpi, denominadas page-0.png, page-1.pnge assim por diante.

Observe que o mais recente convertpode ter problemas. Não deixe de lerhttps://stackoverflow.com/questions/42928765/convertnot-authorized-aaaa-error-constitute-c-readimage-453ehttps://github.com/ImageMagick/ImageMagick/issues/396e então, se você tiver erros, edite o seu /etc/ImageMagick-6/policy.xmlpara dizer:

  <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" />

Nos arquivos originais, o rightsvalor nonee os limites são bem menores, o que dificultará a execução de um arquivo PDF de tamanho médio.

Responder3

Acho pdftoppm(poppler tool) muito mais eficiente que o imagemagick/convert, com uma qualidade melhor (quando defino uma qualidade muito alta com o convert, ele trava). Por exemplo, você pode fazer:

pdftoppm -jpeg -r 300 -scale-to-x 1920 -scale-to-y 1080 yourfile.pdf output-prefix

e criará muitas imagens como output-prefix-01.jpg, output-prefix-02.jpg… (o número 0 é determinado dependendo do número de arquivos)

informação relacionada