将多页pdf连接成单页pdf

Concatenating multiple page pdf into single page pdf

所以我有一个看起来像这样的多页 pdf

multipage

这目前有不止一页,但我想拼接起来。这两页应以某种方式连接起来,使其成为一页。 (字面意思是加入两个页面,同时去掉它们之间的灰色区域。

gray area that needs to go away 我已经深入挖掘了 int pypdf2 和 pdf2image 但到目前为止还没有运气。我想知道有什么功能可以帮助我实现这一目标吗?

您可以创建一个长度是第一个页面对象两倍的新页面对象(假设两个页面的高度相同),然后将页面一个接一个地放入新页面中。

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())