Using @font-face with ABCPDF? Or other way of gett

2019-02-14 07:17发布

We have a large application successfully using ABCPDF.NET with HTML Styled text. We're accustomed to adding text using fonts not installed in Windows, but stored in files elsewhere in the filesystem -- we do this so each user can upload their own fonts and use them with the output. We use the AddFont call to embed the font in the Doc, then reference the font in a tag for HTML Styled text with the AddText call.

We're starting to look at using AddImageUrl / AddImageHTML to get more HTML power. Fonts are therefore a sticking point. It seems that both the MSHTML and Gecko engines will only see the same font list that Windows will.

I tried this code to see if @font-face will work with 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

But it won't. Is there anything else I can do?

This is with ABCpdf.NET 8.1.0.7. Would upgrading to 9 or a later release of 8 help at all?

2条回答
Melony?
2楼-- · 2019-02-14 07:38

NOTE:

As of ABCpdf 11, this works. Font files must either be at an accessible HTTP/HTTPS url (works with either AddImageHTML() or AddImageURL() or, if you wish to use a file:/// URL, you must write the HTML to a file and use AddImageURL(). Font files can be OpenType, TrueType, Type 1 or WOFF webfonts.

Sample code given in question works now, unchanged.


Previous answer:

WebSuperGoo responded:

ABCpdf does not currently support fonts added using @font-face.

So, as of the 9.0 release of ABCpdf, that's that.

查看更多
在下西门庆
3楼-- · 2019-02-14 07:51

I work on ABCpdf and I can tell you that it is down as a feature request. The more people request it the sooner it will come. :-)

查看更多
登录 后发表回答