所以我有一个多页pdf,看起来像这样
该页面当前有多个页面,但我想进行合并。这两页的连接方式应使其成为一页。 (从字面上看,将两个页面合并在一起,但摆脱了它们之间的灰色区域。
gray area that needs to go away 我已经挖深int pypdf2和pdf2image,但到目前为止还没有任何运气。我想知道是否有任何功能可以帮助我实现这一目标?
答案 0 :(得分:1)
您可以创建一个新页面对象,该对象的长度是第一页面对象的两倍(假设两个页面的高度相等),然后在新页面中一个接一个地放置页面。
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2.pdf import PageObject
reader = PdfFileReader(open("file.pdf",'rb'))
page_1 = reader.getPage(0)
page_2 = reader.getPage(1)
#Creating a new file double the size of the original
translated_page = PageObject.createBlankPage(None, page_1.mediaBox.getWidth(), page_1.mediaBox.getHeight()*2)
#Adding the pages to the new empty page
translated_page.mergeScaledTranslatedPage(page_1, 1, 0, page_1.mediaBox.getHeight())
translated_page.mergePage(page_2)
writer = PdfFileWriter()
writer.addPage(translated_page)
with open('out.pdf', 'wb') as f:
writer.write(f)
如果它们的高度不同,那就做
translated_page = PageObject.createBlankPage(None, page_1.mediaBox.getWidth(), page_1.mediaBox.getHeight()+ page_2.mediaBox.getHeight())