ABCPDF字体访问Windows 2012

时间:2017-03-31 07:19:30

标签: abcpdf

问题:将稳定系统从Win 2008迁移到Win 2012后,ABCPDF无法正确配置字体。我们怀疑是Windows权限问题,但不知道修复的内容或方法。

背景:我们很高兴使用ABCPDF多年来刚从Win 2008 R2迁移到Win 2012 R2 Datacenter。我们使用ActiveX DLL - 是的,我们想要替换它们,但现在已超出范围。目前的ABCPDF水平是ABCPDF 8.1。 dll在COM管理器下运行,并具有特定的run-as标识集,以避免在作为Network Svc或System帐户运行时遇到的常见访问问题。

我们的应用程序使用自定义字体文件,这意味着我们不依赖于Windows下安装的字体。我们使用Windows API调用

  

AddFontResourceEx(font_path,FR_PRIVATE,& O0)

将字体加载到内存中并运行文本测量例程。事实证明这是有效的,因为我们生成一个带有选择字体样本字符的小位图,并且我们看到的字形是正确的。结论是字体是通过Windows API成功加载的。这很重要,因为它告诉我们字体是预期的位置,并且run-as用户帐户可以访问它们。

同时我们通过

为ABCPDF提供相同的字体
  

oDoc.AddFont(font_path)

但生成的PDF不包含特定字体的字形。在Acrobat pro中进行检查显示正在使用Times New Roman。

所有在旧的Win2008安装上都能正常工作。自从转入Win 2012 R2以来,我们遇到了这个问题。

结论:DLL代码可以访问Win API下的字体,但ABCPDF不能。怀疑Windows 2012中的某些权限更改。帮助?

1 个答案:

答案 0 :(得分:0)

当我们安装ABCPDF时,它是作为非管理员的用户安装的。解决方法是卸载然后按照Websupergoo网站上的建议进行安装,该网站将以Run-As Administrator进行安装。