【发布时间】:2014-07-09 11:32:35
【问题描述】:
我正在寻找这个问题的明确答案,因为我只能找到零散的信息。
在我们的网站 css 中,我们使用 @fontface 嵌入的网络字体。当我们使用 ABCPDF 渲染页面的 pdf 时,字体不显示。我们使用 addImageurl 获取网站页面,使用 addHtml 添加我们自己的个性化封面。
我们正在使用 msHTML 引擎。
有没有人使用过非系统/标准字体以及使用嵌入式网络字体的经验?
谢谢
【问题讨论】:
我正在寻找这个问题的明确答案,因为我只能找到零散的信息。
在我们的网站 css 中,我们使用 @fontface 嵌入的网络字体。当我们使用 ABCPDF 渲染页面的 pdf 时,字体不显示。我们使用 addImageurl 获取网站页面,使用 addHtml 添加我们自己的个性化封面。
我们正在使用 msHTML 引擎。
有没有人使用过非系统/标准字体以及使用嵌入式网络字体的经验?
谢谢
【问题讨论】:
ABC 不支持@fontface。
但是,如果您在使用 addImageHTML() 时事先知道字体是什么(如果内容来自您自己的服务器),则可以使用自定义字体。
您需要做的就是在您的服务器上安装字体(例如,这里我使用的是 OpenSans),然后在您的 CSS 中引用它,如下所示:
@font-face {
font-family: 'open_sansregular';
src: url('../fonts/OpenSans-Regular-webfont.eot');
src: url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('../fonts/OpenSans-Regular-webfont.woff') format('woff'),
url('../fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg');
}
body
{
font-family: Open Sans, 'open_sansregular', sans-serif;
}
这里的关键是:
font-family: Open Sans
部分。这将尝试引用本地计算机上名为“Open Sans”的字体,而不是呈现 HTML。 AbcPDF 会捡起来使用(我自己做过)。
【讨论】:
addImageHtml 而不是addHtml。 addHtml 使用“HTML 样式文本”,而不是真正的 HTML 渲染器。 addHtml 可以引用机器上没有安装的字体——但不使用 CSS;它使用自己的专有标签和属性来做到这一点。