为了账号安全,请及时绑定邮箱和手机立即绑定

Ghostscript 如何支持PMingLiU?

Ghostscript 如何支持PMingLiU?

C#
翻翻过去那场雪 2023-09-09 17:27:32
我在 C# 应用程序中使用 gsdll32.dll。(ghostscript版本是9.26)但我在将 pdf 转换为图像时遇到错误。这是pdf的内容。而这张图片就是ghostscript转换后的内容。pdf文件的字体是PMingLiU。我该如何解决这个问题?
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

我解决了这个问题。

-dGridFitTT=2



查看完整回答
反对 回复 2023-09-09
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您没有提供要查看的原始 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,因此您必须提供自己的应用程序源代码(除其他外)才能遵守许可证。


查看完整回答
反对 回复 2023-09-09
  • 2 回答
  • 0 关注
  • 45 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信