0

我正在尝试在 HTML 表格对象中显示日语或阿拉伯语字符并将其转换为 PDF 文档。例如

<table>
   <tr><td>Japanese: ンミタィヴ研理&lt;/td></tr>
</table>

结果只是:

日本人:

当日文内容在表格之外时,它会在 PDF 中正确显示。我试图PdfPTable在关卡上操作 iText 内容Chunk,并将基本字体显式分配给Chunk. 但随后我将失去其他格式样式,如粗体、h1 等。此外,如果我使用样式,格式问题将丢失。

我确实有 2_wqy-zenhei-0.5.23 作为字体包。

那么有什么方法可以告诉 iText 实现在保留之前制作的所有格式的同时显示字符?

4

1 回答 1

1

我假设您正在使用 XML Worker 将您的 HTML 转换为 PDF。如果您仍在使用旧的 HTML Worker(iText 5 之前的版本),则应该升级。

我认为这是一个字体问题。您已经通过验证您的日文内容在表外时是否显示以及直接在PdfPTable内容上设置字体来部分测试了这一点。但也许您的表格内和表格外的内容之间仍然存在一些字体配置差异。

我已经使用 iText 5.5.7 和 XML Worker 5.5.7(当前版本)进行了测试。我没有提到的字体包可用。所以我用 Arial Unicode 进行了测试。

我已经像这样调整了您的 HTML 示例:

<table style="font-family: 'Arial Unicode MS'; border:1px solid black">
    <tr><td>Table</td></tr>
    <tr><td>Japanese: ンミタィヴ研理&lt;/td></tr>
</table>
<p style="font-family: 'Arial Unicode MS'">Japanese in paragraph: ンミタィヴ研理&lt;/p>

生成的 PDF 如下所示: PDF中的日语文本

于 2015-10-20T12:54:01.507 回答