В
последнее время я как-то упустил этот довольно интересный стандарт из вида и
когда недавно решил снова обратиться и посмотреть, то был приятно удивлен.
Вообще, одно время у меня начало даже складываться впечатление, что 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 можно по блогу http://blogs.msdn.com/adrianford/archive/tags/XPS/default.aspx
- пусть и не очень быстро, но появляется поддержка XPS как со стороны аппаратных платформ,
так и в различных программных продуктах - от конечных приложений до SDK.
Например, вот такая интересная есть штука: http://nixps.com/index.html. Компания
выпускает просмотрщик XPS (для Mac и Windows), редактор, и SDK для кроссплатформенного
(опять таки, Mac и Windows) манипулирования XPS.
А вот эта компания http://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 http://www.microsoft.com/whdc/xps/default.mspx.
Ну и по поводу самого стандарта… работа над ним
продолжается, и в ECMA опубликован черновик под версией 1.2 (текущая версия
стандарта представлена как 1.0): http://www.ecma-international.org/memento/TC46-availabledocs.htm
P.S. Получилось несколько скомкано и сумбурно, поэтому если
есть интерес – задавайте вопросы, постараюсь ответить.
P.P.S. Кстати, иллюстрация, которая приведена в начале поста
– это пример из спецификации XPS, который демонстрирует использование
градиентных масок сложной формы. По моему, вполне симпатично.