2012-11-14 74 views

回答

4

因此,您有一個使用某種專色的現有PDF,例如名爲「ABC」的顏色,並且您想要操作該PDF以使其名稱爲「XYZ」。

這是可能的,但它需要低級PDF語法操作。

您需要創建一個PdfReader實例,查找定義專色的字典,更改名稱,然後使用PdfStamper根據已更改的PdfReader實例創建一個新文件。

關於如何回答您的具體問題,沒有「現成的」示例(我懷疑別人,但iText的原始開發人員會回答這樣的問題),但您可以通過查看代碼獲得一些靈感從「iText的行動」的第二版的第13章樣品:http://itextpdf.com/book/chapter.php?id=13

參見例如在此示例中manipulatePdf()方法:http://itextpdf.com/examples/iia.php?id=239 在這個例子中一個URL是通過使用原理上面所解釋的另一個替換。

您需要修改此示例,以便找到專色名稱存儲位置的路徑,更改該名稱並保留更改。

提示:專色名稱將位於第一個元素是名稱(/ Separation)的數組中,第二個條目將是您想要更改的名稱(這是您要用一個新的PdfName實例)等等。

如何找到這個/分隔數組?我將遍歷頁面(getPageN()方法將爲您提供頁面字典),獲取每個頁面的資源(pageDict.getAsDict(PdfName.RESOURCES)),查找/ Colorspace字典的存在,然後查找該字典中的所有/分隔顏色。每當遇到想要更改的名稱時,請替換第二個元素。

第13章中的例子與ISO-32000-1結合使用(可從Adobe.com網站下載)將引領潮流。

相關問題