Pull to refresh
12
0
Send message

Интересный подход. Рассмотрю такой вариант. Спасибо за идею☺

Но ведь в личной переписке сегодня днем вас не интересовали подробности. Наоборот, вы сказали что все это неинтересно, а информацию о форматах можно в интернете найти. Вы просили только убрать тег PHP. Тег решила оставить, чтобы получить рекомендации по теме. В прошлый раз они мне сильно помогли☺

Как вариант, но это была коммерческая разработка и не хотелось связываться с лицензиями. В своей десктопной читалке тоже, возможно, откажусь от использования библиотек.

Спасибо, что оценили мою статью! А комментарии помогли мне многое улучшить в моем проекте)

Похоже, но у меня попроще намного. Для нас лучше, конечно, чтобы данные подтягивались не с Амазона, а с Литреса и Лабиринта. Но у меня пока такого нет. Ручками забиваю обложку, содержание, описание. Но идея хорошая, сделать так, чтобы все это руками не надо было вносить. Будет, над чем поработать)

Спасибо за совет! В любом случае, я люблю учиться всему новому, и до новых технологий доберусь)

Помимо maven, я еще искала такие решения, которые работают с javafx. Так как у меня весь проект на javafx (для десктопа). А читалка - это только часть проекта (об этом я пишу подробнее ниже в комментариях). Целиком запрос выглядел примерно так: java fb2 maven javafx. Возможно, поэтому и не встретила ваш вариант. Насколько я поняла, он больше на Андроид рассчитан. К тому же, он написан 6 лет назад, и нужно проверять, будет ли работать с новыми версиями jre, javafx и другими зависимостями, которые использую в проекте.

Кстати, я поняла, почему мне не попался этот парсер. Он для Gradle, а я искала для Maven. Но я его поизучаю, когда буду делать версию для Андроид (если, конечно, решусь).

Вы будете смеяться, но первую версию своего каталога электронных книг я сделала на html+css (с использованием фреймворка bootsprap). Делала чисто для себя и где-то полгода пользовалась. Потом поняла, что это извращение и решила изучить Java. А почему бы и нет?)

Спасибо) Попробую сделать, как вы советуете.

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

Заранее бы не оценила. Но поскольку выбрала второй вариант, значит, для меня так оказалось проще. Этот код я писала для себя, своих нужд, не для статьи и не для того, чтобы произвести на кого-то впечатление. Выбрала для себя кратчайший путь. Я действительно потратила время на поиски других вариантов. Но то, что выше предлагали, не попадалось. А нейронка предложила код с библиотекой, которая подходит для EPUB. К тому же, если нужна читалка попроще, возможно, сделать своими силами тоже вариант. Например, когда я подключила библиотеку для читалки файлов doc, моя программа "потяжелела" на 200 Мб. А до этого весила в 4 раза меньше. Читала где-то, что подключение стронних библиотек имеет и другие минусы. Поддержка, совместимость, производительность, ошибки в чужом коде и т.д.

ага, да еще и все на разных SSD. Жалко терять время на поиски нужной информации. А еще обидно, если когда-то прочитала полезную книгу нон-фикшн, а через неделю в голове остается только 25%, а еще через месяц вообще только смутное воспоминание. Теперь я могу написать небольшой конспект и положить в папку с книжкой. И ничего не пропадает и не забывается)

Посмотрю) Теперь уже чтобы позаимствовать фишечки)

да, вы правы. Основной контент в html. Но есть парочка xml, в одном из которых указывается порядок следования файлов html (это файл с расширением OPF), а в другом содержится навигация (файл с расширением NCX для v2). С другой стороны, jsoup действительно не очень хорошо парсит xml, с этим я тоже уже сталкивалась, разбирая docx. Рассматриваю другие варианты (по ссылке, которой поделились чуть выше в комментариях).

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

Убедили) Читалку FB2 переделаю для своего проекта. В читалке EPUB я уже воспользовалась библиотекой Jsoup для парсинга XML. Там почти все то же самое. Распаковка ZIP, потом парсинг XML. Но немного структура сложнее, и 2 версии (v2 и v3) с разными структурами XML. В них элементы раскиданы хаотично, о чем многие тут предупреждают, что такое возможно.Поэтому там без грамотного парсинга никак не обойтись. Если будет интерес у кого-нибудь, напишу статью про EPUB)

Спасибо на добром слове! Насчет description. Не исключено, что так и будет. Будем решать проблемы по мере поступления)

Это возможно, но мне таких книг не попадалось. Но я подумаю, как избежать такого варианта. Спасибо.

Спасибо за отзыв и информацию о парсинге XML. Поизучаю. А вот по поводу блока body, я знаю, что их может быть более одного. Мой код это учитывает, так как он захватывает все содержимое между первым (indexOf) и самым последним (lastIndexOf) элементами body. Что касается всяких опций, вроде сносок, колонтитулов, настроек шрифтов, закладок и т.д., тут вы абсолютно правы. Будем над этим работать)

1

Information

Rating
Does not participate
Registered
Activity

Specialization

Десктоп разработчик, Веб-разработчик
Стажёр
Java
PHP
XML
Web
CMS «1С-Битрикс»
HTML
CSS
JavaScript
Веб-разработка
WordPress