gpt4 book ai didi

css - ABCPdf 没有嵌入新添加的自定义字体

转载 作者:太空宇宙 更新时间:2023-11-04 10:44:56 25 4
gpt4 key购买 nike

我有一个将 HTML 转换为 PDF 的 Windows 服务。我通过调用

嵌入自定义前端
var fontSwiftFont = pdfDoc.EmbedFont("swift-fontv2", LanguageType.Latin);

在我的本地电脑和 QA 环境上一切正常,但是在生产服务器上安装新字体后,字体没有嵌入到 Pdf 中。尽管 html 在服务器上的 IE 中显示正常。

根据 ABCPdf 网站,"Fonts are cached so newly added fonts will not be available to ABCpdf until the application is restarted." .但是重新启动服务并不能解决问题。

如果我运行一个独立的测试应用程序,它的功能与它工作的服务相同。

我怀疑重新启动会解决问题,但我无法重新启动,因为它是运行其他应用程序的产品盒。

最佳答案

ABCpdf 只知道当前进程。对它来说,重启进程与重启机器完全一样。

因此,如果这两种情况之间存在差异,那么原因就在 ABCpdf 之外。

然而,更通俗的解释是错误的进程正在重新启动。最好的检查方法是使用 Process Explorer(在 MS 站点上)在您的计算机上搜索所有加载了 ABCpdf.dll 的进程。

如果您需要 ABCpdf 在不重新启动的情况下获取这些字体,那么您只需使用字体文件的路径调用 EmbedFont。同样,您可以使用 XFont.Unload 函数卸载字体。

关于这两个函数的详细信息,请参见:

http://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/embedfont.htm

http://www.websupergoo.com/helppdfnet/source/5-abcpdf/xfont/1-methods/unload.htm

请注意,Gecko HTML 引擎的字体工作方式略有不同,因为 Gecko 引擎作为进程池运行。因此,即使 ABCpdf 知道新字体,子进程在重新启动之前也可能不知道。这是可以使用 EndTasks 函数强制执行的操作。

有关此功能的详细信息,请参阅:

http://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/1-methods/endtasks.htm

关于css - ABCPdf 没有嵌入新添加的自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35495402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com