注意:观看底部的更新。
我正在构建一个API,该API应该将PDF转换为base64图像(与哪种类型无关-jpg,jpeg,png ..)。
API是在CentOS 7.5 x64上使用NodeJS构建的。
我在网上搜索了将pdf转换为图像的npm软件包,其中大多数使用ImageMagick和GhostScript(其他似乎不起作用)。这些程序包可以很好地在代码上运行,但是问题在GhostScript起作用时就开始了。
这是外壳程序中的输出:
**** 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文件的唯一原因。
答案 0 :(得分:1)
这是Ghostscript Bugzilla here
的一个错误。从该线程可以看出,这是由于使用了旧版本的Ghostscript,并且在过去的某个时间已修复。因此,问题是由于使用了旧的(在本例中为5年以上)软件。