我有两个pdf或postscript文件(我可以使用其中任何一个)。我想要做的是将每个页面合并在另一个页面之上,以便将文档A的page1与文档B的页面1组合以产生输出文档的页面1。这不是我一定要以编程方式进行的事情,尽管这会有所帮助。
有什么想法吗?
答案 0 :(得分:74)
您可以使用命令行工具pdftk使用stamp
或background
选项,使用pdf文件执行此操作。
e.g。
$ pdftk file1.pdf background file2.pdf output combinedfile.pdf
这仅适用于单页背景文件。如果您有多个页面,则可以改为使用multibackground
命令。
答案 1 :(得分:18)
我使用pyPdf成功地解决了这个问题(仅限PDF和Python),特别是 mergePage 操作。
来自文档:
# 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))
应该足以得到这个想法。
答案 2 :(得分:2)
如果您只处理附言,那么唯一的“分页符号”就是“showpage”运算符。
在这种情况下,您可以简单地将postscript数据从文件一开头抓到第一个'showpage'实例,对另一个文件执行相同操作,然后连接这两个postscript块来创建新页面。
如果2个文件只有一个页面,那么您可以简单地加入2个文件。
答案 3 :(得分:1)
您可以将两个pdf转换为图像,并将一个叠加在另一个图层的顶部。
您可以使用的合适图形库可以使用。
上面的水印建议也很有潜力,只要你没有遇到你所选择的语言或图形/ pdf库中的问题。
答案 4 :(得分:1)
带有PdfFileStamp
class的Aspose.Pdf.Kit也可以这样做。它正确地工作most of the time。
答案 5 :(得分:1)
PDFbox for Java支持Overlay类,允许以这种方式合并PDF。请参阅此答案:Watermarking with PDFBox
然而,根据我的经验,PyPDF2和PDFbox都不可靠,但也许这对某人有帮助。
答案 6 :(得分:0)
我使用了Mac OS工具PDFClerk Pro。我导入了PDF页面,然后将它们与“合并页面(堆叠)”选项合并。它给我留下了深刻印象。
答案 7 :(得分:0)
VeryPDF PDF Editor具有PDF覆盖功能,请查看此网页
http://www.verypdf.com/wordpress/201304/how-to-overlay-pdf-to-another-pdf-35885.html
答案 8 :(得分:0)
对于OS X,有PDF信头。除了覆盖PDF之外,什么都不做。 https://itunes.apple.com/us/app/pdf-letterhead/id976548033?mt=12