Caminova что это за программа

Внедрение поддержки DjVu в приложения


Зачем внедрять поддержку DjVu?

Если в случае с PDF вопрос «А зачем приложениям нужна поддержка этого формата?» был, в некотором роде, риторическим, то в случае формата DjVu он становится уже далеко не праздным. Дело в том, что формат DjVu распространён не так широко, как PDF, а, соответственно, и потребность пользователей в приложениях, которые бы поддерживали его, значительно меньше. В то же время, если бы форматом DjVu вообще никто не пользовался, то не было бы и смысла писать подобную статью, потому что проблемы поддержки этого формата в более-менее массовых масштабах и не существовало бы в природе. Однако этот формат всё-таки, как ни крути, используется активно для хранения тех же электронных книг и другой документации.


Немного о самом формате

Как и в статье про PDF, давайте для начала вспомним, чем, так сказать, знаменит формат DjVu и в чём его «важность для народного хозяйства». Этот формат оптимизирован специально для хранения электронных документов (особенно отсканированных), что достигается использованием в нём различных текстовых и графических слоёв, а также применением сжатия с потерями, что позволяет получать гораздо меньшие по размеру файлы, чем если бы отсканированные документы были «засунуты» в формат PDF. Собственно говоря, именно благодаря этой особенности данного файлового формата он стал таким популярным. Разработала же его в своё время AT&T Research.

DjVu свободный формат, то есть его спецификации являются открытыми, и вы можете беспрепятственно реализовывать его поддержку в своём приложении. Но, как и в случае с PDF, во весь свой немалый рост встаёт вопрос о целесообразности такого подхода. Формат DjVu тоже не так прост, как, например, обычные графические форматы, а потому имеет смысл сначала поискать готовые решения.


Немного о готовых решениях вообще

Заранее забегая вперёд, хочу сказать, что, в отличие от PDF, решений для внедрения поддержки DjVu, в общем-то, мягко говоря, не очень много. Нет, не сказать, что их совсем нет, но их мало, по сравнению с библиотеками, способными осчастливить пользователей вашего приложения поддержкой PDF.

В принципе, это вполне закономерно. DjVu сегодня используется, в основном, для распространения электронных книг, в то время как область применения PDF несравнимо шире. Вы можете встретить в формате PDF и различные мануалы к программам и библиотекам, и электронные версии разных официальных документов, которые предлагается самостоятельно заполнить и распечатать, и статьи из различных изданий. В общем-то, во многом этому способствуют широкие возможности самого формата, но не нужно забывать и про не менее широкую спину компании Adobe, занимающейся его разработкой и продвижением. В случае с DjVu всё намного скромнее. Потому более скромным является и число библиотек, обеспечивающих поддержку работы с DjVu в приложениях.

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

Сами инструменты, входящие в состав DjVuLibre, написаны на C++. В принципе, это неплохо, но если вы используете какой-то другой язык, придётся идти на ухищрения. И если для того же Delphi можно ещё как-то написать DLL’ку, то для Java лучше поискать что-нибудь другое.


Java DjVu Viewer Project

Тоже вариант, в принципе, умеренно удачный, потому что, как и в случае с предыдущим проектом, этот также разрабатывается и распространяется под милой сердцу каждого линуксоида GNU GPL. Сайт этого проекта находится по адресу javadjvu.foxtrottechnologies.com, и, кстати, ссылку на него можно найти на сайте DjVuLibre.

Для Java реализован только просмотр DjVu, хотя, откровенно говоря, вряд ли вам так уж сильно понадобится создавать документы в этом формате в своём приложении. Собственно, наверное, что-то ещё сказать по поводу этого программного продукта сложно, потому что, как видите, функций у него немного.

Единственное, пожалуй, чего так и не удалось найти на сайте, это стоимость библиотеки и политику её лицензирования. Но если вы заинтересовались, попробуйте написать создателям Caminova DjVu SDK, и, может быть, они прояснят вам эти моменты.

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

Источник

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

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