我有兩個pdf或postscript文件(我可以使用任何一個)。我想要做的是將每個頁面合併到另一個頁面上,以便文檔A的page1將與文檔B的頁面1結合,以生成輸出文檔的頁面1。這不是我想要編程的需要,但這會有所幫助。覆蓋另一個pdf或ps文件
任何想法?
我有兩個pdf或postscript文件(我可以使用任何一個)。我想要做的是將每個頁面合併到另一個頁面上,以便文檔A的page1將與文檔B的頁面1結合,以生成輸出文檔的頁面1。這不是我想要編程的需要,但這會有所幫助。覆蓋另一個pdf或ps文件
任何想法?
您可以使用命令行工具pdftk使用stamp
或background
選項對pdf文件執行此操作。
例如
$ pdftk file1.pdf background file2.pdf output combinedfile.pdf
這隻適用於單頁背景文件。如果您有多個頁面,則可以使用multibackground
命令。
我通過使用pyPdf,特別是mergePage操作成功地解決了這個問題(僅PDF和Python)。
從文檔:
# add page 4 from input1, but first add a watermark from another pdf:
page4 = input1.getPage(3)
watermark = PdfFileReader(file("watermark.pdf", "rb"))
page4.mergePage(watermark.getPage(0))
應該足以讓這個想法。
您可以將兩個pdf轉換爲圖像並將其疊加在另一個圖層的頂部。
一個合適的圖形庫,你可以使用這個工作。
上面的水印建議也有很大的潛力,只要你沒有遇到你選擇的語言或圖形/ pdf庫的問題。
這絕對是一種可能的解決方法,但是你會失去文件中任何矢量圖形的可伸縮性。保持圖像模型的更高級內容的過程通常是優選的。 – 2014-04-01 07:46:07
如果你只處理postscript,機會是唯一的'pagebreaks'是'showpage'操作符。
在這種情況下,您可以簡單地從第一個文件的開頭抓取postscript數據到'showpage'的第一個實例,對另一個文件執行相同操作,然後連接這兩個postscript文件以創建新頁面。
如果2個文件只有一個頁面,那麼您可能只需加入2個文件即可。
Aspose.Pdf.Kit與PdfFileStamp
class也可以做到這一點。它正確運行most of the time。
我使用了Mac OS工具PDFClerk Pro。我導入了PDF頁面,然後將它們與「合併頁面(堆疊)」選項合併。「它給我留下了深刻的印象。
VeryPDF PDF編輯器有一個PDF疊印功能,看看這個網頁,
http://www.verypdf.com/wordpress/201304/how-to-overlay-pdf-to-another-pdf-35885.html
PDFBOX的Java支持覆蓋類,允許合併的PDF文件這種方式。看到這個答案:Watermarking with PDFBox
但是,根據我的經驗,PyPDF2和PDFbox都不可靠,但也許這對別人有幫助。
對於OS X,有PDF信箋。除了重疊PDF之外,別的都不做。https://itunes.apple.com/us/app/pdf-letterhead/id976548033?mt=12
看到一個[類似的問題](http://stackoverflow.com/questions/310441/create-two-pdfs-from-one-ps-file)這裏在Stackoverflow和爲什麼這是困難的。 – 2009-02-02 19:39:51
這與這個問題沒有真正的關係。 OP表示他們可以直接使用PDF。無論如何這並不困難。 – danio 2009-02-04 11:28:46