使用@ font-face和ABCPDF?或者将字体变成PDF的其他方式?

Ros*_*ser 5 vb.net asp.net abcpdf font-face

我们有一个大型应用程序成功使用ABCPDF.NET与HTML样式文本.我们习惯于使用未安装在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
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.还有什么我可以做的吗?

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

Ros*_*ser 8

注意:

截至ABCpdf 11,这是有效的.字体文件必须位于可访问的HTTP/HTTPS URL(与AddImageHTML()或使用AddImageURL()或者,如果您希望使用file:///URL,您必须将HTML写入文件并使用AddImageURL().字体文件可以是OpenType,TrueType,Type 1或WOFF网络字体.

有问题的示例代码现在可以使用,不变.


上一个答案:

WebSuperGoo回复:

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

因此,截至ABCpdf的9.0版本,就是这样.

  • 对此的澄清 - ABCpdf将渲染字体,如果它们安装在机器上呈现pdf(没有face-face css).但是,如果你确实包含了font-face css,它实际上可能会破坏这种行为 - 导致它甚至不再嵌入已安装的字体.在那里,我只是为你节省了3天的头发. (3认同)

Onc*_*est 7

我在ABCpdf上工作,我可以告诉你它已作为一个功能请求.越多人就越早提出要求.:-)

  • 我也喜欢它,是否有UserVoice或ABCPDF的东西 (3认同)
  • 我也想要它! (2认同)