GhostScript-当将Microsoft Print转换为PDF文件时,ImageMagick将pdf转换为图像为奇数字母

时间:2018-08-17 07:44:52

标签: node.js imagemagick centos7 ghostscript

注意:观看底部的更新。

我正在构建一个API,该API应该将PDF转换为base64图像(与哪种类型无关-jpg,jpeg,png ..)。

API是在CentOS 7.5 x64上使用NodeJS构建的。

我在网上搜索了将pdf转换为图像的npm软件包,其中大多数使用ImageMagick和GhostScript(其他似乎不起作用)。这些程序包可以很好地在代码上运行,但是问题在GhostScript起作用时就开始了。

例如,转换后的简单pdf文本页面如下所示: example of pdf conversion

这是外壳程序中的输出:

  **** Warning: can't process font stream, loading font by the name.

   **** This file had errors that were repaired or ignored.
   **** The file was produced by:
   **** >>>> Microsoft: Print To PDF <<<<
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

我试图用最终输出相同输出的shell命令转换图像。

多谢。

更新: 将a sample pdf file转换为Microsoft可能未打印为pdf的效果很好,也许是问题所在?

更新2: 转换了更多的pdf后,结果证明这是Microsoft Print转换为PDF文件的唯一原因。

1 个答案:

答案 0 :(得分:1)

这是Ghostscript Bugzilla here

的一个错误。

从该线程可以看出,这是由于使用了旧版本的Ghostscript,并且在过去的某个时间已修复。因此,问题是由于使用了旧的(在本例中为5年以上)软件。