Преобразование HTML в PDF в Python
Что такое хороший метод для преобразования файла строки HTML в PDF? Я пытаюсь создать простой инструмент, который создает отчет в формате PDF с использованием некоторых пользовательских данных и шаблона HTML. Я хочу распространить этот инструмент, чтобы другие сотрудники могли его использовать.
Прямо сейчас я пытаюсь использовать pdfkit и wkhtmltopdf. Проблема в том, что я могу заставить этот код работать только когда я указываю путь к файлу wkhtmltopdf.exe. Когда я упаковываю код с помощью PyInstaller, другие пользователи не смогут использовать программу, потому что у них нет файла шаблона HTML или пути к wkhtmltopdf. Любые идеи о том, как решить эту проблему или есть какие-либо альтернативные пакеты / методы Python, которые я должен использовать?
1 ответ
Если вы хотите упаковать шаблон HTML в свой модуль и используете setuptools
Вы можете включить любые другие файлы с парой изменений:
- Создайте файл с именем
MANIFEST.in
в вашей базовой директории модуля - Добавьте все файлы, которые вы хотите включить, вот так:
include <path/to/file/in/module>
- В
setup.py
добавлятьinclude_package_data=True
вsetup()
Внесение этих изменений должно позволить вашему модулю включить ваш шаблон и позволить другим модулям преобразовать его в PDF.
Если у вас есть проблемы с путями в модуле, убедитесь, что вы используете абсолютные пути для ссылок на другие файлы. Я бы предложил использовать встроенный os
Модуль для построения пути, который работает для любого пользователя. Например: os.path.abspath("path/to/my/file")