XML Paper Specification
XML Paper Specification (XPS) — это формат электронных документов с фиксированной разметкой, разработанный корпорацией Microsoft на основе языка разметки XML. Предназначен для представления, хранения и обмена документами в виде, идентичном их печатной версии, независимо от программного и аппаратного обеспечения. Файлы XPS имеют расширение .xps или .oxps (Open XML Paper Specification). Формат позиционировался Microsoft как прямой конкурент формату PDF (Portable Document Format) компании Adobe Systems.
История
Разработка XPS началась в 2003 году под рабочим названием «Metro». Первоначально формат задумывался как часть операционной системы Windows Vista и должен был стать основой для нового поколения печати — XML-ориентированной системы печати (XML Print Specification, XPS). В 2005 году Microsoft опубликовала спецификацию формата, а в 2006 году, с выходом Windows Vista, XPS стал встроенным форматом для печати и хранения документов.
В 2007 году спецификация XPS была передана в международную организацию по стандартизации Ecma International. В 2009 году она была принята как стандарт Ecma-388 (Open XML Paper Specification). В 2010 году Международная организация по стандартизации (ISO) и Международная электротехническая комиссия (IEC) утвердили его как международный стандарт ISO/IEC 29500-2:2010. Однако в 2012 году Microsoft выпустила обновлённую версию формата — Open XML Paper Specification (OXPS), которая не была полностью совместима с оригинальным XPS и не прошла стандартизацию в ISO. В последующих версиях Windows (начиная с Windows 8) поддержка OXPS была встроена, а поддержка классического XPS — сохранена.
Несмотря на усилия Microsoft, XPS не смог завоевать значительную долю рынка, уступив PDF. Основными причинами стали широкая распространённость PDF, наличие большого количества инструментов для работы с ним, а также относительная сложность внедрения XPS в сторонних приложениях. В 2018 году Microsoft объявила, что в Windows 10 версии 1803 поддержка XPS-документов по умолчанию отключается, но может быть включена пользователем как дополнительный компонент. В Windows 11 поддержка XPS сохраняется в виде опциональной функции.
Архитектура и устройство
XPS-документ представляет собой ZIP-архив, содержащий набор файлов и папок, организованных по определённой иерархии. Внутренняя структура основана на открытых стандартах XML, что делает формат потенциально доступным для программной обработки.
Основные компоненты
- Файлы разметки страниц (.fpage) — содержат описание содержимого каждой страницы документа с использованием языка разметки XAML (Extensible Application Markup Language). В них описываются геометрические фигуры, текст, изображения, пути, заливки и другие визуальные элементы.
- Файлы ресурсов — включают шрифты (внедрённые в документ), изображения (в форматах JPEG, PNG, TIFF, а также собственный формат XPS для растровых изображений), цветовые профили и другие данные, необходимые для отображения страниц.
- Файл описания документа (.fdoc) — содержит метаданные о документе в целом: количество страниц, порядок их следования, сведения об авторе, дате создания и т.д.
- Файл связей (.rels) — определяет взаимосвязи между компонентами архива (например, какая страница к какому ресурсу относится).
- Файл манифеста (.psm) — содержит информацию о версии формата, используемых пространствах имён и других глобальных настройках.
Особенности описания страниц
Каждая страница описывается как набор элементов, расположенных в определённой системе координат. Поддерживаются:
- Векторная графика — линии, кривые, прямоугольники, эллипсы, пути (path) с возможностью задания заливки, обводки, прозрачности и градиентов.
- Растровые изображения — могут быть встроены в документ в сжатом или несжатом виде.
- Текст — поддерживается внедрение шрифтов (TrueType, OpenType) непосредственно в файл, что гарантирует корректное отображение текста на любом устройстве, даже если шрифт не установлен в системе.
- Цветовые пространства — поддерживаются sRGB, scRGB, CMYK, а также ICC-профили для точной цветопередачи.
- Прозрачность и смешивание — поддерживаются альфа-каналы и различные режимы наложения (blend modes).
Преимущества и недостатки
Преимущества
- Точность воспроизведения — документ отображается на экране и при печати идентично, независимо от разрешения устройства и установленных шрифтов.
- Встроенная поддержка в Windows — начиная с Windows Vista, операционная система включает встроенный виртуальный принтер Microsoft XPS Document Writer, позволяющий «печатать» любой документ в формат XPS.
- Открытая спецификация — формат основан на открытых стандартах XML, что теоретически позволяет создавать инструменты для его чтения и создания на любой платформе.
- Внедрение шрифтов — возможность встраивать шрифты в документ, что гарантирует корректное отображение текста.
- Поддержка цифровых подписей — XPS поддерживает подписание документов цифровыми подписями для обеспечения целостности и подлинности.
Недостатки
- Ограниченная распространённость — по сравнению с PDF, XPS поддерживается значительно меньшим количеством программ и устройств. В операционных системах macOS и Linux нет встроенной поддержки XPS.
- Большой размер файлов — из-за использования XML и внедрения ресурсов (особенно шрифтов) XPS-файлы часто имеют больший размер, чем эквивалентные PDF-файлы.
- Сложность реализации — создание полноценного XPS-парсера или редактора требует значительных усилий из-за сложности спецификации.
- Отсутствие поддержки интерактивных элементов — в отличие от PDF, XPS не поддерживает формы, JavaScript, анимацию или встроенные мультимедиа.
- Фрагментация версий — появление OXPS в 2012 году привело к несовместимости между разными версиями формата.
Применение
XPS нашёл ограниченное применение в следующих областях:
- Документооборот — в некоторых корпоративных средах, где используется преимущественно программное обеспечение Microsoft, XPS может использоваться для обмена документами с фиксированной разметкой.
- Архивирование — в отдельных организациях XPS применяется для долговременного хранения документов благодаря своей открытой спецификации.
- Печать — виртуальный принтер XPS позволяет создавать точные копии документов для последующей печати.
- Образовательные учреждения — в некоторых учебных заведениях, особенно в США, XPS использовался для распространения учебных материалов.
Поддержка в операционных системах и приложениях
- Windows — встроенная поддержка чтения и создания XPS-документов (через приложение «XPS Viewer» и виртуальный принтер). В Windows 10 и 11 поддержка является опциональной и может быть включена в разделе «Управление дополнительными компонентами».
- macOS — встроенной поддержки нет. Для чтения XPS-файлов можно использовать сторонние приложения, такие как XPS Viewer (через порт Mono) или конвертировать в PDF с помощью онлайн-сервисов.
- Linux — встроенной поддержки нет. Существуют отдельные утилиты, например,
libxps(библиотека для работы с XPS) иxps2pdf(конвертер в PDF). - Сторонние приложения — некоторые программы, такие как Adobe Acrobat (частично), Foxit Reader, SumatraPDF, поддерживают чтение XPS-файлов. Для создания XPS-документов доступны плагины для Microsoft Office (до версии 2013) и отдельные утилиты.
Сравнение с PDF
| Характеристика | XPS | |
|---|---|---|
| Разработчик | Microsoft | Adobe Systems |
| Стандарт | Ecma-388, ISO/IEC 29500-2 | ISO 32000-1, ISO 32000-2 |
| Основа | XML | PostScript (частично) |
| Встроенная поддержка в ОС | Только Windows | Все основные ОС |
| Размер файла | Часто больше | Часто меньше |
| Интерактивные элементы | Нет | Да (формы, JavaScript, мультимедиа) |
| Цифровые подписи | Да | Да |
| Внедрение шрифтов | Да | Да |
| Распространённость | Низкая | Очень высокая |
Интересные факты
- Название «Metro» для ранней версии XPS было отменено из-за возможного конфликта с товарным знаком компании Metro AG.
- Формат XPS поддерживает до 256 слоёв на странице, что позволяет создавать сложные многослойные документы.
- В 2010 году Microsoft выпустила бесплатный пакет SDK для разработчиков, позволяющий создавать и обрабатывать XPS-документы на платформе .NET.
- Несмотря на то, что XPS не получил широкого распространения, его технологии (например, внедрение шрифтов и описание страниц на XAML) были использованы в других продуктах Microsoft, таких как Windows Presentation Foundation (WPF) и Silverlight.
Источники
- Ecma International. Standard ECMA-388: Open XML Paper Specification (OXPS), 2nd edition, June 2012.
- ISO/IEC 29500-2:2010 — Information technology — Document description and processing languages — Office Open XML File Formats — Part 2: Open XML Paper Specification.
- Microsoft Corporation. XML Paper Specification (XPS) Overview. MSDN Library, 2006.
- Microsoft Corporation. XPS and OXPS: A Technical Overview. Windows Dev Center, 2012.
- Харрис, Э. (2008). XML Paper Specification: The Definitive Guide. O'Reilly Media.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →