5

我们有一个大型应用程序成功地使用带有 HTML 样式文本的 ABCPDF.NET。我们习惯于使用未安装在 Windows 中但存储在文件系统中其他位置的文件中的字体添加文本——我们这样做是为了让每个用户都可以上传自己的字体并将它们与输出一起使用。我们使用 AddFont 调用将字体嵌入到 Doc 中,然后使用 AddText 调用在 HTML 样式文本的标记中引用该字体。

我们开始考虑使用 AddImageUrl / AddImageHTML 来获得更多的 HTML 功能。因此,字体是一个症结所在。似乎 MSHTML 和 Gecko 引擎只能看到与 Windows 相同的字体列表。

我尝试了这段代码来查看@font-face 是否可以与 Gecko 一起使用:

Sub Main
    dim pdf as new Doc
    with pdf.HtmlOptions
        .Engine = EngineType.Gecko
        .FontEmbed = true
        .FontSubstitute = false
        .FontProtection = false
    end with
    pdf.AddImageUrl("http://www.w3.org/2010/09/web-on-tv/slides/1009-tv-web-chaals/demos/webfonts.htm")
    pdf.Save("c:\temp\a.pdf")
End Sub

但它不会。还有什么我可以做的吗?

这是 ABCpdf.NET 8.1.0.7。升级到 9 或更高版本的 8 会有所帮助吗?

4

2 回答 2

8

笔记:

从 ABCpdf 11 开始,这是可行的。字体文件必须位于可访问的 HTTP/HTTPS url 中(使用AddImageHTML()AddImageURL(),或者,如果您希望使用file:///URL,则必须将 HTML 写入文件并使用AddImageURL(). 字体文件可以是 OpenType、TrueType、Type 1 或 WOFF网络字体。

有问题的示例代码现在可以工作,没有改变。


上一个答案:

WebSuperGoo 回应:

ABCpdf 目前不支持使用@font-face 添加的字体。

所以,从 ABCpdf 的 9.0 版本开始,就是这样。

于 2013-04-16T17:00:39.610 回答
7

我在 ABCpdf 上工作,我可以告诉你,它作为功能请求已被关闭。请求的人越多,它就会越快到来。:-)

于 2013-06-18T10:05:18.837 回答