为了将 100 页的 PDF 转换为单个 PNG 文件,我一直使用以下命令:
C:\Program files\ImageMagick\convert -density 150 -alpha Opaque file.pdf file.png
但这会导致 PNG 图像过饱和。因此我将命令修改为以下命令,并添加参数colorspace
:
C:\Program files\ImageMagick\convert -colorspace sRGB -density 150 -alpha Opaque file.pdf file.png
现在颜色看起来不错。但是,现在只转换了 PDF 的第一页,其他页面都被删除了。为什么?参数的顺序错了吗?我测试了不同的顺序,但都没有成功。
但是,直接访问后续页面(通过file.pdf[1]
等)是可行的。但为什么它不再批量转换整个文档了?
ImageMagick 版本信息:
Version: ImageMagick 6.8.1-9 2013-01-04 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2013 ImageMagick Studio LLC
Features: OpenMP
Delegates: bzlib freetype jp2 jpeg lcms lzma ps tiff x xml zlib
答案1
我使用了以下小解决方法来解决问题,但显然我不喜欢它:
for /L %%p in (1,1,100) do C:\ImageMagick\convert -colorspace sRGB -density 150 -alpha Opaque file.pdf[%%p] file-%%p.png
编辑:还有一个更好的解决方案:
- 在 ImageMagick 的
delegates.xml
部分中,将其<delegate decode="ps:alpha"
替换sDEVICE=pngalpha
为sDEVICE=pnmraw
- 使用
C:\ImageMagick\convert -colorspace sRGB -density 150 -alpha off file.pdf file.png