【问题标题】:ABCPDF - CSS Embedded @Fontface not workingABCPDF - CSS Embedded @Fontface 不起作用
【发布时间】:2014-07-09 11:32:35
【问题描述】:

我正在寻找这个问题的明确答案,因为我只能找到零散的信息。

在我们的网站 css 中,我们使用 @fontface 嵌入的网络字体。当我们使用 ABCPDF 渲染页面的 pdf 时,字体不显示。我们使用 addImageurl 获取网站页面,使用 addHtml 添加我们自己的个性化封面。

我们正在使用 msHTML 引擎。

有没有人使用过非系统/标准字体以及使用嵌入式网络字体的经验?

谢谢

【问题讨论】:

    标签: c# .net pdf abcpdf


    【解决方案1】:

    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 而不是addHtmladdHtml 使用“HTML 样式文本”,而不是真正的 HTML 渲染器。 addHtml 可以引用机器上没有安装的字体——但不使用 CSS;它使用自己的专有标签和属性来做到这一点。
    猜你喜欢
    • 2012-08-15
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多