C# iTextSharp Helvetica使用ArialMT作为实际字体

C# iTextSharp Helvetica使用ArialMT作为实际字体,c#,itext,font-family,C#,Itext,Font Family,我正在使用Helvetica字体系列从HTML创建导出: 但创建PDF时,我得到以下信息: 使用的字体肯定是Arial而不是Helvetica,因为“t”的顶部不是平的: 我们的项目正在从web解决方案中的“\content\fonts”目录加载字体,但我已经完全清除了这个问题,问题仍然存在 清除后剩下的只有6种字体,我认为iText是从我的系统中拾取的,或者是捆绑的。您将pdf中的字体与呈现的字体混淆了。pdf中有helvetica,但实际的字形没有嵌入,因此渲染器(Acrobat或其他

我正在使用Helvetica字体系列从HTML创建导出:

但创建PDF时,我得到以下信息:

使用的字体肯定是Arial而不是Helvetica,因为“t”的顶部不是平的:

我们的项目正在从web解决方案中的“\content\fonts”目录加载字体,但我已经完全清除了这个问题,问题仍然存在


清除后剩下的只有6种字体,我认为iText是从我的系统中拾取的,或者是捆绑的。

您将pdf中的字体与呈现的字体混淆了。pdf中有helvetica,但实际的字形没有嵌入,因此渲染器(Acrobat或其他)使用计算机中与helvetica类似的任何可用字体(如在系列中),在本例中为Arial,如果是linux,则为其他字体。为了解决这个问题,将字体嵌入到pdf中。阅读文档和教程可以避免类似的问题。如果不提供PFB文件,则不会嵌入标准的Type 1字体。ISO 32000-2说明,未嵌入的字体(如标准1型字体)可以被其他字体替代。要进一步阅读,请访问,顺便提一下:两年前,iTextSharp的名称已被放弃,取而代之的是.NET的iText(这解释了为什么您不能再将问题标记为iTextSharp问题)。当前版本为。不清楚您使用的是旧的XML Worker还是新的pdfHTML附加组件。