2
我有一個java應用程序,它使用itext將pdf拆分爲幾個部分,然後再將這些部分再次拼接起來。原始pdf有許多嵌入式字體(所有非系統字體)。當我再次拼接pdf時,一些嵌入字體丟失。在iText中保留嵌入的字體
例如,這是從原來的字體列表中的剪輯:
這是從生成的PDF字體列表中的剪輯:
我使用PdfWriter和PdfReader複製頁面到PdfContent和addTemplate()的新文檔中。
我有一個java應用程序,它使用itext將pdf拆分爲幾個部分,然後再將這些部分再次拼接起來。原始pdf有許多嵌入式字體(所有非系統字體)。當我再次拼接pdf時,一些嵌入字體丟失。在iText中保留嵌入的字體
例如,這是從原來的字體列表中的剪輯:
這是從生成的PDF字體列表中的剪輯:
我使用PdfWriter和PdfReader複製頁面到PdfContent和addTemplate()的新文檔中。
終於找到答案!這個問題是全文的水平定得太低:
writer.setPdfVersion(PdfWriter.VERSION_1_2);
我把它改爲:
writer.setPdfVersion(PdfWriter.VERSION_1_7);
,現在所有的字體都正確嵌入。
我實際上忘記了那段代碼 - 我曾經從過去做過的一個項目中借用它。
經驗教訓;)
我想知道爲什麼這是這種情況。
iText只是從「PdfImportedPage」複製內容時不會更改*字體。我懷疑,如果您查看字體用法的逐頁分解,您會發現它們是正確的。 – 2011-02-23 19:45:25
當原始PDF分成幾個部分時,每個部分的每個頁面都有正確的字體。但是當它們被拼接成一個完整的pdf時,某些頁面無法正確顯示,因爲某些字體不再被嵌入。 – Valerie 2011-02-24 09:25:14