EPUB в Markdown: книга, которая не теряет своих глав
Переименуйте .epub в .zip и распакуйте. Внутри вы найдёте папку XHTML-файлов,
одну-две таблицы стилей, несколько картинок и манифест под названием content.opf, который
перечисляет каждую часть и задаёт порядок чтения. Это и есть весь формат. EPUB — не загадочный бинарный
блоб, а маленький сайт в сумке, с вшитым в него оглавлением.
Что делает его необычайно хорошим сырьём. Когда вы конвертируете EPUB в Markdown, вам не приходится угадывать структуру, как это бывает с PDF. Заголовки уже были заголовками. Первая глава уже была отдельным документом. Порядок чтения задекларирован, а не выведен. Перетащите файл в конвертер выше — и получите Markdown-версию книги с сохранённой иерархией: бесплатно, без регистрации, лимит 50 МБ, у нас ничего не остаётся.
Почему структура выживает так хорошо
Основную работу делают три вещи внутри контейнера, и полезно знать, что вносит каждая:
- XHTML-файлы с содержимым. Настоящая семантическая разметка —
<h1>,<h2>,<blockquote>,<ol>. Она отображается на Markdown почти один в один. Заголовок главы становится#, раздел —##, выносная цитата —>, курсив в названии книги остаётся курсивом. - Spine. OPF-файл перечисляет документы в порядке чтения, поэтому главы выходят в
правильной последовательности, даже когда внутренние имена файлов — бессмысленные вроде
part0009.xhtml. - Навигационный документ. Собственное оглавление книги. Именно благодаря ему названия глав выживают как названия, а не приходят анонимной строкой жирного текста.
Практический итог: полученный Markdown навигируем. Можно пролистать до 12-й главы, вырезать её и вставить
в модель только её. Попробуйте то же самое с плоским текстовым дампом на 400 страниц — и вам понадобятся
grep и много надежды.
Места, на которые стоит взглянуть второй раз
Ничто из перечисленного не критично, но беглый просмотр вывода на эти пункты занимает минуту и избавляет от путаницы потом.
- Служебные части едут вместе с книгой. Страница с копирайтом, посвящение, «другие книги автора», благодарности, огрызки указателя. В учебном сценарии это несколько тысяч токенов ни о чём. Удалите их перед вставкой.
- Сноски и примечания переезжают. В исходнике это ссылки на файл примечаний в конце книги. В сплошном Markdown они либо собираются в конце главы, либо появляются голыми числами там, где стояла ссылка. Для художественной литературы — неважно. Для научной монографии, где половина аргументации живёт в примечаниях, проверьте, куда они попали, прежде чем строить на этом что-то серьёзное.
- Изображения не становятся текстом. Обложка, диаграммы и карты — это файлы внутри архива, а не слова. OCR здесь нет, поэтому подписи на диаграмме не появятся. Если объяснение несёт иллюстрация, оригинал понадобится рядом.
- Уровни заголовков бывают непоследовательными. Одни издатели помечают каждую главу как
<h1>, другие используют<h1>для частей и<h2>для глав, а некоторые обходятся стилизованными тегами<p>вообще без настоящих заголовков. Последний случай редок, но именно он даёт плоскую на вид конвертацию из книги, в которой явно есть главы. - Буквицы и капительные начала. Глава, начинающаяся с большой декоративной «И», может всплыть отдельным символом на собственной строке. Косметика, легко заметить.
DRM останавливает всё намертво — прочтите до загрузки
Большинство EPUB, купленных в коммерческом магазине, несут защиту DRM. Файлы содержимого внутри контейнера
зашифрованы, а рядом с манифестом лежит encryption.xml, который это заявляет. Ни один
конвертер не сможет их прочитать, и этот — тоже. Загрузите защищённую DRM книгу — получите ошибку или
пустой результат, и причина в файле, а не в инструменте.
При этом EPUB без DRM повсюду. Project Gutenberg, Standard Ebooks, большинство технических издательств, университетские издательства, релизы под Creative Commons, всё, что вы сами экспортировали из писательского инструмента, и приличная доля независимых магазинов, из принципа продающих файлы без ограничений. Всё это конвертируется без возни.
По очевидному вопросу: конвертировать собственную книгу, чтобы её изучать, — обычное личное использование; переиздавать чужой текст под копирайтом — совсем другое дело. Вот и весь совет.
Целая книга не влезет — работайте по главам
Полноформатный роман — это где-то около 100 000 слов, а плотный нон-фикшен может быть вдвое больше. В пересчёте на токены это сильно за пределами того, что большинство моделей примет за раз, и даже модели с длинным контекстом становятся заметно расплывчатее по мере заполнения. Внимание размазывается. Детали в середине пропускаются.
Именно здесь Markdown отрабатывает своё преимущество перед плоским текстом. Поскольку заголовки глав выживают, файл можно чисто нарезать и работать по одной главе за раз:
- Пересказать каждую главу отдельно, затем подать пересказы обратно одним коротким документом и спросить о сквозной линии всей книги.
- Собрать учебный конспект по главам — ключевые утверждения, термины, вопросы — и сшить их в один справочник.
- Задавать точечные вопросы по одной главе, чтобы ответ модели строился на 6 000 слов, а не размывался по 150 000.
- Сначала превратить дерево заголовков в план. Это быстрый способ решить, какие три главы действительно важны для вашей задачи.
Полезный сигнал здесь — счётчик токенов под результатом. Он говорит вам до вставки, что перед вами: работа размером с главу или с целую книгу.
EPUB против PDF той же книги
Если у вас есть оба — берите EPUB. Всегда. Эти два формата решают противоположные задачи, и это видно по результату.
PDF — формат с фиксированной вёрсткой: глифы пришпилены к координатам на странице, которая никогда не меняет размер. Извлечение — это восстановление предложений по позициям, угадывание заголовков по размерам шрифта и попытки понять, надо ли переплетать две колонки. Колонтитулы и номера страниц падают посреди абзацев. PDF в Markdown со всем этим хорошо справляется, но это работа по реконструкции.
EPUB перевёрстывается на лету. Страниц нет — значит, нечего счищать из страничной обвязки и не нужно распутывать геометрию колонок. Структура заявлена, а не подразумевается. Единственное, что PDF держит лучше, — точная типографская вёрстка: сложные таблицы, врезки, расставленные ровно так, как надо, всё, где расположение на странице — часть смысла. Для прозы EPUB выигрывает с запасом.
Для чего это используют
- Изучение технической книги. Сконвертируйте книгу в духе O'Reilly, оставьте главу, которую прорабатываете, и соедините её со своим репозиторием GitHub в виде текста, чтобы ассистент видел теорию и ваш реальный код вместе.
- Личный справочник. Иерархия заголовков делает сконвертированные книги доступными для
поиска в Obsidian, вики или простой папке
.md-файлов — так, как библиотека в читалке не умеет. - Проработка списка литературы курса. Пересказы по главам и сгенерированные тренировочные вопросы, прослеживаемые до раздела, из которого они взяты.
- Работа с рукописью. Авторы и редакторы экспортируют EPUB из Scrivener или Vellum, конвертируют его и получают копию черновика, пригодную для diff и контроля версий.
Если вместо этого вам нужна вся книга одним непрерывным потоком прозы — для эмбеддингов, оценки читабельности или индексации целой полки за раз — EPUB в текст подходит лучше. Переключатель формата в верхней части страницы переводит между режимами и сохраняет уже выбранный файл, так что сравнение обоих выводов стоит один клик, а не вторую загрузку.
Часто задаваемые вопросы
Как конвертировать EPUB в Markdown?
Загрузите .epub выше — и книга вернётся в виде Markdown с сохранённой структурой заголовков, скачиваемая как .md. Бесплатно, до 50 МБ на файл, без регистрации. EPUB внутри — это XHTML, так что это конвертация с сохранением структуры, а не извлечение с потерями: этот формат конвертируется лучше почти любого другого здесь.
Почему EPUB так чисто конвертируется в Markdown?
Потому что исходник уже является семантической разметкой. EPUB — это архив XHTML-файлов, где заголовок главы действительно <h1>, а выделение действительно <em> — структура записана, а не подразумевается внешним видом. Отобразить это на Markdown — почти дословный перевод, поэтому заголовки, списки, цитаты и курсив выживают.
Становятся ли заголовки глав заголовками Markdown?
Да, на том уровне, который заявила книга, поэтому книга с частями и главами даёт вложенный план, а не плоский. Это делает вывод по-настоящему навигируемым — его можно сворачивать в редакторе, ссылаться на раздел или спрашивать модель о конкретной главе, и она найдёт нужное место.
Поддерживаются ли книги с DRM?
Нет. В зашифрованных файлах из Kindle или Apple Books нет читаемого содержимого, пока их не расшифрует владеющее ими приложение-читалка, поэтому конвертация не вернёт ничего. EPUB без DRM — Gutenberg, Standard Ebooks, большинство технических издательств, ваши собственные рукописи — работают без какой-либо специальной обработки.
Годится ли это для сборки RAG-корпуса из книг?
Из двух форматов это лучшая отправная точка. Структура заголовков даёт естественные границы чанков, так что резать можно по главам или разделам, а не по произвольному числу символов, обрывающему аргумент на середине. Если вашему чанкеру нужна голая проза, EPUB в текст обходится без синтаксиса.
Остальной инструментарий
EPUB — один из тринадцати форматов, которые здесь обрабатываются. File2Txt принимает любой из них через одну загрузку, если не хочется выбирать страницу. Для рукописей и отчётов есть Word в Markdown, для старых rich-text-документов — RTF в Markdown, а для сохранённых веб-страниц — HTML в Markdown. Полка книг, собранная в архив, проходит через ZIP в Markdown за один проход.
Работаете с кодом или живым вебом? Сконвертируйте проект GitLab или папку на своей машине, либо направьте Web2Txt на URL. Руководство по подготовке документов для LLM описывает общую картину всего этого.
Repo2Txt создаёт и поддерживает v12hero — независимый разработчик, который делает нативные и веб-приложения с приоритетом приватности.