ImageMagick生成损坏的PDF文件

时间:2018-08-23 12:13:36

标签: imagemagick imagemagick-convert mogrify

当我尝试通过执行命令使用ImageMagick将图像转换为PDF时

mogrify -format pdf ImageMagick.png

生成的PDF已损坏。当我尝试使用MuPDF打开它时,它失败了:

error: cannot recognize version marker
warning: trying to repair broken xref
warning: repairing PDF document
error: name too long
warning: skipping ahead to next token
error: invalid key in dict
error: invalid key in dict
error: name too long
warning: skipping ahead to next token
error: no objects found
mupdf: error: cannot open document

使用-verbose-标志的ImageMagick的输出为:

ImageMagick.png PNG 600x621 600x621+0+0 8-bit sRGB 123261B 0.020u 0:00.009
ImageMagick.png=>ImageMagick.pdf PNG 600x621 600x621+0+0 8-bit sRGB 122974B 0.070u 0:00.060

PDF文件的问题似乎在于,文件的开头字节不是%PDF-

这是我的输入文件input-file

这是the resulting PDF

我的系统:

  • Arch Linux
  • ImageMagick 7.0.8-8 Q16 x86_64 2018-08-01(通过执行pacman -S imagemagick安装)

2 个答案:

答案 0 :(得分:1)

问题是未安装ghostscript。未安装ghostscript时,ImageMagick似乎不会引发错误。

要安装ghostscript,请使用 pacman -S ghostscript

答案 1 :(得分:0)

您的命令只是在其自身上重写PNG。我不知道ImageMagick.pdf文件是如何生成的,但实际上它只是带有PDF文件名的PNG图像。尝试以下操作之一...

convert ImageMagick.png ImageMagick.pdf

...或...

mogrify -format PDF -path ./ ImageMagick.png