Подтвердить что ты не робот

Конвертер PDF для Google App Engine

Я ищу хороший, источник с открытым исходным кодом, генератор/библиотеку PDF, который преобразует html (с стилем и т.д.) в файл PDF.

Требование:

  • Должен быть Java или Python и запускаться в Google App Engine.
  • Должен быть бесплатным, с открытым исходным кодом.
  • Должна быть проста в использовании/потреблении.

Да, я попытался найти это самостоятельно - я пробовал множество "решений", которые я нашел в Google и т.д. Никто еще не удовлетворяет меня. Многие из них кажутся неполными, багги или плохо работают на GAE. Поэтому я решил, что обращусь к сообществу StackOverflow за мнениями или предложениями.

4b9b3361

Ответ 1

Для HTML/изображения в PDF я использую библиотеку Python http://www.xhtml2pdf.com/, которая использует Pisa, Reportlab, pyPdf и html5lib, работающие на GAE. Я использовал его для создания очень хороших PDF файлов со встроенными изображениями, и как только я понял, как правильно получить размер страницы, я нашел, что это очень хорошая библиотека.

Вам понадобится библиотека xhtml2pdf и ее зависимости: https://github.com/chrisglass/xhtml2pdf

Я собрал несколько примеров кода Python и поместил его в этот pastebin: http://pastebin.com/FFEZjNs3

В pdf_data, который вы получите в конце, это двоичные данные файла PDF. Html_data, которую вы даете pisa, - это действительно любая строка, содержащая HTML-документ.

В ваш HTML есть некоторые рекомендуемые вещи для получения хорошо отформатированного PDF-вывода. Вот пример HTML-документа, аналогичный используемому базовому шаблону. Обратите внимание на мета-поле автора и CSS-страницы @page: http://pastebin.com/q1wRm9nJ

Вот документы о совместимых CSS и HTML: https://github.com/chrisglass/xhtml2pdf/blob/master/doc/usage.rst#supported-css-properties

Вы можете включать изображения, используя либо URL-адрес внешнего изображения, либо вы можете использовать dataUri, а xhtml2pdf имеет функцию для создания этих "pisa.makeDataURI()".

Надеюсь, это поможет.