6

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

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

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

你有什么建议吗?

4

4 回答 4

4

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

convert file.png file.pdf

但是你说你也想把它放在windows下。PIL 成像库有一个PDF模块。你应该尝试一个简单的

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。

于 2011-02-15T03:50:41.760 回答
1

Reportlab 是生成 pdf 的好工具之一。如果您可以将其用于您的目的,那么最好坚持使用它。对于 MAC 上的安装,我看到 darwinports 有一个名为py-reportlab的 Reportlab 端口。按照说明使用 portage 安装它,它会自行安装依赖项。

于 2011-02-15T03:42:30.207 回答
1

PyCairo 可能是一个不错的选择。您将拥有完全的控制权和更少的依赖,但 reportlab 要简单得多。

于 2011-08-17T21:00:44.917 回答
1

为什么没有人试过这个??

如果您不太关心质量,请尝试以下解决方案。

import PIL.Image

filepath = "temp.png"
newfilename = 'our.pdf'


im = PIL.Image.open(filepath)

im.save(newfilename, "PDF", quality=100)
于 2016-10-26T09:47:19.237 回答