2011-10-07 33 views
3

我有兩個PDF的文件。兩者具有相同的幾何形狀和相同數量的頁面。我想合併它們,例如一個文件是背景,一個文件是前景。我試着用PDFTK背景選項:合併兩個PDF文件 - 一個作爲背景,一個作爲前景

pdftk bg.pdf background fg.pdf output out.pdf 

但PDFTK只是使用bg.pdf的第一頁作爲所有頁面的水印。我想用Java(例如iText庫)或bash命令來完成它。有什麼建議麼?

回答

4

你需要使用PDFTK的最新版本

PDFTK 1.43PDFTK 1.44

這些構建有一個新的交換機multistamp

http://www.pdflabs.com/docs/pdftk-man-page/#dest-op-multistamp

之一

相同作爲印章操作,但將印章PDF的每一頁應用到輸入PDF的相應頁面。如果輸入PDF的頁面數多於印記PDF,則在輸入PDF中的這些剩餘頁面上重複最終的戳記頁面。

否則,如果你是無法建立PDFTK 1.43或來源1.44,您可以使用

全文變壓器

http://sourceforge.net/projects/pdf-transformer/

java -jar ./pdf-transformer-0.4.0.jar <INPUT_FILE_NAME1> <INPUT_FILE_NAME2> <OUTPUT_FILE_NAME> merge -j 

疊加兩個pdf文件

+2

不知何故,我錯過了你的評論。同時我用小[Java的程序]解決它(https://github.com/boldt/Okular2PDF/blob/master/src/main/java/de/dennisboldt/api/MergePDFs.java)。 – Dennis

1

可以與iText的做到這一點,iText的採用4「層」以將它的內容層1(overContent)和4(underContent)由程序員訪問通過詢問PdfWriter對他們來說,層2和3中使用由iText內部。 所以,你可以用undercontent層的背景和對overContent你的其他PDF合併的PDF。 我希望這篇文章對你有幫助,如果你有任何其他問題只是射擊:)

+1

由於我已經在Dingos評論中寫過,我[已經用iText PdfStamper解決了它](https://github.com/boldt/Okular2PDF/blob/master/src/main/java/de/dennisboldt/api/MergePDFs.java ) 一個月前。 – Dennis