ABCpdf上的符号字体

我正在使用ABCpdf.net组件将HTML转换为PDF。 某些HTML使用Symbol字体显示某些字符。 不幸的是,我们正在使用来自第三方的HTML,并且无法更改。

我的开发环境正确显示字体,但我的生产环境不会。 它就像没有安装字体一样,即使它是。 如果我在生产环境中在Internet Explorer中呈现相同的HTML,则显示正常。

我尝试将字体嵌入为.eot并在标题中提供@ font-face样式。 我尝试过使用TheDoc.AddFont(’Symbol’)。 有什么建议?

产品:ABCpdf .NET 7 x64

生产操作系统:Windows Server 2003 x64,IE8

开发操作系统:Win7 x64,IE8

WebSuperGoo支持团队回应了修复:设置与字体相关的HtmlOptions。 我设置了这些选项,它解决了这个问题。 好极了!

If you want to embed the fonts used in a web page/HTML you need to use: Doc.HtmlOptions.FontEmbed = True You may also need to set Doc.HtmlOptions.FontSubstitute = False and possibly: Doc.HtmlOptions.FontProtection = False before you use the Doc.AddImageUrl or Doc.AddImageHtml methods. 

编辑:正如我在下面的评论中提到的,完成这个技巧的选项是FontProtection = false。

尝试重新启动服务器。

我在ABCPdf上遇到了类似的字体问题。 虽然字体已经清楚地安装,但由于某些原因,ABDPdf在机器重新启动之前没有接收它们。

可能有一些非重启方式实现相同的东西,但这需要了解问题是什么! 如果这很简单,只需尝试重新启动即可。

虽然我说Doc.HtmlOptions就是答案,但事实certificate它完全是另一回事。 符号没有显示,因为字体权重不正常(即,它是粗体 )。 没有包含这些字符的粗体子集。 IE很聪明,可以忽略大胆的部分,但PDF相当挑剔。 它找不到角色,所以它什么也没有显示。

真正的解决方案是梳理HTML并确保所有符号都被一个带有font-weight: normal !importantspan包围。 它可能是一个不太优雅的解决方案,但它是有效的。 仍然随机拒绝出现的唯一符号是角度符号( )。 为此,我用图像替换它。 我仍然无法弄清楚为什么它不会出现。