2015-10-20 60 views
0

我試圖在HTML表格對象中顯示日語或阿拉伯字符並將其轉換爲PDF文檔。 例如PdfPTable元素:不顯示日語字符

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

結果就是:

日本:

當日本含量表以外,它是在PDF正確顯示。我試圖操作Chunk級別上的iText PdfPTable內容,並明確指定Chunk的基本字體。但是,我會放棄其他格式樣式,如粗體,h1等。另外,如果我使用樣式,格式化問題將會丟失。

我確實有2_wqy-zenhei-0.5.23作爲字體包。

那麼有什麼方法可以告訴iText的實現來顯示字符,同時保留之前所做的所有格式?

回答

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> 

所生成的PDF看起來是這樣的: Japenese text in PDF

+1

THX很多!你說對了。這是字體。對不起,我忘了提及使用的jar:這些是itextpdf-5.5.2.jar和xmlworker-5.3.5.jar。 – Andy