Ghostscript 如何支持PMingLiU?

我在 C# 应用程序中使用 gsdll32.dll。(ghostscript版本是9.26)

但我在将 pdf 转换为图像时遇到错误。

这是pdf的内容。

https://img2.mukewang.com/64fc3aaf0001d3dd06390289.jpg

而这张图片就是ghostscript转换后的内容。

https://img1.mukewang.com/64fc3ab80001667406430278.jpg

pdf文件的字体是PMingLiU。

我该如何解决这个问题?



翻翻过去那场雪
浏览 53回答 2
2回答

RISEBY

我解决了这个问题。-dGridFitTT=2

慕码人2483693

您没有提供要查看的原始 PDF 文件,也没有提供 Ghostscript 的反向通道输出,这使得很难确定您的问题是什么。不过我猜你的问题是 PDF 文件可能会请求“PMingLiU”,但它不包含字体(或 CIDFont)的副本。在这种情况下,Ghostscript 将在反向通道上提供警告,并使用替代字体。如果丢失的字体是 CIDFont(很可能),那么它会根据成功的可能性进行一系列尝试。在这种情况下,它可能会回退到倒数第二个选项,并使用 DroidSansFallback 来替换丢失的字体。您有两种选择来“修复”此问题:1) 创建嵌入字体的 PDF 文件。这是迄今为止最好的解决方案,是 CIDFonts 的要求(尽管许多生产商忽略了这一点),并且是保证获得正确输出的唯一方法。2)为Ghostscript提供更好的替代字体。为此,您需要知道丢失的字体是 Font 还是(更有可能)错误的 CIDFont。如果缺少 Font,那么您需要修改 fontmap.gs 并添加替代品,如果缺少 CIDFont,那么您需要编辑 cidfmap。您可以修改 Ghostpdl/Resource/Init 中的副本或创建新文件。无论哪种情况,您都需要告诉 Ghostscript 哪个目录包含要使用的副本。您可以通过使用 -I 开关提供路径来完成此操作。既然您说这是您自己的应用程序,并且您正在使用 Ghostscript DLL,那么我请您注意提供 Ghostscript 的许可证。这是 AGPL v3,因此您必须提供自己的应用程序源代码(除其他外)才能遵守许可证。
打开App,查看更多内容
随时随地看视频慕课网APP