我正在尝试在 HTML 表对象中显示日语或阿拉伯字符并将其转换为 PDF 文档。 例如
<table>
<tr><td>Japanese: ンミタィヴ研理</td></tr>
</table>
结果就是:
Japanese:
当日语内容位于表格之外时,它会在 PDF 中正确显示。我尝试在 Chunk
级别操作 iText PdfPTable
内容,并将基本字体显式分配给 Chunk
。但随后我会失去其他格式样式,例如粗体、h1 等。此外,如果我使用样式,格式问题也会丢失。
除其他外,我确实有 2_wqy-zenhei-0.5.23 作为字体包。
那么有没有办法告诉 iText 实现显示字符,同时保留之前所做的所有格式?
最佳答案
我假设您正在使用 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: ンミタィヴ研理</td></tr>
</table>
<p style="font-family: 'Arial Unicode MS'">Japanese in paragraph: ンミタィヴ研理</p>
关于java - PdfPTable元素: Japanese characters are not being displayed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33230137/