35

我想有效地将​​多页 pdf 转换为单页图像。

我已经知道如何使用 imagemagick 一次完成这一页。例如,

convert x.pdf[2] x3.jpg

会给我pdf的第3页作为图像。因此,如果我使用identify 找出pdf 中有多少页,那么我可以遍历并将 pdf 中的所有页面转换为图像。但是,此方法可能需要一段时间。例如,一个 15 页的 pdf 可能需要 15-30 秒之间的任何时间。

根据我在其他地方(也在 imagemagick 论坛上)看到的答案,以下 imagemagick 命令应该将 pdf 拆分为多个图像。

convert x.pdf x-%0d.jpg

但这一切最终都是创建名为x-0.jpg的第一页

作为替代方案,我尝试使用具有突发功能的 pdftk。我在那里遇到的问题是,burst 并非在所有情况下都有效。它适用于某些 pdf,但不适用于其他一些 pdf。

任何关于如何改进的建议都会有所帮助。

我的操作系统是 Mac OSX Lion,但我也需要在 CentOS 6 上使用它。

4

4 回答 4

46

您缺少数字的数量。利用:

convert x.pdf x-%04d.jpg

其中4意味着 4 位数字将显示在页数上。

于 2014-07-01T23:34:18.857 回答
5

如果您在 Debian 上使用 Graphicsmagick 或在 macOS 上使用 ImageMagick,您可能必须将 ADJOIN 添加到您的命令中。所以它应该看起来像

convert x.pdf +adjoin x-%04d.jpg
于 2018-07-16T11:01:48.783 回答
4

当我尝试转换我的多页 pdf 时,尽管 pdf 具有白色背景,但生成的图像文件具有灰色背景。(@John P 对已接受的答案发表了评论,但我无法让他的评论直接为我工作。)

这对我来说是使背景变白的方法:

convert -authenticate yourpassword -background white -alpha remove -alpha off -density 300 -quality 80 -verbose "Your file.pdf" "Your file.png"

我的 pdf 有密码,因此需要验证。您可以在此处查看选项摘要:

- 使用此密码验证值解密图像

-背景颜色背景颜色

-alpha on、activate、off、deactivate、set、opaque、copy"、透明、提取、背景或塑造 alpha 通道

-密度几何图像的水平和垂直密度

-质量值 JPEG/MIFF/PNG 压缩级别

-verbose 打印有关图像的详细信息

更多细节:https ://imagemagick.org/script/convert.php

和 alpha 删除选项:http ://www.imagemagick.org/Usage/masking/#alpha_remove

于 2020-05-15T01:32:56.853 回答
0

遇到同样的问题。重新安装 Imagemagick 以在 Mountain Lion 中工作。如果您使用 brew 简单

  $brew unlink imagemagick
  $brew install imagemagick
于 2013-12-12T00:44:45.150 回答