2015-07-11 65 views

回答

1

看來你不使用「罐裝前」罐子,但你已經創建了自己的罐子。這個自制的jar只包含Java類文件。它會丟失諸如語言(.lng)和Adobe Font Metrics(.afm)文件之類的資源。

如果上述假設是錯誤的,那麼至少這是正確的:

  • 而不是實際的錯誤信息,你得到的關鍵到存儲在.lng文件的錯誤消息:1.not.found.as.resource 。該鍵用於查找操作系統語言中的實際錯誤消息(支持英語,荷蘭語和葡萄牙語;默認爲英語)。 (應en.lng找到)
  • 實際的錯誤信息會是:「黑體沒有發現作爲一個資源」(在1.not.found.as.resource1是一個佔位符)。此消息告訴您無法找到文件Helvetica.afm。該文件包含字體Helvetica(常規)中每個字形的度量標準。沒有這些指標,你無法創建一個合適的PDF。

這解釋了什麼發生。你的問題沒有包含足夠的信息來解釋爲什麼它發生。在知道如何從jar讀取資源的JDK中使用正確的jar時,所有這些都不應該成爲問題。事實上,你寫「什麼可能導致 ... 開始返回以下」表明它已經爲你工作過。考慮一下你在上一次工作和第一次停止工作(例如改變操作系統,更改JVM等)之間所發生的變化。這可能是罪魁禍首。

+0

答:不正確 - 5.5.4和5.5.5和5.5.6都是在今天下午從源代碼僞造的。 –

+0

檢查裏面的內容。如果'.lng'和'.afm'文件存在,那麼問題不是iText問題,而是您的JDK拒絕讀取這些文件的問題。錯誤消息傳遞和AFM功能自其成立以來一直在正常工作。在這種情況下,iText不是罪魁禍首。我的第一個猜測是:看看JVM。 –

+1

您可以使用Oracle的官方JDK在另一個操作系統(Linux,Windows,...)上嘗試這些jar來驗證我的指控。事實上,你問「什麼可能導致... **開始**返回以下內容」表示它已經爲你工作過,它也應該指向你改變的東西(如操作系統或JVM) 。 –

相關問題