繁体   English   中英

iText 7 html2pdf - Unicode 复选框在生成的 PDF 中不存在

[英]iText 7 html2pdf - Unicode checkbox not present in the generated PDF

In the older implementation with iText 7.0.7 and html2pdf 1.0.4, unicode symbols from the HTML would display in the output PDF.

但升级到 iText 7.1.12 和 html2pdf 3.0.1 后,output 不显示 unicode 字符。

如何使用新版本恢复旧行为?

比较新旧输出

样本输入:

<html>
  <head>
  <title>STA Form</title>
  </head>
    <body>
      <table>
        <tbody>
          <tr>
            <td>Will today’s weather have a potential safety impact?</td>
            <td>
              &#x2611; Yes &nbsp; &nbsp;
              &#x2610; No
            </td>
          </tr>
        </tbody>
      </table>
  </body>
</html>

您只需将包含相关字符/字形的字体添加到 pdfHTML 用于转换的字体集中。 默认情况下 pdfHTML 的 fonts 集不保证每个 Unicode 字符的存在。

在我的例子中,具有所需符号的字体是 Segoe UI Symbol。

如果我将此字体添加到字体提供程序中并将字体提供程序传递给转换器属性,如下所示,我会得到所需的结果。

ConverterProperties properties = new ConverterProperties();
FontProvider fontProvider = new DefaultFontProvider();
fontProvider.addFont("C:/Windows/Fonts/seguisym.ttf");
properties.setFontProvider(fontProvider);
HtmlConverter.convertToPdf(new File("path/to/file.html"),
        new File("path/to/file.pdf"), properties);

结果

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM