将一个pdf或ps文件叠加在另一个上面

时间:2009-02-01 22:27:11

标签: pdf postscript

我有两个pdf或postscript文件(我可以使用其中任何一个)。我想要做的是将每个页面合并在另一个页面之上,以便将文档A的page1与文档B的页面1组合以产生输出文档的页面1。这不是我一定要以编程方式进行的事情,尽管这会有所帮助。

有什么想法吗?

9 个答案:

答案 0 :(得分:74)

您可以使用命令行工具pdftk使用stampbackground选项,使用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