在使用完全相同的代码时,我可以将两个PDF
合并PDF
到一个页面中,第二个与第一个重叠,我参考了此链接以获取详细信息。
而且,与其按照这个Python Documentationfile()
使用更好,所以我这样做了。open()
此外,我对您的代码进行了细微更改,但在我的机器上工作仍然相同且正确。我正在Ubuntu 16.04
使用python 2.7
.
这是代码:
from PyPDF2 import PdfFileReader,PdfFileWriter
import sys
f = sys.argv[1]
k = sys.argv[2]
print f, k
file1 = PdfFileReader(open(f, "rb"))
file2 = PdfFileReader(open(k, "rb"))
output = PdfFileWriter()
page = file1.getPage(0)
page.mergePage(file2.getPage(0))
output.addPage(page)
with open("join.pdf", "wb") as outputStream:
output.write(outputStream)
我希望这有帮助。
更新:
这是对我有用并将两个pdf页面合并为单页的代码。
from pyPdf import PdfFileWriter, PdfFileReader
from pdfnup import generateNup
initial_output = PdfFileWriter()
input1 = PdfFileReader(open("landscape1.pdf", "rb"))
input2 = PdfFileReader(open("landscape2.pdf", "rb"))
initial_output.addPage(input1.getPage(0))
initial_output.addPage(input2.getPage(0))
# creates a new pdf file with required pages as separate pages.
initial_output.write(file("final.pdf", "wb"))
# merges newly created pdf file pages as one.
generateNup("final.pdf", 2, "intermediate.pdf")
# overwrite and rotates the final.pdf
final_output = PdfFileWriter()
final_output.addPage(PdfFileReader(open("intermediate.pdf", "rb")).getPage(0).rotateClockwise(90))
final_output.write(open("final.pdf", "wb"))
我添加了一个新代码,现在它也在旋转最终的 pdf。您需要的输出 PDF 是final.pdf
这是我的文件驱动器的Google Drive 链接PDF
。pdfnup.py
另外,为了与我的系统兼容,我做了一些小改动,Immutableset
如果你想使用相同的文件,你也可以在上面的驱动器链接中找到它。