Есть ли какой-нибудь модуль Python 3 для создания PDF файлов?

Я какое-то время искал что-то, чтобы иметь возможность создавать PDF файлы и интегрироваться с моим текущим проектом в Python 3. Обычными ссылками являются Reportlab или pyPDF. Но эти два еще не совместимы с Python 3. Я вижу, что с 2010 года было несколько обсуждение о порте в Reportlab, но по состоянию на сегодня я не могу найти ссылку на порт.

Другой альтернативой является использование промежуточного формата из Python 3 для использования в другой программе, завернутый вызовом подпроцесса. Relatorio делает это. Я мог бы подумать о том, чтобы сделать что-то подобное или даже генерировать XHTML/CSS и использовать xhtml2pdf.

Ответ 1

Библиотека cairo с pycairo (а не py2cairo, что для python 2) связывание работает с python 3.x и может создавать PDF-выход (среди прочих).

Ответ 2

На блоке появился новый ребенок, который выглядит многообещающим. Он поддерживает функции print css, такие как разрыв страницы.

Попробуйте weasyprint

Ответ 3

В конце концов мне трудно работать с pycario/pango, pycairo stil пропускает какой-то метод для png, а PIL еще не поддерживается в python3, также имеет множество зависимостей (идея использования pycario) поэтому я заканчиваю перенос библиотеки python 2 на python 3, не очень продвинутый, но выполняет задания для некоторых базовых PDF файлов, называемых py3fpdfзабастовкa >

--- обновление -

Получается, что p3fpdf не выполнил заданий n_n '. Поэтому, чтобы рассказать конец истории, я сделал препроцессор apache fop, который он назвал pypfop. Я только недавно расстался с полным проектом. Это незавершенная работа с документацией, примеры могут быть иллюстративными.

Ответ 4

Вы можете получить маршрут HTML/CSS и использовать prince, хотя это не бесплатное программное обеспечение.

Если ваш источник не слишком сложный, вы также можете попробовать чистое решение python, как в http://code.activestate.com/recipes/189858-python-text-to-pdf-converter/

Ответ 5

Вы можете отключить и вызвать text2pdf

Ответ 6

Порт для 2.7 и 3.3 в настоящий момент находится в разработке:

https://github.com/nakagami/reportlab

PIL еще не портирован на Python3, поэтому ReportLab не будет работать полностью.

Ответ 7

Pillow - довольно хороший порт PIL для Python 3, и теперь он доступен в экспериментах Debian и Ubuntu 13.04. Это должно разблокировать порт Python 3 ReportLab, который мне очень хотелось бы видеть. @nakagami: ваш отчет github кажется неудачным для меня с python3 setup.py build, но он может быть мелким. Насколько официально ваш порт? Вы связались с людьми RL, чтобы узнать, заинтересованы ли они в вашей работе? Я не думаю, что их код доступен в общедоступном vcs.