将 Pdf 转换为多幅图像 (png,jpg)

将 Pdf 转换为多幅图像 (png,jpg)

我读过链接:https://www.overleaf.com/blog/613-tip-of-the-week-how-to-convert-typeset-pdf-pages-into-raster-image-formats

我使用 Texmarker 5.0.3 我可以将 main.pdf 转换为多幅图像(每页 = 一幅图像)吗?

示例代码:

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

预先感谢

答案1

在 (完整) TeXLive 发行版中,有一个有趣的实用程序,pdftoppm可以使用一些选项将 PDF 转换为 PNG(例如,在我的 Windows 机器上C:\texlive\2018\bin\win32\pdftoppm.exe)。不可否认的优势是无需安装任何东西。

运行cmdpdftoppm -help,您将获得以下输出,了解该实用程序的工作原理:

在此处输入图片描述

因此,例如,只要写

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

将 LaTeX 生成的两页 PDF 输出 ( Name_Of_My.pdf) 转换为单独的图像文件My_Images-1.pngMy_Images-2.png,其中生成的 PNG 文件的前缀名称 ( My_Images) 来自上面命令行的最后一部分。

上面的 MWE 的 PNG 输出如下......

在此处输入图片描述

答案2

如果我理解正确的话,PDF->图像步骤不是由 LaTeX 完成的,而是由外部调用convert(部分ImageMagick 套件)因此,这也许与主题无关,但是...

基本上,一旦您安装了它,您就应该能够使用这个命令(至少在 Linux 中,我认为在其他操作系统中也会一样):

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

并且您的页面分辨率为 300 dpi,名为page-0.pngpage-1.png等等。

请注意,最新版本convert可能会有问题。请务必阅读https://stackoverflow.com/questions/42928765/convertnot-authorized-aaaa-error-constitute-c-readimage-453https://github.com/ImageMagick/ImageMagick/issues/396然后,如果您有错误,请编辑您的/etc/ImageMagick-6/policy.xml内容:

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

在原始文件中,限制rightsnone低得多,这会妨碍中等大小 PDF 文件的执行。

答案3

我发现pdftoppm(poppler 工具) 比 imagemagick/convert 效率更高,质量也更好 (当我使用 convert 设置过高的质量时,它会崩溃)。例如,您可以执行以下操作:

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

它会创建许多图像output-prefix-01.jpg,如output-prefix-02.jpg……(0 的数量取决于文件的数量)

相关内容