我找不到适合我的解决方案。
我之前创建了许多已经存在的数据,并希望将它们合并到一个pdf格局页面中。图形文件是标准的matplotlib savefig,如.png。
那么我怎样才能简单地将四个地块结合起来将它们保存为一个带有python的pdf页面?我想像这样安排他们:
*-----------------------------------------------------------------------------------*
| |
| *-------------------------------* *-------------------------------* |
| | | | | |
| | | | | |
| | fig 1 | | fig 2 | |
| | | | | |
| | | | | |
| *-------------------------------* *-------------------------------* |
| |
| |
| *-------------------------------* *-------------------------------* |
| | | | | |
| | | | | |
| | fig 3 | | fig 4 | |
| | | | | |
| | | | | |
| *-------------------------------* *-------------------------------* |
| |
*-----------------------------------------------------------------------------------*
有一些非常简单的方法吗?
感谢您的帮助,
托拜厄斯
答案 0 :(得分:2)
如何使用Inkscape?您只需导入png并将结果保存为pdf。
如果你需要为许多png执行此操作,可以将其保存到tnkscape中的svg并将其用作模板。使用简单的python脚本,您可以替换svg中png源的文件名,并再次使用inkscape来创建pdfs。
答案 1 :(得分:1)
您是否考虑制作一个html模板,将图像组合在适当的位置,然后使用python pagkage(例如:pdfkit)转换您的html"页面"到pdf文档?
它对您来说是否是一个有效的解决方案?
希望它有所帮助!
----编辑----
我使用我的建议得到了一个有效的例子。 假设您已经按照我之前发送的链接中的说明安装了 pdfkit 和 wkhtmltopdf ,假设您在目录中有以下文件(我将在前面显示每个文件内容)叫结果:
png文件显然是你的情节图像文件。
template.html 文件包含以下代码:
<!doctype html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<html>
<body>
<div id="ext_container">
<div id="row1">
<div id="fig1_container">
<img src="fig1.png"> </img>
</div>
<div id="fig2_container">
<img src="fig2.png"> </img>
</div>
</div>
<div id="row2">
<div id="fig3_container">
<img src="fig3.png"> </img>
</div>
<div id="fig4_container">
<img src="fig4.png"> </img>
</div>
</div>
</div>
</body>
</html>
style.css 包含以下代码:
ext_container {
position: absolute;
top: 50px;
}
#fig1_container {
position: relative;
float: left;
}
#fig2_container {
position: relative;
float: left;
left: 100px;
}
#fig3_container {
position: relative;
float: left;
}
#fig4_container {
position: relative;
float: left;
left: 100px;
}
#row2 {
position: relative;
top: 50px;
}
img {
max-width: 300px;
max-height: 300px;
}
html2pdf.py 脚本包含以下行(如pdfkit usage中所述):
import pdfkit
pdfkit.from_file('template.html', 'output.pdf')
然后,您只需从命令行调用 html2pdf.py 脚本。
希望你能开始工作!