簡體   English   中英

使用PDFBox和Swing顯示嵌入字體

[英]Displaying embedded fonts with PDFBox and Swing

我正在使用PDFBox在JInternalFrame中顯示PDF文件。 打開PDF時,我收到很多警告:

Changing font on <m> from <Tahoma Negrita> to the default font

我知道報告的字體不是標准14種字體的一部分。 所以我決定檢查這些字體是否嵌入在PDF文件中(認為加載嵌入字體應該沒有問題,對吧?)。

所以我在不同的閱讀器上打開文件並檢查屬性/字體。 我懷疑此部分是否報告文檔所需的字體或文檔中實際嵌入的字體。

我得到的信息如下:

BAAAA+Tahoma-Bold (embedded Subset), type:TrueType, Encoding:
CAAAA+Tahoma (Embedded Subset), type:TrueType, Encoding:

對此感到困惑,我研究了如何從OpenOffice嵌入字體,並發現應該檢查PDF / A-1a選項。 所以我使用這個選項制作了另一個PDF(如果在制作原始PDF文件時沒有使用它),但我得到了相同的結果。

我希望您的指導能夠了解其工作原理。 我希望能夠像PDF閱讀器一樣打開PDF文件。 我還閱讀了PDFBox_External_Fonts.properties,但我猜這個文件不應該被修改,因為我正在處理嵌入字體。

謝謝。

pdfbox無法解析TrueType字體的嵌入子集。

據我所知,嵌入式TrueType子集缺少pdfbox所需字體文件的一些元數據。

這個bug已知,但不容易解決。 現在我只能建議使用嵌入式Type 1字體,pdfbox可以處理它們。

您還可以嘗試在org / apache / pdfbox / resources / PDFBox_External_Fonts.properties下的pdfbox.jar中設置完整字體文件的路徑,因此如果pdfbox無法解析子集,至少它可以找到原始文件的完整路徑字體文件。 也許這有效,但我沒有測試過。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM