问题:在从Win 2008迁移到Win 2012的稳定系统之后,ABCPDF无法正确地划分字体。我们怀疑Windows权限问题,但不知道该修复什么或如何修复。
背景:多年来,我们一直在一个刚刚从Win 2008 R2迁移到Win 2012 R2数据中心的系统上使用ABCPDF。我们使用ActiveX DLL的-是的,我们想替换他们,但这是目前的范围之外。当前的ABCPDF级别是ABCPDF8.1。dll在COM管理器下运行,并设置了特定的run-as标识,以避免以Network或系统帐户运行时遇到的常见访问问题。
我们的应用程序使用自定义字体文件,这意味着我们不依赖于安装在windows下的字体。我们使用Windows调用
AddFontResourceEx(font_path,FR_PRIVATE,&O 0)
将字体加载到内存中并运行文本测量例程。这是被证明是有效的,因为我们生成一个小的位图,从选择字体和我们看到的符号是正确的样本字符。结论是这些字体是通过Windows成功加载的。这一点很重要,因为它告诉我们字体在预期的位置,并且运行用户帐户可以访问它们。
同时,我们通过
oDoc.AddFont(font_path)
但是生成的PDF不包括特定字体的符号。在Acrobat内部的检查显示,时代新罗马正在使用。
所有的工作在旧的Win2008安装很好。自从2012年R2夺冠以来,我们就有了这个问题。
结论: DLL代码可以访问Win API下的字体,但ABCPDF不能访问。怀疑某些权限在Windows 2012中更改。帮助?
发布于 2017-04-12 11:20:08
当我们安装ABCPDF时,它是作为一个不是管理员的用户安装的。解决方案是卸载,然后遵循Websupergoo网站上的建议,即使用安装。
https://stackoverflow.com/questions/43134773
复制相似问题