matplotlib:将两个PDF并排合并成一个
我有两个不同的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