有一个pdf文件的两个页面,我需要合并这两个页面,只有一个页面在一个新的pdf输出。简单地说,新的输出pdf应该是一个页面,我有下面的代码可以让我完成这个任务,但问题是输出是并排的两个页面。我需要页面垂直于同一页内的每一页。
from PyPDF2 import PdfFileWriter, PdfFileReader
from PyPDF2.pdf import PageObject
pdf_filenames = ['Sample.pdf']
inputpdf = PdfFileReader(open(pdf_filenames[0], 'rb'), strict=False)
page1 = inputpdf.getPage(0)
page2 = inputpdf.getPage(1)
total_width = page1.mediaBox.upperRight[0] + page2.mediaBox.upperRight[0]
total_height = max([page1.mediaBox.upperRight[1], page2.mediaBox.upperRight[1]])
new_page = PageObject.createBlankPage(None, total_width, total_height)
new_page.mergePage(page1)
new_page.mergeTranslatedPage(page2, page1.mediaBox.lowerRight[0], 0)
output = PdfFileWriter()
output.addPage(new_page)
output.write(open('MergedPDF.pdf', 'wb'))发布于 2022-03-21 18:11:00
我可以使用下面的代码来解决这个问题,但是我欢迎任何我需要的想法,在合并之前可以控制页面的大小吗?
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2.pdf import PageObject
reader = PdfFileReader(open('Sample.pdf','rb'))
page_1 = reader.getPage(0)
page_2 = reader.getPage(1)
translated_page = PageObject.createBlankPage(None, page_1.mediaBox.getWidth(), page_1.mediaBox.getHeight()*2)
translated_page.mergeScaledTranslatedPage(page_1, 1, 0, page_1.mediaBox.getHeight())
translated_page.mergePage(page_2)
writer = PdfFileWriter()
writer.addPage(translated_page)
with open('MergedPDF.pdf', 'wb') as f:
writer.write(f)https://stackoverflow.com/questions/71561952
复制相似问题