【问题标题】:Using @font-face with ABCPDF? Or other way of getting fonts into PDF?将@font-face 与 ABCPDF 一起使用?或将字体转换为 PDF 的其他方式?
【发布时间】:2013-04-15 16:20:37
【问题描述】:

我们有一个大型应用程序成功地使用带有 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 是否有帮助?

【问题讨论】:

    标签: asp.net vb.net font-face abcpdf


    【解决方案1】:

    注意:

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

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


    上一个答案:

    WebSuperGoo 回应:

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

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

    【讨论】:

    • 对此进行澄清 - ABCpdf 将渲染字体,如果它们安装在渲染 pdf 的机器上(无 face-face css)。但是,如果您确实包含 font-face css,它实际上可能会破坏这种行为 - 导致它甚至不再嵌入已安装的字体。在那里,我刚刚为您节省了 3 天的拉头发时间。
    • “安装在机器上”是我想避免的情况......我相信我在最初的问题中已经提到了这一点。很容易获得可供 HTML 样式文本 (doc.AddHtml) 使用的未安装字体。目标是让 Gecko 引擎 (doc.AddImageHtml) 可以使用它们。
    • 给那些尝试使用 Glyphicons 的人的注意事项(可能也适用于 bootstrap 的 Glyphicon-halflings):我能够通过添加以下 css 使字形与 doc.AddImageHtml 一起使用 i> 构建 pdf 时:.glyphicons { font-family:GLYPHICONS !important; }(需要在服务器上安装字体并重新启动服务器)
    【解决方案2】:

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

    【讨论】:

    • 我也想要!
    • 我也想要,有没有 UserVoice 之类的 ABCPDF
    • 我也很想要这个
    • @DanielPowell -- 没有 UserVoice,但他们非常密切地监控 #abcpdf 标签。
    • 我也想要!
    猜你喜欢
    • 2011-09-11
    • 2019-05-15
    • 2012-05-09
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 2014-09-04
    • 2012-02-07
    • 1970-01-01
    相关资源
    最近更新 更多