【问题标题】:Fonts will not embed with ABCpdf字体不会嵌入 ABCpdf
【发布时间】:2015-09-17 21:06:30
【问题描述】:

我们在 MVC .NET 项目中使用 Proxima Nova 字体(特别是 Proxima Nova Condensed 常规字体),但它们无法正确嵌入 PDF 输出中。查看 PDF 属性时,我看到列出了“ProximaNovaCond-Regular (Embedded)”,并且它旁边的图标看起来像一个带有灰色“F”的页面。我还看到 Arial Narrow 和 Arial Narrow, Bold 与“(嵌入式子集)”一起列出,并且文档似乎默认为这些。

我没有在 CSS 中使用 @font-face,而是这样做:

font-family: "Proxima Nova Cn Rg", "Proxima Nova Cond", "Proxima Nova Condensed";

在生成页面的控制器函数中,有这样的代码:

var targetDocument = CreateNewDoc(orientation, paperSize);
targetDocument.HtmlOptions.FontEmbed = true;
targetDocument.HtmlOptions.FontSubset = false;
targetDocument.HtmlOptions.FontSubstitute = false;
targetDocument.HtmlOptions.FontProtection = false;
targetDocument.Font = targetDocument.EmbedFont(Server.MapPath("\\Content\\fonts\\proxima-nova\\ProximaNova-Reg-webfont.ttf"));
targetDocument.Font = targetDocument.EmbedFont(Server.MapPath("\\Content\\fonts\\proxima-nova\\ProximaNova-Sbold-webfont.ttf"));

如果项目在本地运行,字体似乎可以工作,但不能在服务器上运行。字体安装在服务器上。字体或嵌入它们的方式可能缺少什么?我在这里查看了关于字体嵌入的其他几个不同的问题,但没有一个为我们的情况提供任何解决方案。我不确定在此处提供哪些其他信息,但请告诉我可能需要什么来回答我的问题,我会找到的。

编辑: 我本可以发誓我更新了这个......向响应者道歉。很遗憾,我无法接受任何正确的答案,因为我们永远无法解决问题。

【问题讨论】:

  • 你是如何在服务器上安装字体的?
  • 嗨 - 我有一个类似的问题。差异技术环境,因为我在 comm 下使用 ActiveX DLL,但与我试图从特定路径添加“私有”字体相同。 DLL 可以访问字体并在从 DLL 生成的位图中与 PDF 同时生成准确的字形,但 PDF 包含 Times New Roman 而不是预期的字体。系统在 Win2008 上很好 - 迁移到 Win2012 后出现问题。你的问题解决了吗?

标签: fonts embed embedding abcpdf abcpdf9


【解决方案1】:

您可以仅使用字体名称嵌入字体,也可以从文件中动态加载它们。您似乎正在尝试执行后者,但这不起作用。我会做什么:

  • 检查 Server.MapPath() 之后的路径,并确保该文件确实存在,并且您可以从您的应用程序访问它。
  • 正如您所说的在服务器上安装了字体,您可以简单地尝试使用字体的全名。首先确保它们实际上已正确安装并且您使用的是正确的名称。

【讨论】:

    【解决方案2】:

    targetDocument.EmbedFont的第一个参数,需要指定字体字体,而不是字体的物理路径。

    例如

    targetDocument.EmbedFont("Arial Regular");
    

    要获得正确的字体名称,请转到资源管理器中的控制面板\所有控制面板项\字体。找到你的字体。您需要指定字体,而不是字体系列。例如对于 Arial,请指定“Arial Bold”或“Arial Regular”。

    您可以通过检查 EmbedFont 的返回值是否为非零来检查您的字体是否正确返回。

    【讨论】:

    • 这不是真的,来自 abcpdf 文档:“如果您需要动态加载字体,您可以将此方法传递给字体文件的路径。”
    • 感谢指正。我在文档中没有看到这一点。我一定会试试看的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多