Как преобразовать много FB2 файлов в PDF с помощью fb2pdf

Чтобы читать с комфортом на устройствах с плохими шрифтами.

Мой опыт пригодится в двух случаях:

  1. Когда надо преобразовать много электронных книг формата FB2 в PDF формат. Зачем — не спрашивайте, я сам не знаю, FB2 и Epub лучше.
  2. Когда в электронной читалке книг ограниченный набор шрифтов и все они неприятны глазу.

Я не люблю PDF из-за его «мусорности» — по сути это сборная солянка данных различного формата, низкопроизводительные устройства открывают такие документы с трудом. Но есть у PDF положительная черта: в документе можно как угодно форматировать текст, применять любые шрифты и на любом компьютере, телефоне, планшете всё будет прекрасно отображаться. Это свойство идеально подходит для комфортного чтения с экранов электронных книг, встроенные шрифты которых зачастую вырвиглазные.

Например, мой отец пользуется читалкой Wexler Book T7001. Выпущенная в далёком 2010 году, работает верой и правдой до сих пор. С железной точки зрения устройство живучее: сдохший аккумулятор легко меняется на любой литий-ионный произвольной ёмкости (я поставил BL-6C от старой Нокии, хватает на 6 часов), корпус довольно прочен, кнопки до сих пор не стёрлись. Разве что ЖК-экран в случае разбития придётся поискать. С софтом, увы, засада: плохое сглаживание шрифтов, буквы мелкие, часть элементов текста вроде аннотаций читалка не выделяет, затрудняя восприятие. Спасает конвертация книг в PDF специальным конвертером fb2pdf, в котором можно указать форматирование для любого типа текста в книге. Настраивается только один раз, потом сможете конвертировать сколь угодно много книг, оптимизированных для вашего устройства.

Да, я знаю, что сейчас есть читалки на электронных чернилах, заряда которых хватает на неделю беспрерывной работы и даже больше, с замечательными шрифтами, но будем честны: хорошие электронные ридеры в России стоят больше МРОТа, поэтому люди покупают дешёвые, плохо адаптированные к кириллице ридеры китайско-подвального происхождения. Тут надо как-то выкручиваться, благо почти все читалки поддерживают PDF.

Программа мультиплатформенная — запустится как на Windows, так и Linux, потому что написана на Java.

  1. Скачайте конвертер: fb2pdf-j.20161111.zip
  2. Поставьте Java Runtime восьмой версии (с девятой вылетает).
  3. Откройте файл /data/stylesheet.json обычным Блокнотом и настройте размеры шрифтов по своему вкусу. Справка по всем параметрам находится на официальном сайте.
  4. Киньте файл книги или папку с ними на файл fb2pdf.cmd, обработка запустится. Вместе с .pdf появятся .log-файлы с протоколом конвертации. При проблемах смотрите лог, там будет указана причина прерывания конвертации.

Fb2pdf авторами заброшена, но критических проблем я не заметил. Шрифты можно указывать какие угодно. Размеры — любые. Цвета — тоже любые. Можно указывать цвет фона страниц.

Жаль, поддерживает только fb2. Сжатые .fb2.zip открывает, если совпадают имена файла и содержимого (например, сам архив — kniga.fb2.zip, внутри kniga.fb2), имейте это в виду.

Самое муторное — подогнать размер листа PDF так, чтобы соотношение сторон совпало с областью чтения читалки, иначе появятся полосы по краям экрана. За это отвечают параметры pageWidth и pageHeight (ширина и высота листа соответственно). Для Wexler Book T7001 это 88.9mm и 148.9mm, для другого устройства придётся подбирать экспериментальным путём.

Конвертер fb2pdf качайте только по моей ссылке, там проверенная версия. В Github автора есть версия свежее, но она определяется как вирус, поэтому и официальному сайту доверять нельзя. Такие дела.