Открыть сервис

XPS-спулинг

XPS-спулинг — это технология обработки заданий на печать в операционных системах семейства Microsoft Windows, при которой данные, подготовленные для вывода на печатающее устройство, временно сохраняются на жёстком диске (в спуле) в формате XPS (XML Paper Specification) перед отправкой на принтер. Данный механизм является альтернативой традиционному методу спулинга, основанному на использовании метафайлов Windows (EMF), и предназначен для повышения надёжности и точности вывода сложных документов, содержащих векторную графику, прозрачность и шрифты.

История и предпосылки появления

Технология XPS-спулинга была внедрена корпорацией Microsoft вместе с выходом операционной системы Windows Vista (2006 год). Её появление было тесно связано с разработкой формата XPS, который позиционировался как открытый, аппаратно-независимый формат документов, конкурирующий с PDF (Adobe). Основной целью было создание единого конвейера обработки документов — от приложения до принтера — без промежуточных преобразований, которые могли бы исказить внешний вид страницы.

До появления XPS-спулинга в Windows использовался преимущественно спулинг через EMF (Enhanced Metafile). При этом приложение передавало системе команды рисования в виде метафайла, который затем интерпретировался драйвером принтера. Этот подход имел ряд недостатков:

  • Зависимость от качества драйвера: некорректная интерпретация метафайлов могла приводить к ошибкам печати.
  • Проблемы с поддержкой сложной графики: прозрачность, градиенты и эффекты сглаживания часто искажались или не выводились вовсе.
  • Отсутствие гарантии точного совпадения экранного и печатного отображения (WYSIWYG — «What You See Is What You Get»).

XPS-спулинг был призван решить эти проблемы, используя формат XPS как единый язык описания страниц на всех этапах — от создания документа в приложении до его вывода на принтер.

Принцип работы

Процесс XPS-спулинга включает несколько последовательных этапов:

  1. Формирование XPS-файла. Приложение (например, Microsoft Word или Internet Explorer) генерирует документ в формате XPS. Этот формат представляет собой ZIP-архив, содержащий XML-разметку страниц, векторную и растровую графику, шрифты и метаданные.
  2. Сохранение в спул. Сформированный XPS-файл помещается в очередь печати — специальную папку на жёстком диске (обычно %SystemRoot%\System32\spool\PRINTERS\). Файл сохраняется целиком, без предварительной обработки драйвером.
  3. Обработка драйвером. Драйвер принтера, поддерживающий XPS-спулинг, получает готовый XPS-файл. Он преобразует его в команды, понятные конкретному печатающему устройству (например, в PCL или PostScript). Поскольку XPS-файл уже содержит всю информацию о странице, драйверу не требуется самостоятельно интерпретировать команды рисования — он лишь транслирует готовые данные.
  4. Вывод на печать. После обработки драйвер отправляет сформированный поток данных на принтер.

Ключевое отличие от EMF-спулинга заключается в том, что при XPS-спулинге все сложные графические операции (прозрачность, градиенты, шрифты OpenType) уже разрешены на этапе создания XPS-файла. Драйвер получает окончательное описание страницы, что снижает риск ошибок.

Преимущества и недостатки

Преимущества

  • Высокая точность вывода. Формат XPS обеспечивает точное совпадение экранного и печатного изображения благодаря встроенной поддержке векторной графики, прозрачности и цветовых профилей ICC.
  • Надёжность. Снижение нагрузки на драйвер принтера уменьшает вероятность сбоев, вызванных некорректной интерпретацией команд.
  • Поддержка современных графических возможностей. Эффекты, недоступные при EMF-спулинге (например, полупрозрачные объекты), корректно выводятся на печать.
  • Упрощение разработки драйверов. Производителям принтеров достаточно реализовать поддержку XPS-фильтра, а не сложный интерпретатор метафайлов.

Недостатки

  • Увеличение размера спул-файлов. XPS-файлы могут занимать значительно больше места на диске, чем EMF-метафайлы, особенно при печати документов с большим количеством растровых изображений.
  • Требования к производительности. Генерация и обработка XPS-файлов требует больше вычислительных ресурсов (процессора и оперативной памяти), что может замедлить печать на старых компьютерах.
  • Зависимость от поддержки драйвера. Технология эффективна только при наличии драйвера, специально разработанного для XPS-спулинга (XPSDrv). При использовании старого драйвера Windows автоматически переключается на EMF-спулинг, что нивелирует преимущества.
  • Ограниченная совместимость. Некоторые приложения, особенно сторонние, могут не поддерживать генерацию XPS-файлов, что делает использование технологии невозможным.

Настройка и использование

В операционных системах Windows Vista, 7, 8, 10 и 11 пользователь может выбирать тип спулинга для каждого принтера. Настройка осуществляется через свойства принтера:

  1. Открыть «Панель управления» → «Устройства и принтеры».
  2. Выбрать нужный принтер, нажать правой кнопкой мыши → «Свойства принтера».
  3. Перейти на вкладку «Дополнительно».
  4. В разделе «Спулинг» выбрать один из вариантов:
  • «Начать печать после завершения спулинга» — документ полностью сохраняется в спуле, затем отправляется на печать.
  • «Начать печать немедленно» — печать начинается сразу после помещения первой страницы в спул (ускоряет процесс, но требует больше ресурсов).
  1. Для включения XPS-спулинга необходимо, чтобы драйвер принтера поддерживал эту технологию. Если драйвер не поддерживает XPS, соответствующий пункт в настройках будет отсутствовать.

В Windows 10 и 11 Microsoft постепенно отказывается от активного продвижения XPS-спулинга в пользу более современной технологии Print Support App (PSA), которая позволяет использовать универсальные драйверы на основе протокола IPP (Internet Printing Protocol). Однако XPS-спулинг остаётся доступным для обратной совместимости.

Сравнение с другими технологиями спулинга

ХарактеристикаEMF-спулингXPS-спулингRAW-спулинг
Формат данныхМетафайл (EMF)XML Paper Specification (XPS)Команды принтера (PCL, PostScript)
Обработка графикиИнтерпретация драйверомПредварительно разрешенаНе требуется (данные готовы)
Размер спул-файлаНебольшойСредний или большойЗависит от сложности документа
Нагрузка на CPUНизкаяСредняяМинимальная
Точность выводаСредняяВысокаяВысокая (зависит от приложения)
СовместимостьШирокаяТребует XPS-драйвераУзкая (только для конкретного принтера)

RAW-спулинг, в отличие от XPS и EMF, не использует промежуточный формат — приложение сразу отправляет команды на языке принтера. Этот метод наиболее быстрый, но требует, чтобы приложение «знало» язык конкретного печатающего устройства.

Интересные факты

  • Формат XPS был включён в стандарт ECMA-388 (Ecma International) в 2009 году, что сделало его открытым стандартом. Однако широкого распространения за пределами экосистемы Microsoft он не получил.
  • В Windows 8 и более поздних версиях Microsoft встроила средство просмотра XPS-документов (XPS Viewer), которое позволяет открывать и печатать файлы XPS без установки дополнительного ПО.
  • XPS-спулинг может быть отключён через групповые политики или реестр, если администратору требуется принудительно использовать EMF-спулинг для совместимости со старым оборудованием.
  • Несмотря на то, что XPS-спулинг был разработан для повышения качества печати, многие пользователи и администраторы отмечают, что на практике разница между EMF и XPS-спулингом заметна только при печати документов со сложной графикой (например, презентаций PowerPoint с эффектами прозрачности).

Источники

  • Документация Microsoft Windows по архитектуре печати (Print Architecture).
  • Спецификация формата XML Paper Specification (XPS) — ECMA-388.
  • Материалы TechNet по настройке спулинга печати в Windows.
  • Статьи журнала «Windows IT Pro» (русскоязычное издание) о сравнении EMF и XPS-спулинга.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →