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

Есть ли какой-либо прямой способ генерации PDF из файла уценки с помощью python

Как заголовок, я хочу использовать markdown в качестве основного формата записи, и мне нужно сгенерировать PDF файлы из уценки с использованием чистого python.

4b9b3361

Ответ 1

Я сделал и сделаю это в два этапа. Во-первых, я бы использовал python-markdown, чтобы сделать HTML из моего Markdown, а затем я бы использовал xhtml2pdf, чтобы сделать PDF файл.

Изменить (2014):

Если бы я делал это сейчас, я мог бы выбрать WeasyPrint как инструмент HTML-to-PDF; он делает красивую работу, и я использовал ее в нескольких проектах недавно.

Ответ 2

Обновление на 2015 год:

Я бы использовал комбинацию pdfkit и Python-Markdown. Хотя это не чисто решение Python, но я считаю, что оно работает лучше всего, особенно если вы используете Python 3.

Сначала установите prereq (или загрузите здесь: http://wkhtmltopdf.org/downloads.html):

# Ubuntu
apt-get install wkhtmltopdf

Затем необходимые пакеты Python:

pip install pdfkit
pip install markdown

Тогда это действительно просто:

from markdown import markdown
import pdfkit

input_filename = 'README.md'
output_filename = 'README.pdf'

with open(input_filename, 'r') as f:
    html_text = markdown(f.read(), output_format='html4')

pdfkit.from_string(html_text, output_filename)

Ответ 3

Для любого, как я, пытаюсь найти ответ в 2018 году:

Я не проверял это, но Markdown2PDF, кажется, вариант https://pypi.org/project/Markdown2PDF/

Ответ 4

Я только что попробовал это (Markdown2PDF), но либо я делаю что-то не так, либо есть проблема с кодом. Я написал простой текстовый файл с именем "test.md", и он отлично печатается в HTML с помощью markdown_py, но когда я использовал md2pdf, я получаю следующее сообщение об ошибке:

SyntaxError: Отсутствуют скобки при вызове "print". Вы имели в виду print (css_file)?

Я новичок в этом, так что извиняюсь, если это моя ошибка, я бы хотел помочь вам разобраться, спасибо!