2010-04-09 5 views
13

Я хотел бы написать документацию с использованием Jekyll с выводами HTML и PDF. Html может иметь навигацию, но PDF-файл должен содержать оглавление. Есть ли бесплатный и простой способ сделать это?Документация Jekyll для PDF с TOC

HTML-часть проста, но я бы хотел использовать CSS-текст @media для создания файла PDF.

У меня есть несколько идей, как это сделать.

  1. Использование PrinceXML, к сожалению, это коммерческий продукт с противным ценником ~ $ 500
  2. Использование WKHTMLTOPDF
  3. Использование Maruku, так как можно сделать преобразование PDF, используя его

I хотел бы иметь несколько страниц HTML и одностраничный PDF с TOC. Какие-либо предложения?

КПП. Buildr решил эту проблему, используя PrinceXML.

+0

Я почти спрыгнул со своего места в радости, думая, что принц получил так дешево, но 500 долларов на самом деле для одного компьютера, одного пользователя, интерактивного использования. Это еще $ 3800 (и выше) для лицензии сервера. – Nenotlep

+0

Busted ссылка на Maruku https://github.com/bhollis/maruku –

ответ

5

Если ваш «свободный» - ваш самый важный критерий, то ваш лучший выбор - wkhtmltopdf. Он поддерживает такие вещи, как обложки, токи, заголовки, нижние колонтитулы и разделы. В зависимости от того, насколько экзотично будет оформление вашего документа, вы, скорее всего, столкнетесь с некоторыми проблемами с разбивкой по страницам, но с небольшим изменением вы должны быть в порядке.

Я немного использовал wkhtmltopdf, с некоторыми довольно сложными документами (с диаграммами javascript, таблицами, svg-изображениями и т. Д.) И не сталкивался с слишком большим количеством проблем.

Убедитесь, что вы используете статическую версию wkhtmltopdf, так как это единственная версия, которая поддерживает рендеринг страницы TOC.

+0

Привет, Питер, у меня довольно большой опыт работы с wkhtmltopdf тоже, так как он действительно очень многофункциональный. Только одна проблема, хотя, по-видимому, небольшая, но очень важная: страница ломается после заголовков. Какой опыт вы должны поделиться? (Https://github.com/wkhtmltopdf/wkhtmltopdf/issues/1551#issuecomment-46580202) – Ernesto

2

Вы можете использовать драгоценный камень PDFKit, который использует wkhtmltopdf за кулисами. Затем вы можете поместить свою логику PDF в плагин Jekyll в качестве генератора или конвертера.

2
  • Для создания оглавления с помощью Джекил, вы можете use the {:toc} macro предлагают уценки или написать собственный textile table of contents filter, если вы предпочитаете использовать текстильный ..
  • Для генерации PDF из Html и CSS, я нашел weasyprint, чтобы быть хорошим решением. Поскольку они не полагаются на внешний механизм для рендеринга, они не зависят от дорожных карт заграничного проекта для реализации соответствующих функций, таких как CSS-сгенерированный контент или @page CSS-деклараций. (Но, в отличие от wkhtmltopdf, weasyprint не анализирует javascript).
Смежные вопросы