Использование Python для преобразования PNG в PDF - PullRequest
5 голосов
/ 15 февраля 2011

Я хочу написать скрипт на python для преобразования PNG в двухстраничные PDF-файлы (т.е. 2 PNG в PDF) Программное обеспечение должно работать как на Mac, так и на Windows 7.

Мое текущее решение использует ReportLab, но его нелегко установить на Mac. Согласно его веб-сайту, он имеет только скомпилированную версию для Windows. Он имеет кроссплатформенную версию, для установки которой требуется компилятор C.

Есть ли лучший способ сделать это (чтобы мне не нужно было устанавливать компилятор C на Mac)? Должен ли я использовать другую библиотеку или другой язык целиком? Пока я могу вызывать программу из скрипта Python, я мог использовать любой язык для создания PDF. Или есть ли очень простой (т. Е. Не программист может установить его) компилятор C, который я мог бы установить на Mac?

Что вы рекомендуете?

Ответы [ 4 ]

4 голосов
/ 15 февраля 2011

Программа конвертирования Unix может помочь вам в конвертации.

convert file.png file.pdf

Но вы сказали, что хотите, чтобы она также была под окнами. Библиотека изображений 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 для своих собственных нужд.

1 голос
/ 18 августа 2011

PyCairo может быть хорошей альтернативой. У вас будет полный контроль и меньше зависимостей, но reportlab намного проще.

1 голос
/ 15 февраля 2011

Reportlab - один из хороших инструментов для создания PDF-файлов.Если вы можете использовать его в своих целях, лучше придерживаться его.Для установки на MAC я вижу, что darwinports имеет порт для Reportlab с именем py-reportlab .Следуйте инструкциям, чтобы установить его с помощью portage, он установит зависимости самостоятельно.

0 голосов
/ 26 октября 2016

Почему никто этого не пробовал ??

Если вы не сильно обеспокоены качеством, попробуйте следующее решение.

import PIL.Image

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


im = PIL.Image.open(filepath)

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