Как изменить название книги в формате fb2
Перейти к содержимому

Как изменить название книги в формате fb2

  • автор:

fb2HeadEditor

fb2HeadEditor — Программа для исправления заголовков документов в формате электронных книг FictionBook версии 2.1 (fb2).

Это программа для тех, кто собрав большую библиотеку из скачанных в сети книг, встал перед необходимостью привести весь массив книг к единому стандарту, например, для последующей работы с каталогизаторами.

Перебивать чаще всего приходится: название книги, имена авторов, жанр книги, ID и т. п. Иногда есть необходимость написать аннотацию. Бывает, нужно поменять кодировку документа или переименовать документ по определенным правилам, либо упаковать документ в zip-архив.

fb2HeadEditor — программа, которая существенно облегчает подобные задачи, позволяя исправить в полуавтоматическом режиме до сотни, а иногда и более файлов в час.

Основные характеристики:

  • Исправление значений полей, входящих в состав секций «title-info» и «document-info» (содержимое остальных секций остается неизменным);
  • Изменение кодировки файла (ANSI или Unicode);
  • Изменение имени файла по шаблону, на основе значений полей «book-title» и «author»;
  • Работа с файлами, упакованными в zip-архив;
  • Работа в ручном и пакетном режимах (последнее пока не для всех функций).

Лицензия : freeware
Версия : 1.1.0 b
OS : Win 2000 / XP / Vista / 7 / 8
Языки : Английский и Русский
Скачать : fb2HeadEditor.zip (600 Kb)
Автор : Копаница Аркадий

См. также:

Copyright © 2008-2012 Копаница Аркадий

Создание и редактирование книг fb2

Книги в формате fb2, ставшие такими популярными среди владельцев ПК и КПК, сегодня доступны для загрузки на многих онлайн-библиотеках.

Каждый пользователь сможет и самостоятельно создать такую книгу, благо инструментов для этого существует много. Одним из таких является Fiction Book Designer, позволяющий создавать книги fb2, редактировать текст и теги. Ниже опишем создание и редактирование книг на примере данной программы (некоторые моменты).

Первое, что необходимо знать при работе c форматом fb2 – это то, что он предназначен не для оформления электронного документа, а для его структурирования.

В созданной по умолчанию пустой книге fb2 будет всего 3 элемента: Annotation, history и body с title и одной section. Если же мы имеем свой текст, то загружаем его и начинаем форматирование. При подготовке книги лучше всего целые абзацы выделять двойным кликом, что позволит точно выделить текст и немного сэкономить время.

Все произведения начинаются с названия. Кликаем по строчке с названием (при этом оно выделится), вызываем контекстное меню и выбираем пункт book title. Так мы обозначим название книги fb2 в тегах, к тому же выделенный текст автоматически отформатируется, например, выделится другим цветом, поменяется шрифт и др.

Для того, чтобы увидеть все теги, нажимаем кнопку [FB2]. Сохраняем все изменения и после этого проверяем их в открывшемся окне make Fiction Book file. Так же вносим и другие важные части текста (названия глав, аннотация и др.)

После завершения редактирования и форматирования текста в программе Fiction Book Designer можно создать книгу в формате fb2. Для этого жмём [FB2] и в открывшемся окне жмем на [make book]. После этого готовая книга сохраниться в папке, где установлена сама программа.

  • Any2FB
  • Batch2fb
  • Book2Shelf
  • Doc2fb
  • ExportToFB21 для OpenOffice.org
  • FB2 perl tools
  • FB2 Библиотекарь
  • FBTools
  • Fiction Book Designer
  • FictionBook Writer
  • Htmldocs2fb2

Полигон призраков

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Место для бесед на свободные темы.

SuperMax Advanced Member Сообщения: 1651 Зарегистрирован: 27.08.2012,11:38 Откуда: Красноярск Контактная информация:

Конкурсы
Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение SuperMax » 23.03.2022,11:13

Скачал тут торрент флибусты — там ~950гиг и большая часть файлов имеет имена вида
9373.fb2
40437.fb2
70397.fb2
73901.fb2
73915.fb2
73916.fb2
75318.fb2
77752.fb2

так как я хочу положить это в свой архив — https://mirrors.pdp-11.ru/_books/ (там уже больше 4ТБ)
нужны нормальные имена файлов — те автор + название книги на русском

соответственно вопрос — как это сделать автоматически ? кто поможет ?

SuperMax

Arseny Advanced Member Сообщения: 2138 Зарегистрирован: 13.10.2005,21:45 Откуда: Bryansk, Russia Контактная информация:

Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение Arseny » 23.03.2022,11:33

SuperMax писал(а): ↑ 23.03.2022,11:13 как это сделать автоматически ?
Так FB2 — это же HTML внутри. Простейший парсер-переименовалка.

Arseny

SuperMax Advanced Member Сообщения: 1651 Зарегистрирован: 27.08.2012,11:38 Откуда: Красноярск Контактная информация:

Конкурсы
Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение SuperMax » 23.03.2022,11:48

Arseny писал(а): ↑ 23.03.2022,11:33
SuperMax писал(а): ↑ 23.03.2022,11:13 как это сделать автоматически ?
Так FB2 — это же HTML внутри. Простейший парсер-переименовалка.

те парсить каждый FB2 ? есть возможность написать ? (желательно под линукс но можно и под винду)
я просто представлял, что есть более прямой путь в виде какой-то базы из которой можно выгрузить запросом CMDшник который переименует файлы

SuperMax

hardware10 Advanced Member Сообщения: 11500 Зарегистрирован: 21.05.2007,00:13 Откуда: Moscow

Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

SuperMax писал(а): ↑ 23.03.2022,11:13 нужны нормальные имена файлов — те автор + название книги на русском

А зачем? В торренте в комплекте оболочка, которая нормально с этими индексами работает.
Все, понял зачем. По ссылке сразу не перешел.

hardware10

Arseny Advanced Member Сообщения: 2138 Зарегистрирован: 13.10.2005,21:45 Откуда: Bryansk, Russia Контактная информация:

Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение Arseny » 23.03.2022,12:04

SuperMax писал(а): ↑ 23.03.2022,11:48 те парсить каждый FB2 ?
Это — самый точный вариант. Если в книге прописано название — то оно точно правильное.
SuperMax писал(а): ↑ 23.03.2022,11:48 есть возможность написать ?
Увы — нет. Сто лет ничего не писал 🙁

SuperMax писал(а): ↑ 23.03.2022,11:48 я просто представлял, что есть более прямой путь в виде какой-то базы из которой можно выгрузить запросом CMDшник который переименует файлы

Про такое, увы, не в курсе. Может оно и есть.

Arseny

pahan Advanced Member Сообщения: 4490 Зарегистрирован: 13.03.2015,14:23 Откуда: Химки, М.О.

Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение pahan » 23.03.2022,12:57

Так FB2 — это же HTML внутри

XML. Зачем все парсить?
Посмотреть точные названия соответствующих тэгов, вынуть текст между ними в переменные, переименовать файл из этих переменных.
В принципе, по такой схеме накидать на питоне/чем угодно, что умеет в регулярные выражения. Да хоть head | sed | egrep | mv

pahan

hcn Advanced Member Сообщения: 490 Зарегистрирован: 09.12.2019,01:34 Откуда: Cанкт-Петербург

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение hcn » 23.03.2022,13:14

Там кодировки разные, без настоящего парсера xml не очень. На шелле можно примерно так:
% for f in *fb2 ; do xmllint —format —encode utf8 $f | awk -v orig=$f -F ‘[<>]’ ‘/first-name/ /last-name/ /book-title/ ‘ ; done | xargs -0 -n2 echo mv -n
Если результат нравится, echo убираем.

AksTis Advanced Member Сообщения: 373 Зарегистрирован: 15.03.2017,12:14 Откуда: ru Контактная информация:

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение AksTis » 23.03.2022,16:47

SuperMax писал(а): ↑ 23.03.2022,11:13 9373.fb2
40437.fb2
70397.fb2

Подозреваю 40437.fb2 это «О’Санчес Я люблю время», а 70397.fb2 это «Льюис Клайв Стейплз За пределы безмолвной планеты». Верно?
Там же на флибусте, рядом с кнопкой «Скачать библиотеку», есть кнопка «Скачать каталог». Там в архиве текстовый файл на 78 мегабайт. В файле список всех книг в виде фамилия;имя;отчество;название_книги;издательство;язык;год;что-то_ещё;нужные_циферки.
Пропарсить текстовую строку поделённую знаком «;», это на том же php делается за 5 секунд с помощью explode(). Дальше всё это загоняется в базу, и уже из неё соответствующие имя/фамилия/название подставляются на сайте в линк для каждого fb2 файла.
И не придётся ничего переименовывать.
Да и обновлять потом всё это дело проще будет.

Ps: 9373.fb2 это Планета обезьян. Книга 9373 заменена на исправленную 607092. А 9373 можно удалить.
Pps: Сам архив флибусты я не скачивал. Но не удивлюсь если там в комплекте уже есть аналогичный файлик со списком всех книг.

А бабушка E G A сошла с ума .

AksTis

pahan Advanced Member Сообщения: 4490 Зарегистрирован: 13.03.2015,14:23 Откуда: Химки, М.О.

Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение pahan » 23.03.2022,17:44

Пропарсить текстовую строку поделённую знаком «;», это на том же php делается за 5 секунд с помощью explode

И это абсолютно лишний шаг, поскольку импорт csv-файла абсолютно стандартный функционал в СУБД, она сама всё пропарсит.

pahan

AksTis Advanced Member Сообщения: 373 Зарегистрирован: 15.03.2017,12:14 Откуда: ru Контактная информация:

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение AksTis » 23.03.2022,18:47

pahan писал(а): ↑ 23.03.2022,17:44 импорт csv-файла

Там не csv. Там значения разделены не запятыми, а точкой с запятой. База такое сможет скушать? Ну тогда ещё проще.
В любом случае, с этим файлом каталога отпадает необходимость в парсинге всех сотен тысяч файлов fb2.

А бабушка E G A сошла с ума .

AksTis

SuperMax Advanced Member Сообщения: 1651 Зарегистрирован: 27.08.2012,11:38 Откуда: Красноярск Контактная информация:

Конкурсы
Вклад в сообщество

Флибуста — как переименовать файлы из номеров в нормальные имена ?

Сообщение SuperMax » 23.03.2022,19:01

поясню, вся идея именно переименовать в удобоваримые имена
и на то есть 2 причины
1. людям которые скачивают файлы удобно иметь правильное имя того что они скачивают а не цифровое имя
(делать подстановку имени при скачивании через базу не хочу, это дополнительная нагрузка ибо канал грузят до 60МБ/c)
2. система индексации ориентирована именно на имена директорий и файлов

да, я допускаю дополнительное сканирование с целью улучшить качество поиска, но основное сканирование должно быть именно на уровне директорий и имен файлов

было бы много свободного времени, написал бы, но времени лишнего совсем нет. соответственно и спрашиваю про готовое решение.

Как переименовать файл fb2 ?

Я имею ввиду конечно не переименование самого файла, а то что у меня на электронной читалке отображается-название книги и имя автора.

Лучший ответ
Программа Booki
profismart. org/ web/ f-155038. php
(убрать пробелы)
Остальные ответы
Да любым текстовым редактором. fb2 — это xml

Это банальный xml. Откройте каким-нибудь текстовым редактором, тем же notepad++ и поправьте нужные поля.

Чувачек, вопрос вообще не корректен. у тебя читалка хотя бы обычные ТХТ берет? в кодировке ANSI или юникод.. . берешь копируешь с ворда весь текст книги, заливаешь в тхт. . его в телефон и ОЛЯ-ЛЯ)
некоторые читалки на телефоне требуют свой формат

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *