使用python将PNG转换为PDF

时间:2011-02-15 03:36:59

标签: python pdf-generation reportlab

我想写一个python脚本将PNG转换成2页的pdf(即每个PDF 2个PNG)。该软件需要在Mac和Windows 7上运行。

我目前的解决方案是使用ReportLab,但这不能在Mac上轻松安装。根据其网站,它只有一个Windows的编译版本。它有一个跨平台版本,需要安装C编译器。

有更好的方法吗(这样我就不必在Mac上安装C编译器了)?我应该使用不同的库,还是完全使用其他语言?只要我可以从python脚本调用该程序,我就可以使用任何语言来创建pdf。或者,是否有一个非常直接的(即非程序员可以安装它)C编译器,我可以在Mac上安装?

你推荐什么?

4 个答案:

答案 0 :(得分:4)

unix程序转换可以帮助您进行转换。

convert file.png file.pdf

但你说你也希望在windows下拥有它。 PIL imaging libraryPDF个模块。你应该尝试一下简单的

pilconvert file.png file.pdf

可以放置多个图像,您可以使用图书馆,这对于调整大小,拼接等非常灵活。它也适用于mac和windows

更新2011-02-15

在我的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)