Python 如何在同一页面中将5个PDF合并到一个PDF中

Python 如何在同一页面中将5个PDF合并到一个PDF中,python,pdf,generate,Python,Pdf,Generate,我生成了很多PDF,每5个PDF,我想合并到一个页面上 pdf=['out\u mitry.pdf','out\u cdg.pdf'] 合并=Pdfilemerger() pdf格式的pdf文件: 合并.附加(pdf) 合并.write(“result.pdf”) 合并.结束() 我的实际结果是得到合并,但每个pdf都在一个页面上。 我想将5个pdf合并到一个页面中我最近遇到了这样的问题,并找到了解决方案。 我演示了两个单页文件的解决方案,您可以轻松地将其扩展到任意数量的PDF 让我们这样组合页

我生成了很多PDF,每5个PDF,我想合并到一个页面上

pdf=['out\u mitry.pdf','out\u cdg.pdf']

合并=Pdfilemerger()

pdf格式的pdf文件: 合并.附加(pdf)

合并.write(“result.pdf”) 合并.结束()

我的实际结果是得到合并,但每个pdf都在一个页面上。
我想将5个pdf合并到一个页面中

我最近遇到了这样的问题,并找到了解决方案。 我演示了两个单页文件的解决方案,您可以轻松地将其扩展到任意数量的PDF

让我们这样组合页面:

---------
|   |   |
| 1 | 2 |
|   |   |
---------
从PyPDF3导入PdfileWriter、PdfileReader
从PyPDF3.pdf导入页面对象
pdf_filenames=[“out_mitry.pdf”,“out_cdg.pdf”]
input1=PdfileReader(打开(pdf_文件名[0],“rb”),strict=False)
input2=PdfileReader(打开(pdf文件名[1],“rb”),strict=False)
page1=input1.getPage(0)
page2=input2.getPage(0)
总宽度=page1.mediaBox.upperRight[0]+page2.mediaBox.upperRight[0]
总高度=最大值([page1.mediaBox.upperRight[1],page2.mediaBox.upperRight[1]))
新建页面=PageObject.CreateBankPage(无、总宽度、总高度)
#在0,0位置添加第一页
新建页面。合并页面(第1页)
#添加沿x轴移动的第二页
新建页面.mergeTranslatedPage(第2页,第1页,mediaBox.upperRight[0],0)
输出=PdfileWriter()
output.addPage(新页面)
output.write(打开(“result.pdf”、“wb”))

不,我认为这在
PyPDF2
Pdfilemerger
类中是不可能的。你唯一能做的就是设置页面布局,这不是你想要的。为了将多页pdf文档放在一个页面上,我想到了像Latex这样的工具。python中有没有库可以做到这一点?我需要做一个脚本我不知道,但可能有一个。我不知道。但你为什么坚持使用Python呢?其他工具可以很容易地做到这一点。也许这就是你想要的: