Немного о XPS
XPS уже два года как вышел на рынок. Что происходит с ним сейчас, есть ли будущее у этого формата?
В последнее время я как-то упустил этот довольно интересный стандарт из вида и когда недавно решил снова обратиться и посмотреть, то был приятно удивлен. Вообще, одно время у меня начало даже складываться впечатление, что Microsoft не особо стремиться развивать этот формат, и он потихоньку отошел на задний план, как и многие интересные, но не нашедшие своей ниши форматы. К счастью, про XPS такого сказать нельзя.
Если посмотреть в целом на формат XPS (или спецификацию XML PaperSpecification), то присвоенный ему в свое время ярлык «клона PDF» (или «убийцы PDF») не вполне соответствует действительности. То, в чем эти два формата сходятся, это в задаче точного воспроизведения внешнего вида электронного документа на любом устройстве. Однако дальше эти форматы расходятся: PDF последних версий (начиная, пожалуй, с версий 1.5-1.6) представляет мощную мультимедийную платформу, оснащенную как летающая тарелка – тут и поддержка встраивания видео и звука, и работа с 3D изображениями, и электронные формы, и интерактивный интерфейс на базе встроенного ECMAScript/JavaScript, … ну и много чего еще.
XPS же, в точности следует своему названию и является достаточно простым и «легким» (в части объема спецификации) стандартом для представления электронных документов, пригодного как для просмотра на экране, так и для печати. Еще одна интересная особенность формата XPS – то, что он является основой для новой подсистемы печати Microsoft, которая впервые появилось в Vista (плюс, она доступна вместе с .Net Framework версии 3.0 и выше).
Вообще, по всей видимости, первоначальной целью разработки XPS было устранение недостатков прежней подсистемы печати на основе GDI/EMF, существовавшей еще с первых версий Windows. Этой подсистеме уже не раз доставалось за отсутствие многих, ставших уже привычными и необходимыми возможностей (например, градиентной заливки, которую приходилось растеризовать еще до отправки на печать, что влияло и на скорость и на качество печати), хотя для домашнего применения ее вполне хватало… Однако, конечная версия спецификации XPS содержит и множество возможностей, не связанных напрямую с отображением, например, в XPS есть такие возможности, как:
● Поддержка древовидной структуры документа (удобно для навигации)
● Объекты «гиперссылки» (нужно для интерактивной работы)
● Interleaving (возможность оптимизации загрузки документов при просмотре)
● Цифровые подписи
Все это возможности, которые характерны для электронно-читаемых документов, так что у формата есть все основания, чтобы потеснить PDF на поле «формат для обмена электронными офисными документами и документацией».
В целом, следить за текущим развитием XPS можно по блогу https://blogs.msdn.com/adrianford/archive/tags/XPS/default.aspx - пусть и не очень быстро, но появляется поддержка XPS как со стороны аппаратных платформ, так и в различных программных продуктах - от конечных приложений до SDK.
Например, вот такая интересная есть штука: https://nixps.com/index.html. Компания выпускает просмотрщик XPS (для Mac и Windows), редактор, и SDK для кроссплатформенного (опять таки, Mac и Windows) манипулирования XPS.
А вот эта компания https://www.sana-tech.com/xps.html пошла еще дальше и заявляет поддержку библиотеки для XPS и вьюера в IBM AIX, Hewlett-Packard HP-UX, SiliconGraphics IRIX, Apple Mac OS X, Linux, Embedded Linux, SCO UnixWare, Sun Microsystems Solaris, Microsoft Windows, Microsoft Windows Mobile 5/6.
Конечно же, список этим не ограничивается. Довольно интересные решения на базе XPS есть на официальном сайте Microsoft, посвященном XPS https://www.microsoft.com/whdc/xps/default.mspx.
Ну и по поводу самого стандарта… работа над ним продолжается, и в ECMA опубликован черновик под версией 1.2 (текущая версия стандарта представлена как 1.0): https://www.ecma-international.org/memento/TC46-availabledocs.htm
P.S. Получилось несколько скомкано и сумбурно, поэтому если есть интерес – задавайте вопросы, постараюсь ответить.
P.P.S. Кстати, иллюстрация, которая приведена в начале поста – это пример из спецификации XPS, который демонстрирует использование градиентных масок сложной формы. По моему, вполне симпатично.
Комментарии 1
У меня все же есть некоторые сомнения в радужном будущем http://www.sana-tech.com/xps.html. Скажем, в Linux огромное (по сравнению с Windows) значение имеет функциональность "из коробки" (или хотя бы от того же вендора, что собрал дистрибутив). А эта библиотека в подавляющем большинстве дистрибутивах не появится - она платная и закрытая (несвободная). Поэтому придется ждать библиотеки, распространяемой по (L)GPL/MPL или аналогичной лицензии (а пока пользоваться PDF).