О, этот вопрос приходит точно в нужное время :-)
Потому что только прошлой ночью я создал себе PDF из разных статей Википедии, используя замечательную утилиту prince
. Команда все еще в моей истории bash:
time prince \
--verbose \
--no-author-style \
--style=http://www.princexml.com/howcome/2008/wikipedia/wiki2.css \
http://en.wikipedia.org/wiki/Color_management \
http://en.wikipedia.org/wiki/Gamut \
http://en.wikipedia.org/wiki/RGB \
http://en.wikipedia.org/wiki/CMYK \
http://en.wikipedia.org/wiki/Color_space \
http://en.wikipedia.org/wiki/ICC_profile \
http://en.wikipedia.org/wiki/Color_calibration\
http://en.wikipedia.org/wiki/Linux_color_management \
--output=prince-colormanagement-wikipedia.pdf
Потребовалось всего 3 минуты, чтобы загрузить все необходимые файлы (он использует удаленный файл таблицы стилей CSS, а также свободно доступные шрифты (Gentium), которые он загружает онлайн ...) и составить PDF.
Принц можно скачать и использовать без регистрации. Тем не менее, это все еще коммерческое программное обеспечение: оно может использоваться бесплатно в некоммерческих целях - но в этом случае вам придется жить с небольшим, довольно ненавязчивым логотипом на первой странице вашего PDF.
Это маленький логотип принца, с которым вам придется жить, когда вы не платите за программное обеспечение. Он появляется в правом верхнем углу на первой странице ваших PDF-файлов:
Вот снимок экрана полученного PDF-файла с отображением страницы и частично расширенной панели закладок в Acrobat Reader в Linux:
Как видите, все закладки для всех содержащихся статей есть.
Как вы также заметите, 2-х колоночный набор стилей был правильно реализован prince. (Если вы гуру CSS, вы можете легко создать свою собственную таблицу стилей, используя свои собственные настройки шрифтов и т.д., Для создания стилей книг Википедии по своему вкусу.)
Принц доступен не только для Linux, но также для Windows, Solaris и Mac OS X.
Обновление: просто для сравнения с функциями, которые вы хотели:
- «Измените гиперссылки на закладки внутри статьи для многостраничных книг, если целевая страница также есть в книге».
- Этот инструмент делает именно то, что вы хотите здесь.
- «Лучше содержание слоя».
- Если честно, я не понимаю, что вы имеете в виду под этим пунктом. Однако, поскольку вы можете взломать свою собственную таблицу стилей и сделать так, чтобы Prince применил ее к выводу, нет никаких ограничений для «лучшего контента».
- «Автоматически обновлять страницы, если это возможно ... »
- Для этого вам придется написать собственный сценарий на основе командной строки
prince
. Он будет использовать cronjob, чтобы проверить, изменилась ли какая-либо из статей Википедии, составляющих вашу книгу. Если это так, запустите команду prince
снова. При проверке изменений cronjob можно использовать curl
и API Википедии , чтобы запросить дату последнего изменения статьи.