matplotlib:将两个PDF并排合并成一个

2 投票
2 回答
2595 浏览
提问于 2025-04-18 18:12

我有两个不同的PDF图表(也是用matplotlib生成的),我想把它们并排放在一起。最开始我想用两个子图121和122来生成,但调整很多细节太麻烦了,所以我就生成了两个独立的图。

有没有办法把这两个已经准备好的PDF文件导入,然后合成一个呢?因为在我使用的latex文件中,处理一个图形文件比处理两个要简单得多!

2 个回答

0

我会把图表保存为PNG格式的图片,然后再用ReportLab把这些PNG图片合成一个PDF文件。比如:

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter

c = canvas.Canvas('report.pdf', pagesize=letter)    

c.drawImage('filename1.png', 0,0)
c.drawImage('filename2.png', 0,100)

c.save() 

https://web.archive.org/web/20150111073718/http://www.reportlab.com/apis/reportlab/2.4/pdfgen.html

如果你想把多个PDF文件合并在一起,这个问题已经有人回答过了,可以看看这里:合并PDF文件,或者你也可以直接用PIL合并图片,具体可以参考这里:如何用PIL/Pillow库把图片合并到一个画布上?

4

如果你使用的是Linux或Mac系统,可以用pdfjam这个程序来实现这个功能。

    pdfjam --nup 2x1 leftFig.pdf rightFig.pdf --outfile combinedFig.pdf

撰写回答