1

当我尝试通过执行命令使用 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

ImageMagick 使用-verbose-flag 的输出是:

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-.

这是我的输入文件输入文件

这是生成的PDF

我的系统:

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

2 回答 2

2

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

要安装 ghostscript 使用 pacman -S ghostscript

于 2018-08-24T08:48:00.653 回答
0

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

convert ImageMagick.png ImageMagick.pdf

... 或者 ...

mogrify -format PDF -path ./ ImageMagick.png
于 2018-08-23T12:33:13.397 回答