Как говорится, если не можешь найти необходимую приблуду, возьми напильник, изоленту, молоток и выпили себе что хочешь. А в наш просвещенный век самосмывающихся втулок и дофига умных нейронок вообще как два бита об асфальт. Увидела я сколько придется править руками при конвертации следующей книги, спасаемой в рамках проекта «Спасение книг», так лень и победила трудолюбие. Поэтому написали мы значит с ИИшкой конвертер вордовских файлов в fb2-формат. Ну как написали, писал ChatGPT, а я капризничала составляла ТЗ и вносила правки. Долго-долго мы фиксили баги, а потом еще дошлифовывали некоторые фичи, и вот наконец я зарелизила супер-пупер-конвертер:
Скачать с Телеграм || Скачать с GitHub
Там в README.txt есть инструкция, но если, прочитав ее, вы ничего не поняли, то вот вам гайд:
0. Если третий питон не установлен, то установите, pip — тоже. Гугл в помощь.
1. Еще надо заинсталлить библиотеку lxml (если у вас ее нет): python -m pip install lxml
2. Вордовский файлик следует подготовить правильно: все главы и подглавы сделать соответствующими заголовками, а не просто жирным шрифтом. Сноски замутить квадратными скобками: «термин[12]» и в глоссарии тоже: «[12] Определение термина». Изображения должны быть в файле (если они есть), но не обложка.
3. Потом берете книгу, именуете ее book.docx и кладете в папку скрипта (KONVERT).
4. Обложку, нареченную cover.jpg, фигачите туда же.
5. В metadata.txt пишете метаданные: название книги, автор в формате «Имя Фамилия», жанр, язык, год издания, аннотация и т.д. Если в аннотации нужны абзацы то добавляете их специальным символом: || но в файлике сам текст аннотации должен быть написан в одну строку.
6. В эксплорер вбиваете cmd, энтер и в консоли запускаете скрипт: python main.py .
7. Если руки у вас не из муладхары, то в папке должен появиться файл book.fb2 Если не появился, то не пишите мне больше, клянусь святой жабой, медицина тут бессильна.
Скрипт переносит из DOCX в FB2 нормальное кликабельное оглавление со всеми главами и подглавами от «Заголовок 1» до «Заголовок 6», сноски с двусторонними ссылками, изображения, таблицы, форматирование текста жирным и курсивом, в том числе и в таблицах. Всё остальное — вряд ли, но код открытый, допиливайте если нужно. Тестировалось на E-book viewer (ПК) и ReadEra (Android). За корректное отображение в других читалках не ручаюсь, но они тоже не должны бы подкачать.
Как чудесно, что благодаря нейронкам, даже такое криворукое ламерятко как я может создать нечто полезное. Причем, потратив всего-то почти 5 часов своей бессмысленной жизни. Как думаете сколько времени бы забрало ручное написание данного кода у профессионального программиста?
Комментарии (19)

SpiderEkb
08.10.2026 07:40В OnlyOffice, насколько помню, в "Сохранить как..." можно выбрать формат fb2

tssrkt Автор
08.10.2026 07:40И там будут все сноски, гиперссылки, оглавление и таблицы?

SpiderEkb
08.10.2026 07:40Надо пробовать, я не пробовал. Просто видел что оно там есть.
Суть в том, что это не конвертер как таковой, а сохранение открытого документа в нужном формате. Надо пробовать, смотреть какие там ограничения (если есть).

vital822
08.10.2026 07:40Запускайте незнакомые скрипты у себя на компе, в них же не могли подложить ничего вредоносного /s. Даже если вы не программист и не можете в них разобраться. Вы же доверяете автору (который тоже не программист и навайбкодил там что-то).

Siemargl
08.10.2026 07:40В данном случае, 1100 строк простого кода можно проверить.
Но обычно да, опасно.

SpiderEkb
08.10.2026 07:40Чтобы проверить надо хорошо понимать что там написано. Т.е. неплохо знать язык на котором написано.

tssrkt Автор
08.10.2026 07:40Я создавала скрипт для себя и просто поделилась им. Но если вы не доверяете источнику тогда просто не пользуйтесь скриптом или попросите знакомого программиста проверить его. Там не так много кода. Также можно попросить ИИ сделать такую проверку.

SpiderEkb
08.10.2026 07:40У меня даже питона нет. И ставить кучу ненужного мне хлама чтобы запустить какой-то сомнительный скрипт - ну такое себе.
Когда я его в первый раз попросил написать что-то на языке, который я неплохо знаю, у меня волосы по всему организму дыбом встали когда увидел результат.
Сейчас уже есть немаленький SKILL.md в котором множество пунктов что можно, чего нельзя, что как делать. И то, приходится делать много итераций "опиши логику в документации", "сделай ревью кода, обрати внимание на то, это и вот это...", "исправь вот тут (и сохрани на будущее)..."
Тесты тоже надо самому придумывать, а не ему отдавать.
В общем, надо очень хорошо понимать что он делает. Иначе будет казаться что все хорошо. А это не так.

tssrkt Автор
08.10.2026 07:40Так если вам не нужен данный скрипт тогда почему бы просто не пройти мимо этой статьи?
Я когда-то кодила на Python (просто в качестве хобби) и на JavaScript (работала во фронтэнде), но сейчас для моих задач достаточно вайбкодинга.

SpiderEkb
08.10.2026 07:40Вы серьезно не видите разницы между тем, что делаете для себя и тем, что публикуете для всеобщего обозрения?
Я тоже делаю что-то для себя на Rust (который знаю куда хуже того, на чем пишу по работе). И тоже использую килокод. Но публиковать это никогда не буду. Потому что перед публикацией требуется очень объемное тестирование на множестве кейсов. А для себя - ну столкнусь с ошибкой, подправлю код и буду дальше пользоваться.

tssrkt Автор
08.10.2026 07:40Еще раз: не нравится, проходите мимо, в чем проблема? Меня несколько людей просили выложить этот скрипт пока я его создавала. Ну и код открытый, нашли баг - фиксите, не желаете - не пользуйтесь. Всех благ, на сим откланяюсь.

JuryPol
08.10.2026 07:40Как чудесно, что благодаря нейронкам, даже такое криворукое ламерятко как я может создать нечто полезное
Какой многообещающий тандем...
Alex-Freeman
Те ни один из 100500 уже имеющихся не справились с задачей? Использую calibre, никаких проблем не заметил.
tssrkt Автор
Я сама в шоке, тоже думала, что найду готовое решение, но не тут то было. А calibre мне не помог, несмотря на все танцы с бубном.
adeshere
Alex-Freeman: Те ни один из 100500 уже имеющихся не справились с задачей?
Ada King@tssrkt : Я сама в шоке, тоже думала, что найду готовое решение, но не тут то было (...)
Вы таки будете смеяться, но я уже много лет не могу найти нормально работающий
конвертор DOC‑формата (Word 2003) в DOCX (любой современный Word)
Документ вроде бы простой и оформлен по всем правилам: заголовки имеют стиль "заголовок" (вплоть до 4-го уровня), никаких формул и таблиц (и даже рисунков) нету, шрифтов всего пара штук... Но при любом способе пересохранения файла в docx в документе портятся все гиперссылки (а их там много).
Этим летом (в июне) пробовал выполнить этот трюк с помощью ChatGPT... гиперссылки из первой половины файла он спас. Но не более того. А разбить файл на две половины я не могу: там куча гиперссылок из любого места в любое. И все нужные.
Так вот и жду, пока LLM поумнеют и все-таки справятся... А пока что таскаю с собой старый-престарый Word, который корректно работает с DOC и позволяет мне этот файл редактировать (это HELP к регулярно модифицируемой программе, и его надо править чуть ли не раз в неделю).
Для справки: сам многострадальный файл лежит вот здесь: https://disk.yandex.ru/i/_YtGM0VQk2QvDA
А вот так он выглядит в скомпилированном виде:
https://disk.yandex.ru/d/eXXna4BHzyKuGA
P.S. Разные версии Word, сохранение в RTF и другие "очевидные" способы я тоже, разумеется, пробовал. В общем, буду благодарен за любые советы, которые помогут-таки справиться с этой задачей при моей жизни....
Siemargl
Когда то давно, лет этак 15 назад, еще в Компьютерре была статья про программу для конвертации в FB2, заодно и читалка.
Название уже не помню.
Интерфейс был кривенький, но генерация была на уровне. Ищите.