微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

itext hml2pdf :在 2.1.0 版之后,在源 html 中使用 <link> 声明字体不起作用

如何解决itext hml2pdf :在 2.1.0 版之后,在源 html 中使用 <link> 声明字体不起作用

我将 iText HTML 2 PDF 包从 2.1.0 升级到 3.0.3,但我使用的字体 (Roboto) 不再适用。

代码

<html>
<head>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700&display=swap" rel="stylesheet">
<style>

    @page {
        size: A4;
        margin-top: 60px;
        margin-bottom: 100px;
    }
    html,body,table {
        color: #222222;
        font-size: 8.0pt;
        font-family: 'Roboto',sans-serif;
        font-weight: 500;
    }
    </style>
</head>
<body>
<table>
    <tr>
        <td>
            12<br />
            Lane<br />
            W1 111<br />
            United Kingdom<br />
            Tel: +33 555 555 555
        </td>
    </tr>
</table>
</body>
</html>

C#

    static void Main(string[] args)
    {
        var html = File.ReadAllText("C:\\pdf\\test2.html");
        using (var stream = new MemoryStream())
        {
            using (var pdf = new PdfDocument(new PdfWriter(stream)))
            {
                try
                {
                    var props = new ConverterProperties();
                    HtmlConverter.ConvertToPdf(html,pdf,props);
                    File.WriteallBytes("C:\\pdf\\test2.pdf",stream.ToArray());
                }
                catch (Exception)
                {
                }
            }
        }
    }

似乎这在 2.1.1 版中停止工作

编辑:仔细一看,字体还是Roboto,但是字体粗细不对。使用 Roboto-Thin 代替 Roboto-Regular。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。