Как преобразовать Markdown + CSS → PDF?
Я пытаюсь преобразовать файл Markdown в PDF. Я ищу только две вещи:
- Способ легко изменить стиль pdf (например, с помощью файла CSS)
- Ярлык синтаксиса для кодовых блоков
Какие инструменты я могу использовать для этого? Я попробовал Pandoc, но он использует Latex для форматирования, которое нелегко использовать.
Ответы
Ответ 1
Pandoc может конвертировать ваш Markdown в HTML, но стиль/макет - это отдельная тема. Если вы хотите создать PDF, но использовать CSS для стилизации, вам нужно что-то, что может интерпретировать CSS. Это значит, что вы можете использовать браузер и печатать в PDF, заплатить за Prince или попробовать wkhtmltopdf. Кстати, pandoc также может использовать wkhtmltopdf
сейчас:
pandoc -t html --css mystyles.css input.md -o output.pdf
Но я подозреваю, что если вы хотите получить красиво набранный PDF файл бесплатно, вам придется изучить LaTeX или ConTeXt, современную и более автономную замену LaTeX, обе можно использовать с pandoc., Смотрите создание PDF с помощью pandoc.
Вы также можете попробовать PanWriter: созданный мной редактор уценок, где вы можете внедрять CSS и экспортировать PDF из разбитого на страницы предварительного просмотра.
Ответ 2
Существует действительно хороший и простой инструмент для просмотра документов Markdown, который дополнительно поддерживает функции экспорта в PDF:
GFMS - сервер уценки со вкусом Github
Это простой и легкий (без необходимости настройки) HTTP-сервер, который вы можете запустить в любом каталоге, содержащем файлы уценки, чтобы просмотреть их.
Особенности:
- полная поддержка GFM Markdown
- Подсветка синтаксиса исходного кода
- просмотр файлов и каталогов
- красивый вывод (и настраиваемые таблицы стилей CSS)
- экспорт в PDF (лучший вывод уценки в PDF, который я когда-либо видел)
gfms -p 8888
wget "http://localhost:8888/file.md?pdf" -O file.pdf
Ответ 3
В определенной степени я бы предложил просто изучить базовое латексное форматирование, которое вам нужно - оно удаляет слой интерпретации рендерером.
Однако pandoc поддерживает html-вход, поэтому теоретически вы можете экспортировать markdown- > html (с помощью настраиваемого css), а затем снова вызвать pandoc для преобразования в html. Я не знаю, будет ли (или сколько) форматирование сохранено - css может быть очень сложным для синтаксического анализа.