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

GhostScript - ImageMagick converts pdf to image to odd letters when converting Microsoft Print to PDF files

注意:在底部观看更新。

我正在构建一个 API,它可以将 PDF 转换为 base64 图像(无论哪种类型 - jpg、jpeg、png..)。

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

我在整个网络上搜索了将 pdf 转换为图像的 npm 包,其中大部分使用 ImageMagick 和 GhostScript(其他似乎不起作用)。这些包在代码上运行良好,但当 GhostScript 运行时问题就出现了。

例如,一个带有文本的简单 pdf 页面在转换后将如下所示:

这是 shell 中的输出:

  **** 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 命令转换图像,结果相同。

提前致谢。

更新: 将可能未由 Microsoft 打印为 pdf 的 a sample pdf file 转换为 pdf 工作正常,也许这就是问题所在?

更新 2: 再转换几个 pdf 文件后发现,这是 Microsoft Print to PDF files only that making this problem.

这被报告为 Ghostscript Bugzilla 的一个错误 here

从帖子中可以看出,这是由于使用了旧版本的Ghostscript,并且已在过去的某个时间点得到修复。所以问题是由于使用旧的(在这种情况下超过 5 年)软件。