Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

Вопрос про картинки
На страницу Пред.  1, 2, 3  След.
 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> FB - разработка и программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Пн Фев 19, 2007 1:58    Заголовок сообщения: Ответить с цитатой

Я по DOM тоже бегал с помощью рекурсии, получается тоже быстро. Там алгоритм простой, встречаешь элемент пошел вглубь и так несколько раз пока до текста без элементов не добрался, а в памяти тем временем строишь образ текста с отображением всех элементов. Вот, к сожалению, кусок программы сейчас не могу найти.
Я это к тому, что как-то мы копаемся каждый сам по себе, а задачи решаются общие и, главное, достаточно специфичные, судя по литературе, не очень распространенные, вот и хочется выяснить, кто как решает, где какие грабли, чтобы по одиночке велосипеды не изобретать. Для этого и форум завел. Я не профи, я любитель. Мне интересно возиться на стыке XML и программы. Вот сейчас заболел, не работаю, использую это время для изучения C#, хочу на нем с xml повозиться через .NET.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Пн Фев 19, 2007 9:19    Заголовок сообщения: Ответить с цитатой

Не, несогласная я.
Перемешивать текст и картинки - неправильно. Вручную править будет неудобно, как выше сказали, а этим тоже жертвовать не хотелось бы.

Читалке ведь по сути нужно не это, ей нужен быстрый доступ к основным структурным элементам - description, body и binary.
Так это гораздо логичнее сделать не так - оформить файл fb3 в виде архива zip с фиксированной структурой, например так:
Код:

\description.xml
\body\main.xml
\body\notes.xml
\binary\coverpage.png
\binary\image1.jpg
\binary\image2.jpg

Тогда любой элемент будет доступен за фиксированное небольшое время через индекс архива. И не нужно всегда парсить весь файл.

Собственно сейчас так оформлять модно, аналогичную структуру имеют файлы опенофиса и m$ворд2007

Бонусы:
- пароль на архив ставить можно для платных документов
- ассоциировать .fb3 с читалкой можно (.fb2.zip в винде нельзя)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


babaev
Новенький участник форума

Новенький участник форума

Зарегистрирован: 31.01.2007
Сообщения: 71
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Фев 19, 2007 10:42    Заголовок сообщения: Ответить с цитатой

Mike Sinkovsky
Это на будущее. Согласный я. Так - можно. Про бонусы - отдельный разговор, но в принципе - очень интересный вариант.

Admin
"По дом с помощью рекурсии" - это я и называл обходом в глубину. Стандартный алгоритм. Он быстрый. Просто на него памяти нужно немного + symbol.getNext() всё-таки быстрее. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Пн Фев 19, 2007 10:47    Заголовок сообщения: Ответить с цитатой

Admin писал(а):
Глазками тоже приходится работать с документом, особенно при поиске ошибок, а тут бинарники по документу раскиданы?
+1
Не нужны нам бинарники в режиме сорцов - как тогда редактировать-то? Жутко ж неудобно будет.
babaev писал(а):
Книга редактируется один раз. А читается - тысячи.
Не всегда один - есть еще правки после вычитки. Некоторые книги правятся по плдюжины раз разными людьми. И каждый должен легко видеть структуру документа.
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


babaev
Новенький участник форума

Новенький участник форума

Зарегистрирован: 31.01.2007
Сообщения: 71
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Фев 19, 2007 11:05    Заголовок сообщения: Ответить с цитатой

Marina_Ch
Эх вы, редакторы Sad Мы, читатели, с вами категорически не согласные.

Вопрос удобного представления внутри редактора - это проблема программы-редактора.

А вопрос нормальной работы на мобиле - это вопрос в том числе формата. Вы думаете, почему fb2 на мобилах-то нет? Потому что действительно, чтобы его туды засунуть, нужно через голову прыгнуть. Хочется? Да, хочется. А делать для этого почему-то ничего не хочется.

Наоборот должно быть. Редактировать, возможно, сложнее (программу можно заставить что угодно отобразить. Будут бинари внутри, можно будет их коллапсить, будет отлично). Зато читать нужно максимально просто.

Но это уже флейм пошел. Не хотим картинки пихать - не нужно Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора


Marina_Ch
Постоянный участник форума

Постоянный участник форума

Зарегистрирован: 14.04.2006
Сообщения: 779
Откуда: Москва

СообщениеДобавлено: Пн Фев 19, 2007 11:56    Заголовок сообщения: Ответить с цитатой

babaev писал(а):
Не хотим картинки пихать - не нужно

Не хотим!
_________________
REB 1100, REB 1200, SE P910i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Пн Фев 19, 2007 12:09    Заголовок сообщения: Ответить с цитатой

babaev писал(а):
Потому что действительно, чтобы его туды засунуть, нужно через голову прыгнуть.

Ой да ладно... Всего-то нужно при открытии файл пробежать один раз и запомнить те самые смещения байтовые. Пропарсить 400k даже на самом захудалом железе можно вообще без проблем, я, честно говоря, описываемых трудностей в упор не вижу. Тем более что для работы ссылок файл так и так парсить придется.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Пн Фев 19, 2007 12:12    Заголовок сообщения: Ответить с цитатой

Mike Sinkovsky писал(а):
Так это гораздо логичнее сделать не так - оформить файл fb3 в виде архива zip с фиксированной структурой, например так:
Код:

\description.xml
\body\main.xml
\body\notes.xml
\binary\coverpage.png
\binary\image1.jpg
\binary\image2.jpg

Тогда любой элемент будет доступен за фиксированное небольшое время через индекс архива. И не нужно всегда парсить весь файл.

Угу. Я тоже с этим согласен. Особенно после того, как посмотрел формат docx. И именно упакованный с расширением fb3. Как-то давно обсуждалось что-то подобное, но тогда было опасение потерять часть файла. Но docx не теряет, потому что никогда на диске во время работы не распаковывается, работа идет только в памяти. Слово за автором формата.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Пн Фев 19, 2007 13:42    Заголовок сообщения: Ответить с цитатой

В первую очередь это убъет обратную совместимость. Насмерть. О таком стоит подумать очень крепко. В остальном идея имеет право на существование.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Пн Фев 19, 2007 13:54    Заголовок сообщения: Ответить с цитатой

GribUser писал(а):
В первую очередь это убъет обратную совместимость. Насмерть.

Это чем это? Не вижу вроде проблем конвертировать ни туда, ни обратно...

Код:

description <-> \description.xml
body[1] <-> \body\main.xml
body[@name="notes"] <-> \body\notes.xml
body[*] <-> \body\body*.xml
binary[@id="*.*"] <-> \binary\*.*
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


babaev
Новенький участник форума

Новенький участник форума

Зарегистрирован: 31.01.2007
Сообщения: 71
Откуда: Санкт-Петербург

СообщениеДобавлено: Пн Фев 19, 2007 14:23    Заголовок сообщения: Ответить с цитатой

Mike Sinkovsky
GribUser
Я бы просто сделал возможность ссылаться как на локальный путь (сейчас это id), так и на внешний ресурс (сделать атрибут externalId например). И будет всё отлично.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Пн Фев 19, 2007 15:15    Заголовок сообщения: Ответить с цитатой

Mike Sinkovsky писал(а):
Не вижу вроде проблем конвертировать

Совместимость и конвертация есть вещи взаимоисключающие в данном контексте.

babaev писал(а):
Я бы просто сделал возможность ссылаться как на локальный путь (сейчас это id), так и на внешний ресурс (сделать атрибут externalId например). И будет всё отлично.
Вот это, кстати, возможное решение, да. Там и делать ничего не надо, в данный момент стандарт не регламентирует использование внешних ссылок.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Пн Фев 19, 2007 17:09    Заголовок сообщения: Ответить с цитатой

GribUser писал(а):
Совместимость и конвертация есть вещи взаимоисключающие в данном контексте.

А, в этом смысле. Предполагается совместимость сверху вниз? Чтобы новый софт жрал и старые *.fb2.zip без всякой конвертации?

Ну можно и так наверно.
Если пишем <image l:href="#pic001.png"/>, то картинка в том-же файле в base64, а если например <image l:href="image\pic001.png"/>, то в отдельном файле внутри того-же архива.
Тогда вроде и схему менять не надо.

И все-таки хотелось бы и notes как-то в отдельный файл. Чтобы пореже перезапускать потоковые декомпрессоры и парсеры.
Хотя.. Не, наверно все равно не поможет, два экземпляра парсера слишком много памяти сожрут. Ладно, текст наверно все равно придется парсить целиком и запоминать закладки. Ладно, наверно тут лучше не трогать, бесполезно.
А вот картинки - очень ускорит, особенно если архивировать без компрессии, все равно обычно несжимаемые.


А назвать эту бяку как, типа fbz пресловутой, или все-таки fb3?
Потому что стандарт то не регламентирует, но читалки и редакторы такого поворота не ждут, как то надо отличать все равно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Пн Фев 19, 2007 17:20    Заголовок сообщения: Ответить с цитатой

Думать нужно.
Mike Sinkovsky писал(а):
Чтобы пореже перезапускать потоковые декомпрессоры и парсеры.
Давайте все-таки помнить о том, что fb2 не предназначен для непосредственного чтения на любом устройстве. Гораздо важнее, что его можно очень легко конвертировать во что-то, что на любом устройстве читается. У нас есть сони ридеры, лубки и туча всего еще, и разработка софта для них, сильно более многочисленного и разнообразного, так же не должна превращаться в кошмар. Если его на телефоне удастся прочитать - хорошо. Не удастся - пусть txt читают, в конце концов, конвертация без проблем происходит.
Так что я к идее зипа отношусь сдержанно. Это лишние сущности, причем многочисленные. Которые сделают легких разработку ридеров проще, а все остальное - сложнее, да в добавок отправят на помойку весь имеющийся софт.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Admin
Администратор информационного портала FB

Администратор информационного портала FB

Зарегистрирован: 11.06.2004
Сообщения: 1610
Откуда: Воронеж

СообщениеДобавлено: Пн Фев 19, 2007 21:37    Заголовок сообщения: Ответить с цитатой

GribUser писал(а):
В первую очередь это убъет обратную совместимость. Насмерть. О таком стоит подумать очень крепко. В остальном идея имеет право на существование.

Дим, тут альтернативы мало. Стремление сохранить обратную совместимость накладывает большие ограничения на изменения формата. Стремление сделать формат качественней - убивает обратную совместимость. Думать надо, да. Но мне кажется в сторону простоты конвертации формата fb2 в fb3, придется перелопатить все библиотеки, и предоставить пользователям инструмент для конвертации собственных библиотек, и редакторы и библиотекари и ридеры - все переделывать под новый формат. Вот такая глыба. Удастся поднять, ты будешь свободен в изменении формата, не удастся - значит надо вносить изменения, оглядываясь постоянно на совместимость. Значит то, о чем говорим в последних ветках и в этой в частности, слабо реализуемо.

Добавлено спустя 16 минут 26 секунд:

GribUser писал(а):
Давайте все-таки помнить о том, что fb2 не предназначен для непосредственного чтения на любом устройстве. Гораздо важнее, что его можно очень легко конвертировать во что-то, что на любом устройстве читается. У нас есть сони ридеры, лубки и туча всего еще, и разработка софта для них, сильно более многочисленного и разнообразного, так же не должна превращаться в кошмар. Если его на телефоне удастся прочитать - хорошо. Не удастся - пусть txt читают, в конце концов, конвертация без проблем происходит.

Формат, полученный из fb - это компромисс, для случаев, когда ограничены технические средства или слишком уникально устройство. Пока Левченко не сделает поддержку fb мне его lbook интересен в смысле любопытства, практический интерес появится после хорошей поддержки fb. Такчто давай лучше исходить из того, что читалки должны аботать напрямую с fb везде, где это возможно. Такая видится тенденция, и она уже просматривается.
GribUser писал(а):
Так что я к идее зипа отношусь сдержанно. Это лишние сущности, причем многочисленные.

Вообще-то это уже тенденция развития софта, с конкретными примерами. Ты меня сам учил, что с тенденциями надо считаться. Smile Иначе уже завтра fb3 устареет.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> FB - разработка и программирование Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group