我们在 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"));
如果项目在本地运行,字体似乎可以工作,但不能在服务器上工作。字体安装在服务器上。字体或嵌入它们的方式可能缺少什么?我在这里查看了关于字体嵌入的其他几个不同的问题,但没有一个为我们的情况提供任何解决方案。我不确定在这里提供什么其他信息,但让我知道回答我的问题可能需要什么,我会找到的。
编辑: 我本可以发誓我更新了这个......向响应者道歉。不幸的是,我不能接受任何正确的答案,因为我们永远无法解决这个问题。