所以我有一个多页的pdf,看起来像这样。
这当前有多个页面,但我想要连接。这两个页面应该以一种方式连接起来,使其成为一页。(字面意思是将两个页面连接在一起,同时消除它们之间的灰色区域。
我已经深入研究了int、pypdf2和pdf2image,但到目前为止还没有任何收获。我想知道有什么功能可以帮助我实现这一点吗?
发布于 2019-12-16 06:42:48
您可以创建一个新的页面对象,该对象的长度是第一个页面的两倍(假设两个页面的高度相同),并在新页面中一个接一个地放置页面。
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())https://stackoverflow.com/questions/59348564
复制相似问题