我正在尝试在HTML表格对象中显示日语或阿拉伯字符,并将其转换为PDF文档。 E.g。
<table>
<tr><td>Japanese: ンミタィヴ研理</td></tr>
</table>
结果只是:
日本:
当日语内容在表格之外时,它会在PDF中正确显示。我试图操纵PdfPTable
级别的iText Chunk
内容,并明确地将基本字体分配给Chunk
。但是我会放弃其他格式样式,如粗体,h1等。另外,如果我使用样式,格式问题将会丢失。
我确实有2_wqy-zenhei-0.5.23作为字体包。
那么有没有办法告诉iText实现显示字符,同时保留之前制作的所有格式?
答案 0 :(得分: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: ンミタィヴ研理</td></tr>
</table>
<p style="font-family: 'Arial Unicode MS'">Japanese in paragraph: ンミタィヴ研理</p>