PdfPTable 元素:未显示日语字符
PdfPTable element: Japanese characters are not being displayed
我正在尝试在 HTML table 对象中显示日语或阿拉伯语字符并将其转换为 PDF 文档。
例如
<table>
<tr><td>Japanese: ンミタィヴ研理</td></tr>
</table>
结果只是:
Japanese:
当日语内容在 table 之外时,它会在 PDF 中正确显示。我试图在 Chunk
级别上操作 iText PdfPTable
内容,并将基本字体显式分配给 Chunk
。但随后我将放宽其他格式样式,如粗体、h1 等。此外,如果我使用样式,格式问题也会丢失。
我确实有 2_wqy-zenhei-0.5.23 作为字体包。
那么有什么方法可以告诉 iText 实现显示字符,同时保留之前制作的所有格式吗?
我假设您正在使用 XML Worker 将您的 HTML 转换为 PDF。如果您仍在使用旧的 HTML Worker(iText 5 之前的版本),您应该升级。
我认为这是字体问题。您已经通过验证在 table 之外显示日语内容并直接在 PdfPTable
内容上设置字体来部分测试了这一点。但也许 table 内部和外部的内容之间仍然存在一些字体配置差异。
我已经使用 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>
生成的 PDF 如下所示:
我正在尝试在 HTML table 对象中显示日语或阿拉伯语字符并将其转换为 PDF 文档。 例如
<table>
<tr><td>Japanese: ンミタィヴ研理</td></tr>
</table>
结果只是:
Japanese:
当日语内容在 table 之外时,它会在 PDF 中正确显示。我试图在 Chunk
级别上操作 iText PdfPTable
内容,并将基本字体显式分配给 Chunk
。但随后我将放宽其他格式样式,如粗体、h1 等。此外,如果我使用样式,格式问题也会丢失。
我确实有 2_wqy-zenhei-0.5.23 作为字体包。
那么有什么方法可以告诉 iText 实现显示字符,同时保留之前制作的所有格式吗?
我假设您正在使用 XML Worker 将您的 HTML 转换为 PDF。如果您仍在使用旧的 HTML Worker(iText 5 之前的版本),您应该升级。
我认为这是字体问题。您已经通过验证在 table 之外显示日语内容并直接在 PdfPTable
内容上设置字体来部分测试了这一点。但也许 table 内部和外部的内容之间仍然存在一些字体配置差异。
我已经使用 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>
生成的 PDF 如下所示: