Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python转换PNG';s转换为PDF格式';s_Python_Pdf Generation_Reportlab - Fatal编程技术网

使用python转换PNG';s转换为PDF格式';s

使用python转换PNG';s转换为PDF格式';s,python,pdf-generation,reportlab,Python,Pdf Generation,Reportlab,我想写一个python脚本,将PNG转换成2页的PDF(即每个PDF 2个PNG)。该软件需要同时在Mac和Windows7上运行 我目前的解决方案是使用ReportLab,但它不容易安装在Mac上。根据它的网站,它只有一个针对Windows的编译版本。它有一个跨平台版本,需要安装C编译器 有没有更好的方法来做到这一点(这样我就不必在Mac上安装C编译器)?我应该使用不同的库,还是完全不同的语言?只要我可以从python脚本调用该程序,我就可以使用任何语言创建pdf。或者,是否有一个非常简单(即

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

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

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


您推荐什么?

Reportlab是生成PDF的好工具之一。如果你能把它用于你的目的,最好还是坚持下去。对于MAC上的安装,我看到darwinports有一个Reportlab端口,名为。按照说明使用portage进行安装,它将自行安装依赖项。

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

convert file.png file.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。

Pycaor可能是一个很好的替代方案。您将拥有完全的控制权和较少的依赖性,但reportlab要简单得多。

为什么没有人尝试过这个

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

import PIL.Image

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


im = PIL.Image.open(filepath)

im.save(newfilename, "PDF", quality=100)

PIL是否具有制作多页PDF的功能?我希望PDF文件有2页长。哇,你不是在开质量玩笑吧——太糟糕了。PIL是将PNG转换为PDF的唯一方法吗?不,这不是唯一的方法,但PIL提供的质量对我来说是可以的,并且不像你说的那样,质量不会更差。质量还可以,PIL很容易实现。