Как заголовок, я хочу использовать markdown в качестве основного формата записи, и мне нужно сгенерировать PDF файлы из уценки с использованием чистого python.
Есть ли какой-либо прямой способ генерации PDF из файла уценки с помощью python
Ответ 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)?
Я новичок в этом, так что извиняюсь, если это моя ошибка, я бы хотел помочь вам разобраться, спасибо!