gifts2017

Чтение файлов в форматах fb2,epub, pdf, txt. Обработка парсит текст используя механизм регулярных выражений.

Опубликовал Евгений (Ekovichev) в раздел Обработки - Универсальные обработки

Обработка для чтения файлов в форматах fb2,epub, pdf, txt. (с поддержкой картинок для fb2 и epub).

Файлы с расширением fb2 и epub парсятся с использованием регулярных выражений.Для формата fb2 и epub поддерживается ночной режим и установка размера шрифта, также поддерживается отображение картинок.
Чтение формата pdf взято из публикации: http://infostart.ru/public/138484/, своего ничего я тут не дописывал, просто встроил механизм в читалку(ссылка на публикацию в коде есть).
 

16.10.13 В версии 1.1 Добавил поддержку формата epub.

23.10.13 Добавил обработку на управляемых формах.

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

Наименование Файл Версия Размер
Читалка на УФ 28
.epf 457,08Kb
23.10.13
28
.epf 1.0 457,08Kb Скачать
Читалка 1.0 9
.epf 445,56Kb
16.10.13
9
.epf 1.0 445,56Kb Скачать
Читалка 1.1 26
.epf 446,46Kb
16.10.13
26
.epf 1.1 446,46Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Франко Деллиани (Franco) 15.10.13 08:51
...Для формата fb2 поддерживается ночной режим
А что это?
2. Андрей Макаров (XOCTEP) 15.10.13 09:59
(1) Это черный фон и белый текст, а обычный режим наоборот
3. Борис Скворцов (gaglo) 16.10.13 10:41
А зачем "fb2 парсятся с использованием регулярных выражений", а не используется какая-либо из техник чтения XML?
4. Евгений (Ekovichev) 16.10.13 11:31
Ради скорости. Перебирать все узлы xml для нахождения определённых конструкций(например вшитых картинок) дольше, чем используя рег. выражения. Чтение xml используется только для определения кодировки текста в fb2.
5. Дмитрий Кишкин (DmitryKishkin) 17.10.13 11:22
Нормальненько так работает...
6. Аскольд Спиридонов (Severus) 17.10.13 14:30
Автору за реализацию идеи, однозначно плюс!)
Надеюсь на дальнейшее развитие идеи и добавление механизмов разбиения книги на страницы, реализацию закладок, прогресс бара, изменения/добавления шрифтов, смена яркости фона(или самого фона) :)
7. Евгений (Ekovichev) 17.10.13 14:39
Да я увидел обработку для чтения pdf файлов и решил развить идею, ради интереса сделал.Если будет свободное время все добавлю:)
8. Геннадий Пиганов (Totoro) 21.10.13 00:09
Норм. Работает шустро.
1. При выборе файла добавить еще один общий фильтр для всех форматов книг (все равно потом расширение анализируешь).
2. Для формата fb2 лучше сделать не структуру жанров, а соответствие и в случае, если жанр в соответствии не найден, то возвращать как есть (чтобы по ошибке не выпадала в случае самопридуманных жанров).
9. Alever (Alever) 21.10.13 07:37
Неплохо было бы добавить сюда варианты конвертации. Со многих форматов в fb2 - то есть можно было бы использовать обработку не только в качестве читалки, но и в качестве конвертера для дальнейшего сохранения файлов. Плюс я думаю неплохой идей для разработчика может послужить написание этой обработки для тонкого клиента? Ну и расширения форматов =) А так вообще классно.
10. Евгений (Ekovichev) 21.10.13 07:45
На выходных займусь, сделаю на УФ, добавлю разбиение по страницам, закладки и список ранее открытых книг. Исправлю замечания и ускорю чтение, насчет конвертера подумаю:)
11. Макс Зеленский (mzelensky) 23.10.13 09:10
Хорошая обрабтка. Правда я ее немного не по назначению юзаю. Но нравится :)
Автору +
12. Евгений (Ekovichev) 23.10.13 09:14
(11) mzelensky, По какому, если не секрет?)
13. Владимир Кузнецов (mr.Kot) 23.10.13 09:52
Разработка интересная, слабо представляю ситуации, когда данные форматы реально нужно открывать через предприятие, но тем не менее - плюс!
14. Евгений (Ekovichev) 23.10.13 09:58
(13) mr.Kot, я часто подрубаюсь к пользователям, они читают, вместо того, чтобы работать. Можно читать непосредственно в рабочей программе :) Это просто развлечение, конечно практического применения мало.
15. Борис Скворцов (gaglo) 23.10.13 10:49
(4) Так в читалке применяется самый общий механизм регулярных выражений на текстовую строку?
Я потому интересуюсь, что для "перебирать все узлы xml для нахождения определённых конструкций" вроде бы специально придуман XPath-механизм; а еще, чтоб отобразить FB2, да и EPUB, все равно надо весь файл считать. Откуда ж скорость берется?
16. Евгений (Ekovichev) 23.10.13 11:58
(15) gaglo, Да верно, применяется механизм регулярных выражений. Так совпало, что я как раз погрузился в пучину RegExp:) и решил применить их на практике. Регулярные выражения при работе со строкой являются очень шустрыми, правда в них черт ногу сломит. А вот применять DOM объекты для того, чтобы распарсить fb2 и epub я не стал, изначально подумал, что слишком много DOM жрет ресурсов. Читалка на управляемых формах находится на модерации, если будет время я попробую сделать еще версию и распарсить через xPath.
17. DAnry (DAnry) 23.10.13 13:49
Превращаем 1С в супер-пупер развлекательный медиацентр. Мне кажется это уже черезчур...
18. Евгений (Ekovichev) 23.10.13 13:53
(17) DAnry, Дело не в развлечениях. Мне надо было разобраться с регулярками. Для того, чтобы совместить полезное с приятным, написал эту штуку. Может кто-то парсит HTML, тому обработка может помочь и т.д.
19. Макас (makas) 23.10.13 14:12
Какая полезная вещица, возьму в свою копилочку идей!
20. Макс Зеленский (mzelensky) 25.10.13 08:02
(12) Ekovichev, Внешние документы парсю :)
21. Павел Колмаков (Stim213) 28.10.13 12:30
Хорошая идея. Только добавьте еще "мод" для тех, кто не хочет палиться - чтобы любой заглянувший в монитор программиста был уверен, что он занят чем-то в 1С, а не читает книгу)
22. Ольга Пушкова (POLGA) 19.02.14 15:41
Однако на управляемых формах при чтении .fb2 выдает ошибку (при отсутствии в структуре жанра russian_contemporary), пришлось заменить сточку :
Возврат ?(СтруктураЖанр.Свойство(Жанр), СтруктураЖанр[Жанр], Жанр); - так ошибку не выдает.
.epub - один не прочла (возможно что-то с файлом - выдала пусто без сообщений),в другом - не показывает картинки.
.pdf один прочитала на втором вылетела из 1С совсем.
Возможно все-таки есть ограничения...