-
Notifications
You must be signed in to change notification settings - Fork 21
fb2converter
Конвертер файлов fb2, fb2.zip, epub в форматы mobi, azw3, epub, kepub - для Windows, Linux, MacOS...
Эта программа - итерация проекта fb2mobi и является результатом обобщения опыта, накопленного в процессе поддержки fb2mobi. Основными причинами ее создания являются трудности с поддержкой бинарных дистрибутивов кода, написанного на Python, а так же исторические наслоения в командной строке и конфигурации fb2mobi.
fb2c не имеет зависимостей и не требует инсталляции. В процессе переработки сделана попытка отделить командную строку от конфигурационного файла, упрощена конфигурации и нормализовано использования Unicode. Убраны или упрощены возможности fb2mobi (XSLT, custom dictionaries) которыми никто не пользовался. В то же время все, что связано с визуальным форматированием книги (stylesheets и т.п.), осталось практически без изменений. Соответственно документация для fb2mobi в части форматирования документов по-прежнему актуальна.
В настоящий момент fb2c не имеет UI, хотя его появление не исключается :)
- Несколько другой алгоритм расстановки переносов (нет hyphensReplaceNBSP параметра)
- Если специфицированы виньетки и глава не имеет ни одного текстового параграфа - chapter_end виньетка не добавляется автоматически. Это позволяет упростить конфигурацию.
- golang runtime обрабатывает images несколько не так, как Python - так что некоторые "поломанные" изображения станут более заметны (в конфигурации имеется use_broken_images).
- размер страниц расчитывается в Unicode code points а не в байтах.
- генерация оглавления для epub (toc.ncx) изменена
Справка программы может быть получена при запуске без параметров fb2c:
NAME:
fb2converter - fb2 conversion engine
USAGE:
fb2c.exe [global options] command [command options] [arguments...]
VERSION:
Версия конвертера (Версия go runtime) : git sha
COMMANDS:
convert Converts FB2 file(s) to specified format
transfer Prepares EPUB file(s) for transfer (Kindle only!)
synccovers Extracts thumbnails from documents (Kindle only!)
dumpconfig Dumps active configuration (JSON)
export Exports built-in resources for customization
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--config FILE, -c FILE load configuration from FILE (YAML, TOML or JSON). if FILE is "-" JSON will be expected from STDIN
--debug, -d leave behind various artifacts for debugging (do not delete intermediate results)
--help, -h show help
--version, -v print the version
Глобальные опции работают со всеми командами, но каждая команда дополнительно может иметь свои опции. Справка по команде получается при запуске fb2c help КОМАНДА или fb2c КОМАНДА -h.
NAME:
fb2c.exe convert - Converts FB2 file(s) to specified format
USAGE:
fb2c.exe convert [command options] SOURCE [DESTINATION]
OPTIONS:
--to TYPE conversion output TYPE (supported types: epub, kepub, azw3, mobi) (default: "epub")
--nodirs when producing output do not keep input directory structure
--stk send converted file to kindle (mobi only)
--ow continue even if destination exits, overwrite files
SOURCE:
path to fb2 file(s) to process, following formats are supported:
path to a file: [path]file.fb2
path to a directory: [path]directory - recursively process all files under directory (symbolic links are not followed)
path to archive with path inside archive to a particular fb2 file: [path]archive.zip[archive path]/file.fb2
path to archive with path inside archive: [path]archive.zip[archive path] - recursively process all fb2 files under archive path
When working on archive recursively only fb2 files will be considered, processing of archives inside archives is not supported.
DESTINATION:
always a path, output file name(s) and extension will be derived from other parameters
if absent - current working directory
Основная функциональность конвертера - позволяет конвертировать файл, директорию с файлами, все файлы из zip архива, все файлы из директории и zip архивов в этой директории рекурсивно с сохранением относительных путей в поддиректориях и без оных...
- Если указан fb2 файл - он будет конвертирован
- Если указан zip архив - все fb2 файлы в архиве (с путями, рекурсивно) будут конвертированы
- Если указан zip архив с путем внутри архива на fb2 файл - fb2 файл из архива будет конвертирован
- Если указана директория - все fb2 файлы в директории и поддиректориях, а так же найденные там zip архивы и все fb2 файлы в этих архивах будут конвертированы
Архивы в архивах будут пропущены!
NAME:
fb2c.exe transfer - Prepares EPUB file(s) for transfer (Kindle only!)
USAGE:
fb2c.exe transfer [command options] SOURCE [DESTINATION]
OPTIONS:
--to TYPE conversion output TYPE (supported types: azw3, mobi) (default: "mobi")
--nodirs when producing output do not keep input directory structure
--stk send converted file to kindle (mobi only)
--ow continue even if destination exits, overwrite files
SOURCE:
path to epub file(s) to process, following formats are supported:
path to a file: [path]file.epub
path to a directory: [path]directory - recursively process all files under directory (symbolic links are not followed)
DESTINATION:
always a path, output file name(s) and extension will be derived from other parameters
if absent - current working directory
Presently no processing of input files is performed - not even unpacking, so most of program functionality is disabled.
This command is a mere convenience wrapper to simplify transfer of files to Kindle over USB or mail.
Так как отправка epub файла на Kindle требует дополнительный усилий - эта команда попытается напустить kindlegen na epub файл/файлы, после чего последует стандартная обработка, как в команде convert. Никакой предварительной обработки epub не производится, большая часть функциональности конвертера в этом режиме недоступна.
NAME:
fb2c.exe synccovers - Extracts thumbnails from documents (Kindle only!)
USAGE:
fb2c.exe synccovers [command options] SOURCE
OPTIONS:
--width value width of the resulting thumbnail (default: 330) (default: 330)
--height value height of the resulting thumbnail (default: 470) (default: 470)
--stretch do not preserve thumbnail aspect ratio when resizing
SOURCE:
directory on mounted device to look for books
Synchronizes kindle thumbnails with books already in Kindle memory so Kindle home page looks better.
Читает mobi/azw3 файлы из указанной директории, извлекает из них thumbnails и сохраняет их в системную директорию kindle. В результате grid view на устройстве выглядит "правильно". Указанный на входе путь должен вести на подключенное к компьютеру устройство!
NAME:
fb2c.exe dumpconfig - Dumps active configuration (JSON)
USAGE:
fb2c.exe dumpconfig DESTINATION
DESTINATION:
file name to write configuration to, if absent - STDOUT
Produces file with actual configuration values to be used by the program. To see configuration after parsing but before anything else use --debug option.
Служит для отладки конфигурации, позволяя увидеть конфигурационные значения в том виде, в котором из будет использовать программа. Результат всегда выводится в формате JSON.
NAME:
fb2c.exe export - Exports built-in resources for customization
USAGE:
fb2c.exe export DESTINATION
DESTINATION:
existing path to export resources to, must be present
Exports built-in resources (example configuration, style sheets, fonts, etc.) for customization. With --debug option will export all built-in resources, even non-customizable.
Сохраняет встроенные ресурсы в указанную директорию (с конфигурационным файлом) для последующей настройки "под себя". Указывая на входе глобальную опцию "--config" с путем к конфигурационному файлу можно переключиться на свои ресурсы частично или полностью меняя поведение программы. Сохраненный конфигурационный файл содержит полную документацию по конфигурации. Обратите внимание, что если не указано специально, все "относительные" пути рассчитываются от пути к указанному файлу конфигурации.
Архивы Windows дистрибутивов приготовлены для прямой распаковки в "MyhomeLib\converters" директорию и содержат 2 дополнительных программы-wrappers: fb2mobi.exe и fb2epub.exe. Эти дополнительные утилиты служат для запуска fb2c.exe из-под myhomelib. Они конвертируют опции командной строки и могут подбирать конфигурацию в виде fb2mobi.toml и fb2epub.toml из директорий, откуда они запущены.