【问题标题】:ImageMagick is converting only the first page of the pdfImageMagick 仅转换 pdf 的第一页
【发布时间】:2011-06-16 02:38:29
【问题描述】:

我在使用 ImageMagick 时遇到了一些问题。

我在 Windows 7 - 32Bit 上安装了 GhostScript v9.00 和 ImageMagick-6.6.7-1-Q16

当我在 cmd 中运行以下命令时

转换 D:\test\sample.pdf D:\test\pages\page.jpg

只有 pdf 的第一页被转换为 pdf。我也试过以下命令

转换 D:\test\sample.pdf D:\test\pages\page-%d.jpg

这会将第一个 jpg 创建为 page-0.jpg,但不会创建另一个。 如果有人能对此有所了解,我将不胜感激。谢谢。

更新:

我已经使用 -debug "All" 运行了命令

许多行中的一条说:

2011-01-26T22:41:49+01:00 0:00.727 0.109u 6.6.7 Configure Magick[5800]: nt-base.c/NTGhostscriptGetString/1008/Configure
registry: "HKEY_CURRENT_USER\SOFTWARE\GPL Ghostscript\9.00\GS_DLL" (failed)

这可能与 GhostScript 有关系吗?

【问题讨论】:

  • 最后那个命令是对的,PDF有多页吗,可以直接访问吗?
  • 是的,当我执行此命令时 convert .\test\sample.pdf[2] .\test\pages\page.jpg 它确实转换了第二页。
  • @ElGabbu:但是 [2] 是针对 third 页面的。 [0] 是 first 一个(计数从零开始...)

标签: pdf imagemagick


【解决方案1】:

您可以通过在文件名后面的 [] 中输入数字来指定要转换的页面:

convert D:\test\sample.pdf[7] D:\test\pages\page-7.jpg

但是,它应该已经使用您的命令将所有页面转换为单独的图像。

【讨论】:

  • 您好,感谢您的回复,事实上,当我执行以下命令时,您是正确的 convert .\test\sample.pdf[2] .\test\pages\page.jpg 它确实转换了第二页正确的pdf。我在另一台机器上做了同样的测试,也遇到了同样的问题。我使用 GhostScript 或 ImageMagick 的某些版本可能有问题吗?
  • 可能是。我的理解是“转换”将执行 PDF 的所有页面,除非您特别限制为带有 [] 符号的单个页面。所以......要么你的版本很傻,要么发生了其他事情。
  • 好吧,结果证明pdf有问题:S ...尝试使用其他PDF文件进行测试...并成功转换了129页的pdf。我现在要做更多的测试,看看情况如何。再次感谢您的关注。我会标记你的答案只是为了表达我的感激之情。
  • 添加 [xx] 让我“无法打开图像”在 windows 下没有这样的文件或目录!?
  • [7] 将是 第八 页。 [0]第一个。计数是从零开始的......
【解决方案2】:

顺便说一句,如果您需要转换第一页和第二页,请在数组中提供逗号分隔值

convert D:\test\sample.pdf[0,1] D:\test\pages\page.jpg

生成的 JPEG 文件将被命名:

  • 对于第 1 页:page-0.jpg
  • 对于第 2 页:page-1.jpg

你也可以这样做

convert D:\test\sample.pdf[10,15,20-22,50] D:\test\pages\page.jpg

生成的 JPEG 文件将被命名:

  • 第 11 页:page-10.jpg
  • 第 16 页:page-15.jpg
  • 第 21 页:page-20.jpg
  • 第 22 页:page-21.jpg
  • 第 23 页:page-22.jpg
  • 第 51 页:page-50.jpg

可能会对某人有所帮助。

【讨论】:

    【解决方案3】:

    根据 ImageMagick 论坛的站点管理员:​​

    ImageMagick 在找到 Adob​​e 时使用 pngalpha 设备 插图画家 PDF。其中许多是单页。理想情况下,Ghostscript 将支持允许多个 PDF 页面的设备 透明度,但它不...

    轻松修复。 编辑 delegates.xml 并将 pngalpha 更改为 pnmraw。

    这对我有用。我不知道它是否会引入任何其他问题。

    this post from their forums

    【讨论】:

      【解决方案4】:

      我找到了将 pdf 中的所有页面转换为单个 jpg 图像的解决方案:

      montage input.pdf -mode Concatenate -tile 1x output.jpg
      

      蒙太奇包含在 ImageMagick 中。

      在 Ubuntu 13.04 上的 ImageMagick 6.7.7-10 上测试。

      【讨论】:

      • 谁能帮我在哪里写这个命令来将PDF的所有页面转换为单个图像。我的系统中安装了 Imagemagick。
      • @RahulSinha 打开一个控制台窗口并导航到您的 pdf 文件的位置。在那里执行命令,如果蒙太奇可执行文件不在路径中,您应该先找到它。
      • 感谢您的帮助。
      【解决方案5】:

      我遇到了与 GhostScript 类似的问题。这可以通过在输出文件名中使用 %03d 迭代器来求解。这是一个例子:

      gs -r300 -dNOPAUSE -dBATCH -sDEVICE#pngalpha -sOutputFile=output-%03d.png input.pdf
      

      这里是详细信息的参考:https://ghostscript.com/doc/current/Devices.htm

      【讨论】:

        猜你喜欢
        • 2012-09-18
        • 1970-01-01
        • 2016-10-26
        • 1970-01-01
        • 2019-12-17
        • 2013-06-03
        • 2014-06-19
        • 2012-04-15
        • 2015-04-01
        相关资源
        最近更新 更多