IE2017

FB2Reader

Обработки - Универсальные обработки

На сегодня самый распространённый формат книг в электронном виде - FB2. Поскольку я сам очень люблю почитать, то сделал эту обработочку, дабы читать "без отрыва от производства" :)
Исходный код обработки открыт.

Обработка открывается в любой базе 1С. Интерфейс очень простой.  Открываем обработку и выбираем книгу. Читаем.

Обновлено. В версию 1.2 внесены следующие изменения:

1. Добавлено чтение из zip архива. Т.е. в выборе книги можно теперь выбрать файл вида *fb2.zip. Условие - в архиве должен быть только 1 файл! Обработку нескольких может добавлю позже.

2. Добавлена пользовательская настройка стилей. Т.е. теперь пользователь может сам установить цвета, шрифты, расположение и т.д. Если ничего не заполнять, то используются настройки по умолчанию.

3. И еще кое-что по мелочи :)))

Спасибо artbear за идеи :)

Обновлено. В версию 1.1 внесены следующие изменения:

1. Переработан код обработки для лучшего восприятия :)

2. При обработке сносок ошибку не выдает. Но выводит их без форматирования.

3. Автоопределение кодировки файла.

4. Добавлена обработка курсивов (правда не везде красиво).

5. Заголовки выводит по центру.

Ну и что-то еще по мелочи :)

По прежнему в планах:

Навигация по книге (переход по заголовкам, переход по процентам).

Дообработка различных тэгов.

Улучшение отображения.

18.06.09

Обработка переведена в доступ для "всех", так как не является необходимой для ведения какого-либо учёта.

20.07.09

Возвращено в доступ "Только для зарегистрированных". Читаем комментарий.

Скачать файлы

Наименование Файл Версия Размер
FB2Reader.epf версия 1.2
.1235142788 15,84Kb
17.08.10
207
.1235142788 15,84Kb 207 Скачать
FB2Reader.epf версия 1.1
.1234968338 13,22Kb
17.08.10
93
.1234968338 13,22Kb 93 Скачать

См. также

Комментарии
1. Алексей Мутовкин (mrWatson) 303 17.02.09 14:01 Сейчас в теме
Интерсно как это можно читать без отрыва от производства? Наврено точнее сказать "почитать незаметно для производства и окружающих", можно ли раскрасить в стиле синтаксиса модуля 1С? ;)
2. Сергей Кучеров (СергейКа) 610 17.02.09 14:04 Сейчас в теме
1. Ну и это тоже :)
2. Можно, но планирую что бы пользователь сам раскраску ставил. После сдачи отчётностей возьмусь, если интерес к разработке будет.
3. Андрей Скляров (coder1cv8) 3301 17.02.09 14:11 Сейчас в теме
4. Валерий Агеев (awa) 2398 17.02.09 14:16 Сейчас в теме
Проблемы с кодировкой. Файлы в кодировке utf-8 отображает кракозябрами.
5. Артур Аюханов (artbear) 877 17.02.09 14:18 Сейчас в теме
6. Сергей Кучеров (СергейКа) 610 17.02.09 14:22 Сейчас в теме
3) Честно говоря самому не очень нравится из-за невозможности перехода на последнюю прочитанную строку и отсутствия навигации. Но это сделаю в следующей версии на основе html поля а не табличного документа.
4) Не знаю, кодировку я вообще не трогал. Всё как в системе. Из полутора сотен опробованных книг проблем не было.
3,4) спасибо за оценку :)
7. Сергей Кучеров (СергейКа) 610 17.02.09 14:28 Сейчас в теме
8. Валерий Агеев (awa) 2398 17.02.09 14:49 Сейчас в теме
(6) Например, http://lib.rus.ec/b/79791/download, и таких на либрусеке много!
9. Валерий Агеев (awa) 2398 17.02.09 14:50 Сейчас в теме
+(8) Запятая в ссылку не входит!
10. Сергей Кучеров (СергейКа) 610 17.02.09 16:01 Сейчас в теме
9) Обновил обработку. Теперь воспринимает utf-8.
Действительно странно, что у меня таких файлов не было, хотя с либрусека скачано немало...
11. Валерий Агеев (awa) 2398 17.02.09 17:38 Сейчас в теме
10) Да, теперь читает! Но как показала практика, кодировка utf-8 может быть указана в файле и как "UTF-8", и как "utf-8" (http://lib.rus.ec/b/123931)...
Если ты собираешься развивать читалку, то я бы посоветовал одним из первых пунктов реализовать сноски (тэг <a> с типом note) не как переход, а как отображение сносок внизу страницы. Очень повышает комфортность чтения!
СергейКа; artbear; +2 Ответить
12. Сергей Троицкий (tsd) 147 18.02.09 08:25 Сейчас в теме
ага, вот тут все и отметятся, кто вместо того чтобы работать, на работе книжки читает :)
13. Alexey (el_bucho) 5 18.02.09 09:06 Сейчас в теме
14. mt171 (mt171) 18.02.09 09:41 Сейчас в теме
Странно, но у меня почему-то при открытии файла 139101.fb2 (книга отсюда http://lib.rus.ec/b/139101/download ) выдаёт ошибку "C:\Documents and Settings\...\Local Settings\Temp\FB\139101\n_1". В электронной книге этот файл открывается без проблем.
15. Bkmz Яковенко (Bkmz) 18.02.09 10:32 Сейчас в теме
Автор з дуба рухнул. Сейчас самый распространённый формат djvu. А fb2 туфта редкая.
16. Сергей Кучеров (СергейКа) 610 18.02.09 10:32 Сейчас в теме
17. Сергей Кучеров (СергейКа) 610 18.02.09 10:34 Сейчас в теме
(15) Вы не правы. Для художественных книг именно FB2. djvu больше для различных руководств и периодических журналов.
18. Bkmz Яковенко (Bkmz) 18.02.09 10:35 Сейчас в теме
Вычитку книг кто делает? Счас дай бог чтобы человек книгу засканил не то что распознал и вычитал. djvu делает черно-белый снимок с со страницы (даже рыжей, старой с масляными пятнами) и при этом размер в 600 стр нерапознанного картиночного текста можно вместить в 6 Мб или меньше.
19. Сергей Кучеров (СергейКа) 610 18.02.09 10:46 Сейчас в теме
(18) Во-во. Если человек нормально к свое работе отностися, то скан вычитывается и конвертится в fb. Большая чать художественной лит-ры именно в этом формате благодаря удобству настроек чтения и навигации. На объем сейчас мало внимания обращают, с нынешними-то техническими возможностями :)
20. mt171 (mt171) 18.02.09 12:39 Сейчас в теме
(16) "C:\Documents and Settings\user\Local Settings\Temp\FB\139101\n_1", файл из http://lib.rus.ec/b/79791/download открылся нормально
21. Валерий Агеев (awa) 2398 18.02.09 14:36 Сейчас в теме
(14) В этой книге FB2Reader как раз и спотыкается на сносках. Конструкцию [1] он ошибочно пытается обработать как картинку.
На самом деле реализовать нормальную читалку для формата fb2 не простая задача. А если еще учесть все возможных косяки, встречающихся в реальных файлах...
22. Василий Демидов (Душелов) 3807 18.02.09 14:42 Сейчас в теме
Советую почитать автору: http://reeed.ru/info_fb2.php
СергейКа; +1 Ответить
23. Сергей Кучеров (СергейКа) 610 18.02.09 14:53 Сейчас в теме
21) Да кто ж спорит. Первая версия писалась в течении 3-х дней вместе с работой, как получалось время выкроить. Причём большая часть времени потратилась на то что еще не получилось в ней реализовать. Всё это еще в процессе.
22) Спасибо. Брал инфу в основном отсюда http://www.gribuser.ru/xml/fictionbook/ и отсюда http://alexstmp.vsi.ru/index.php .
24. Сергей Кучеров (СергейКа) 610 18.02.09 17:54 Сейчас в теме
Замечания и предложения принимаю, но далеко не всё можно реализовать сразу.
25. ad bo (adakabo) 62 19.02.09 09:14 Сейчас в теме
а вот эта Функция ПреобразоватьВДеревоXML(СтрокаXML) Экспорт уже объявлена в общем модуле =) впрочем можно закомментировать или переименовать вызов и функцию в локПреобразоватьВДеревоXML
26. Артур Аюханов (artbear) 877 19.02.09 10:17 Сейчас в теме
Полезно было бы добавить добавить фичу авточтения из zip-файла.
На том же Либрусеке все fb2-файлы лежат в зип-архивах.
У меня на коммуникаторе ХаалиРидер читает зипы, здесь было бы также удобно.

ЗЫ или это уже есть ? :)
Последнюю версию пока не изучал.
27. Сергей Кучеров (СергейКа) 610 19.02.09 11:32 Сейчас в теме
25) Наверное в ЗУП открывал? :)
26) Нету. В принципе не очень проблемно сделать.
28. Сергей Кучеров (СергейКа) 610 19.02.09 11:35 Сейчас в теме
25) Обновил не меняя версию.
29. Артур Аюханов (artbear) 877 19.02.09 15:19 Сейчас в теме
Расположение текста по умолчанию лучше делать по ширине, чуть лучше смотрится :)
30. Артур Аюханов (artbear) 877 19.02.09 15:25 Сейчас в теме
И Отступ для начала абзаца было бы удобно добавить!

ОбластьТекста.ТекущаяОбласть.Текст = " "+ ТекстВывода; // это Таб
ОбластьТекста.ТекущаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.ПоШирине;
31. Артур Аюханов (artbear) 877 19.02.09 15:29 Сейчас в теме
1. И еще небольшой разделитель между абзацами вставить для полноты картины :)
2. Последний открытый файл хорошо бы запоминать и открывать его при открытии обработки.
СергейКа; +1 Ответить
32. Сергей Кучеров (СергейКа) 610 20.02.09 18:23 Сейчас в теме
Обновил версию. Пока реализованы не все пожелания, но это в процессе :)
33. Алексей (ash2015) 30 21.02.09 12:14 Сейчас в теме
34. Сергей Кучеров (СергейКа) 610 24.02.09 10:42 Сейчас в теме
Судя по всему версия получилась достаточно читабельна и интерес уже к обновлениям упал :).
В планаш остаются только "фишки" и "фичи", а это не так критично...
35. Валерий Агеев (awa) 2398 24.02.09 17:09 Сейчас в теме
Небольшая ошибка - в тегах <p> могут быть атрибуты, которые не надо отображать при выводе текста книги. Пример - http://lib.rus.ec/b/93867/download . И еще пожелание - при смене настроек шрифтов хотелось бы применять эти изменения к текущей открытой книге, а то новые настройки действуют только при открытии книги.
36. Сергей Кучеров (СергейКа) 610 24.02.09 17:29 Сейчас в теме
(35) Имеется ввиду текст типа AutBody ? Ок.
Второе пожелание тоже принято.
Вопрос: Как можно отследить движение полосы прокрутки поля текстового документа? Если кто знает, плиз ... :)
37. Sasha_H (logarifm) 25.02.09 17:38 Сейчас в теме
Было бы класно если бы она еще умела в интернет-ресурсах шастать и скачивать вот это другое дело, а то нужно скачать, потом обработке сказать где же файл лежит и потом уж читать....

Или она умеет качать с интернета?

Просто в описании обработки я такого не встретил, а скачивтаь и проверять неохота.
38. Сергей Кучеров (СергейКа) 610 26.02.09 04:38 Сейчас в теме
(37)Нет. Данная обработка не умеет этого делать :)
Да и не вижу необходимости, если честно, вставлять данный функционал в обработку. Это будет в конфигурации.
39. Сергей Кучеров (СергейКа) 610 20.07.09 06:13 Сейчас в теме
Эксперимент с доступом "Для всех" признан неудачным. За всё время нахождения в данном доступе скачивания каждый день и никто даже не прокомментировал. Перевел в рекомендуемый.
40. Александр Зайцев (AlecoZAV) 11 23.09.11 14:39 Сейчас в теме
В принципе идея неплохая, но доработки требует, что то подобное пишу для своей конфы Дом Библиотека, на УФ, там будет постраничное разбиение, гораздо удобнее читать и запоминать позицию просто
41. Сергей Кучеров (СергейКа) 610 23.09.11 15:47 Сейчас в теме
(40) Давно забил за нехваткой времени.
Начинал разработку чтения на совсем другом принципе, но осталось на этапе исходников.
Была идея создания конфигурации библиотеки, но опять же не дошли руки.
42. Александр Зайцев (AlecoZAV) 11 24.09.11 09:00 Сейчас в теме
(41) а с другими форматами не работал?
43. Сергей Кучеров (СергейКа) 610 24.09.11 09:49 Сейчас в теме
(43) Работал.
fb3, html, doc, odt, pdf, txt. С этими всеми достаточно легко.
Была идея работы с chm и hlp - но это закрытые достаточно форматы, сложнее чем с pdf. Не срослось.
44. Равиль Бикбаев (BRT) 28 07.12.12 10:20 Сейчас в теме
1. При наличии 2-х и более бинарных тегов в книге выходит ошибка.
Предлагаю обнулить имя записи в файл:
ИмяФайлаКартинки = "";

{ВнешняяОбработка.FB2.МодульОбъекта(287)}: Ошибка при вызове конструктора (Картинка)
ЗначениеЗаписи = Новый Картинка(ЗначениеЗаписи);
по причине:
Файл не обнаружен 'C:\temp\FB\3_Бенедиктов К. - Война в зазеркалье\i_001.jpg'
СергейКа; +1 Ответить 1
45. Сергей Кучеров (СергейКа) 610 08.12.12 09:50 Сейчас в теме
(44) BRT, спасибо, я в курсе. Данная обработка пока не дорабатывается.
Оставьте свое сообщение