Разделение книг FB2 на части. Инструмент «FB2 Splitter»
Автор: ТемныйКотИнструмент «FB2 Splitter»
Ссылка каталог, где он лежит: https://dark-cat.ru/webtools
Собственно, о чём речь… Когда я тут выложил простенький конвертер картинок, некоторые читатели посетовали, что нельзя уже готовую книгу «взять и поделить». Так вот, теперь можно!
Хотя вообще-то этот FB2 Splitter делался для переноса книги с одной площадки на другую. Как-то раз мне понадобилось перенести свою графомань с одного сайта на другой. И это был незабываемый опыт, я вам доложу! Берёшь книгу, открываешь в редакторе, режешь вручную по главам, переименовываешь файлы, следишь, чтобы картинки не потерялись, чтобы сноски не отвалились, чтобы… А глав больше сотни! Удовольствие ниже среднего, в общем.
И когда меня это окончательно зае... я полез в интернет искать прогу, которая сделает всё это за меня. Искал долго. В итоге плюнул и собрал свой «FB2 Splitter» с блекджеком и разбивкой как мне надо. Этот сплиттер делит книгу на части по главам, по количеству слов, по количеству символов (прямо в браузере!). Загружаешь .fb2, выбираешь, как делить (по главам, словам или знакам), жмёшь — и получаешь аккуратные части, готовые к публикации. Без загрузки на сервер (всё локально), без потери обложки и картинок, без ручной возни с переименованием.

В чём соль конкретно «FB2 Splitter»
Если вы когда-нибудь резали книгу на части вручную, вы знаете эти мучения:
Главы разрезаются посередине абзаца — и часть начинается с «…продолжение следует», а вторая с «…а он ей и говорит». Обложка остаётся только в первом файле (или теряется во всех). Сноски уезжают в никуда. Картинки превращаются в квадратики с крестиком. Форматирование (курсив, жирный, выравнивание) пропадает. Имена файлов — «книга_часть1», «книга_часть2», а потом оказывается, что нужно было «01» и «02». А если ещё и надо сохранить в другом формате — вообще отдельная песТня! И так каждый раз, под каждую новую книгу!
«FB2 Splitter» делает всё это за вас — одним нажатием. И, что важнее, главы не разрезаются: части собираются из целых глав. Никаких обрывков посреди абзаца.
Как это работает с точки зрения пользователя
1. Загрузка — перетащили, и всё
Перетаскиваете .fb2 в левое окно (или кликаете — откроется выбор файла). Файл читается локально в браузере, никуда не отправляется. Понимает UTF-8, UTF-16 (с BOM и без), windows-1251, koi8-r и прочие кодировки — определяет автоматически по BOM и XML-заголовку, а если не смог — перебирает популярные.
Слева — обложка (или заглушка «Нет обложки»), справа — карточка книги.
2. Информация о книге — всё видно сразу
Карточка показывает: название, автора, количество глав, слов, знаков и кодировку. Плюс количество изображений в книге (кликабельно — открывает галерею (см. п. 8).
Предупреждение — если в книге нет секций <section>, книга будет обработана как одна часть (и это честно написано).
Внизу — среднее количество слов на главу, чтобы понимать масштаб.
3. Настройки разбивки — четыре режима
• По количеству глав — «N глав в части». Самый частый режим: сколько глав в книге, столько отдельных файлов и будет.
• По количеству слов — «N слов в части». Для площадок, которые считают слова (да, такие есть).
• По количеству знаков — «N знаков в части». Считаются знаки с пробелами, как на AuthorToday. Под полем — подсказка: оптимальный размер части — 50 000–100 000 знаков.
• Книга целиком — специальный режим без разбивки: вся книга одним файлом. Полезно, когда нужно не резать, а только сжать картинки или выгрузить книгу в другом формате. Плашка визуально отличается (пунктирная рамка), чтобы не спутать с режимами разбивки.
(Важно! Главы не разрезаются. Части собираются из целых глав. Если одна глава сама по себе больше лимита — она выйдет отдельной частью, и вы увидите предупреждение: «N глав крупнее лимита — каждая выйдет отдельной частью».)
4. Формат вывода — четыре, у каждого своя роль
• FB2 — валидная книга: шапка (description), обложка и картинки на месте. Каждая часть — самостоятельный FB2-файл, который открывается любой читалкой. В каждую часть попадают только те картинки, на которые она ссылается, — лишнего не тащим. Тела примечаний (<body name="notes">) выносятся на уровень корня <FictionBook>, как требует схема, и в часть попадают только те примечания, на которые есть ссылки (напрямую или через другие включённые примечания).
• TXT — чистый текст по строкам, без тегов и изображений. Две опции:
• Пустая строка между абзацами — для площадок, которые не понимают красную строку иначе.
• BOM в начале файла — для старых редакторов Windows (Notepad до Windows 10 без BOM видел кракозябры).
• RTF — Word/LibreOffice (открывается в обычном Ворде): сохраняет жирный, курсив, выравнивание, картинки. Опция «Встраивать изображения» — если выключить, файл станет меньше, но картинок в нём не будет. (Внимание: GIF в RTF не встраивается — Word и LibreOffice не знают \gifblip и показывали битую рамку. GIF остаётся доступен в галерее — скачайте оттуда.)
• DOCX — для загрузки частей на сайты (к примеру ФБ и АТ понимают только .docx). Собирается как настоящий OOXML: заголовки глав — реальные стили Heading1/Heading2 (их распознают конвертеры сайтов), жирный/курсив/зачёркивание, подстрочные и надстрочные индексы, выравнивания, отступ первой строки, гиперссылки, примечания в конце части, картинки PNG/JPEG, простые таблицы. Опция «Встраивать изображения» — общая с RTF.
5. Сжатие изображений при выгрузке (FB2, RTF, DOCX)
У книг с самиздатовских сайтов часто бывают картинки-плакаты по 5–10 МБ и файл раздувается до десятков мегабайт. Галочка «Сжимать изображения при выгрузке» решает это.
• Большие картинки уменьшаются до указанной максимальной стороны (по умолчанию 1200 px). Ресайз идёт ступенчато, с шагом 2× — без «зубцов» на краях, с усреднением пикселей.
• Всё пережимается в JPEG с заданным качеством (по умолчанию 85%). Прозрачность заменяется на белую подложку.
• EXIF-метаданные (включая GPS) удаляются. Поворот с телефона «запекается» в пиксели — фото не останется лежать на боку.
• Если JPEG уже в пределах лимита и стоит прямо — пиксели не трогаются, а метаданные вырезаются lossless-стрипом (без перекодировки). Если метаданных нет — файл остаётся как был.
• Если перекодировка экономит меньше 10% (схемы, иконки, мелкие JPEG) — файл остаётся без изменений, без двойного сжатия. Уменьшение и запекание EXIF-поворота выполняются безусловно.
• SVG не пережимается — вектор остаётся вектором.
• Прогресс и итог («Обработано N изображений · было → стало») видны в блоке результата.
Читалка и галерея на странице показывают исходные картинки и форматирование — сжатие применяется только к выгружаемым файлам.
6. Шаблон имён файлов
Поле с подстановками:
• {book} — название книги (в виде, безопасном для файловой системы)
• {translit} — название латиницей (для тех, кто боится кириллицы в именах файлов)
• {num} — номер части с нулями: 01, 02… (чтобы порядок фалов сохранялся в списке)
• {n} — номер без нулей
• {total} — всего частей
По умолчанию — {book}_{num}. Если поле пустое — скрипт возьмёт за имя название книги. Расширение .fb2/.txt/.rtf/.docx добавится автоматически.
7. Результат — список частей с предпросмотром
Каждая часть — строка с номером, названием (или «Главы 1–5»), именем файла, количеством слов и знаков. Две кнопки:
• Предпросмотр (иконка книги) — открывает читалку прямо в браузере. Читалка понимает: заголовки, подзаголовки, эпиграфы, цитаты, стихи, строфы, авторов, даты, картинки, аннотации, таблицы. Сноски открываются во всплывающем окне по клику. Шрифт регулируется кнопками A−/A+ (от 13 до 26 px), выбор запоминается. Esc закрывает.
ВАЖНО! Предпросмотр показывает исходную книгу, а не выходной файл, то есть даже если вы выбрали «сохранять в TXT», в читалке будет форматированный текст с картинками. Но скачается обычный текстовый файл.
• Скачать (стрелка вниз) — скачивает одну часть в выбранном формате.
«Скачать всё (ZIP)» (появляется, если частей больше одной; в режиме «Книга целиком» кнопка прячется автоматически). Собирает все части в один архив, разруливает одинаковые имена (добавит _2, _3).
8. Галерея изображений — можно отдельно вытащить из книги все картинки
Кликабельный бейдж изображений открывает галерею: превью всех картинок из книги. Клик по превью — открывает в полном размере в новой вкладке. Кнопка скачивания — сохраняет один файл. «Скачать всё (ZIP)» — пакует все изображения в архив.
Формат определяется по магическим байтам, а не по объявленному content-type (в FB2 он врёт чаще, чем хотелось бы). Имена файлов — по id из книги, с правильным расширением.
9. Мелочи (шоб було)
• Настройки (режим, формат, лимиты, чекбоксы, шаблон имён, параметры сжатия) сохраняются в localStorage и восстанавливаются при перезагрузке — включая подсветку активных плашек и состояние полей.
• Счётчик в шапке — название и подзаголовок.
• Кнопка «поддержать» в подвале — авторская наглость, как водится.
Чего «FB2 Splitter» НЕ делает (важно понимать)
Это не редактор FB2. Здесь нет:
• правки текста — книга не меняется, только режется (сжатие картинок при выгрузке — единственное исключение, и оно затрагивает только выгружаемые файлы);
• починки битого XML — если файл не открылся, значит, он не FB2 или повреждён;
• слияния книг — только разбивка;
• разрезания глав — главы всегда целые, это принципиально;
• изменения обложки, аннотации, шапки — description переносится как есть;
• автоматической отправки на площадку — здесь только подготовка файлов.
И это не баг, а фича. Чем чище инструмент — тем меньше сюрпризов при публикации.
Резюме
«FB2 Splitter» — это избавление от нуднейшей работы по разбиению книги. Вы загружаете .fb2, выбираете режим разбивки (или «Книга целиком»), формат, шаблон имён и — при необходимости — сжатие картинок. Жмёте — и получаете готовые части: с обложкой, картинками, сносками, форматированием и человеческими именами файлов. Хотите — в FB2, TXT, RTF или DOCX.
Главы не разрезаются. Обложка не теряется. Картинки не превращаются в квадратики. Сноски работают. Читалка показывает всё как надо. Всё — локально, в браузере, без сервера.
Загрузили — разбили (или не разбили) — скачали. Без ручной возни, без потери структуры, без сюрпризов на площадке.
Для тех, кто осилил, а вверх листать лень ссылка: https://dark-cat.ru/webtools/fb2splitter/fb2splitter.html