我想写一个python脚本将PNG转换成2页的pdf(即每个PDF 2个PNG)。该软件需要在Mac和Windows 7上运行。
我目前的解决方案是使用ReportLab,但这不能在Mac上轻松安装。根据其网站,它只有一个Windows的编译版本。它有一个跨平台版本,需要安装C编译器。
有更好的方法吗(这样我就不必在Mac上安装C编译器了)?我应该使用不同的库,还是完全使用其他语言?只要我可以从python脚本调用该程序,我就可以使用任何语言来创建pdf。或者,是否有一个非常直接的(即非程序员可以安装它)C编译器,我可以在Mac上安装?
你推荐什么?
答案 0 :(得分:4)
unix程序转换可以帮助您进行转换。
convert file.png file.pdf
但你说你也希望在windows下拥有它。 PIL imaging library有PDF个模块。你应该尝试一下简单的
pilconvert file.png file.pdf
可以放置多个图像,您可以使用图书馆,这对于调整大小,拼接等非常灵活。它也适用于mac和windows
在我的macosx上,我已经毫无困难地安装了reportlab。
% sudo easy_install reportlab
Searching for reportlab
Reading http://pypi.python.org/simple/reportlab/
Reading http://www.reportlab.com/
Best match: reportlab 2.5
Downloading http://pypi.python.org/packages/source/r/reportlab/reportlab-2.5.tar.gz#md5=cdf8b87a6cf1501de1b0a8d341a217d3
Processing reportlab-2.5.tar.gz
因此,您可以根据自己的需要使用PIL和Reportlab的组合。
答案 1 :(得分:1)
Reportlab是生成pdf的好工具之一。如果您可以将它用于您的目的,最好坚持使用它。对于在MAC上的安装,我看到darwinports有一个名为py-reportlab的Reportlab端口。按照说明使用portage进行安装,它将自行安装依赖项。
答案 2 :(得分:1)
PyCairo可能是一个不错的选择。你将拥有完全的控制权和更少的依赖关系,但是reportlab更加简单。
答案 3 :(得分:0)
为什么有人没有试过这个?
如果您对质量不是很强烈关注,请尝试以下解决方案。
import PIL.Image
filepath = "temp.png"
newfilename = 'our.pdf'
im = PIL.Image.open(filepath)
im.save(newfilename, "PDF", quality=100)