Ghostscript v9.0强制字体识别

Ghostscript v9.0强制字体识别

如何让在 Windows 7 服务器上运行的 ghostscript v9.0 将本地字体识别为其嵌入的字体?我正在尝试转换嵌入 AkzidenzGroteskBE 字体的 pdf,并希望它在渲染时使用 AkzidGroCFFReg.otf 开放类型字体。

当我使用 -dFAPIDEBUG 运行它时,它显示:

FAPIhook DRWIBO+AkzidenzGroteskBE-LightCN
Trying to render the Font DRWIBO_AkzidenzGroteskBE-LightCn with FAPI...
Font DRWIBO+AkzidenzGroteskBE-LightCn is being rendered with FAPI=FreeType
FAPIhook --nostringval--
Font --nostringval -- (aliased from DRWIBO+AkzidenzGroteskBE-LightCn) is mapped to FAPI=FreeType

我用来运行它的命令是:

gs9.00\bin\gswin32.exe -dFAPIDEBUG -Ic:\TEMP\font -SDEVICE=pngalpha -r300 -sOuputFile=test.png inputFile.pdf

我有 AkzidGroCFFReg.otf 以及 c:\TEMP\font 目录中的其他字体系列(它们也安装在系统上)。

谢谢。

答案1

如果字体嵌入在 PDF 本身中,那么所有 PDF 渲染器都应该使用一、不是任何本地安装的字体。

如果你想代替嵌入的字体,您无法免费获得它(如啤酒)或以轻松获得的方式获得它。

有 (相当昂贵的) 付费软件能够从 PDF 中取消嵌入字体。 (至少没有 (可靠工作的) 免费 (自由) 软件可以做到这一点...)

一个(相当繁琐、容易出错且困难的)方法是将 PDF 转换为 PostScript,在编辑器中打开 .ps 文件,删除字体,保存文件,然后再次将 .ps 转换为 PDF(使用 Ghostscript 命令行)。或者直接从 .ps 转换为您想要的 PNG,而无需通过 PDF 绕行……但这种方法要求您对 PostScript 语言有相当多的了解。

相关内容