XPS – «убийца» PDF?
Apr. 9th, 2007 10:33 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Микрософт придумала новый формат для описания лэйаута страниц -- XPS (xml paper specification). Этот формат, например, используется в подсистеме печате Windows Vista.
По наводке rezkiy скачал .NET 3.0 (62 Мб), только ради того, чтобы посмотреть что за зверь этот XPS. Посмотрел. Про формат. XPS-файл -- это zip-архив, который содержит внутри xml-файлы описания страниц и файлы ресурсов (картинки, шрифты, цветовые профайлы и тп). Сменив xps-расширение на zip, можно полюбоваться, как это хозяйство устроено внутри. Типичный фрагмент кода (рисует прямоугольник) из описания страницы выглядит примерно так:
<path data="M 66.144,734.14 L 66.624,734.14 L 66.624,744.82 L 66.144,744.82 L 66.144,734.14 Z "></path><path.fill></path.fill><solidcolorbrush color="#FF999999"></solidcolorbrush>
Про стандартные фичи. Детальный анализ схемы и мануаля довольно четко обрисовал, что именно можно пристойно описать в нотации xps. В целом, стандартные RGB и CMYK-макеты вполне ложатся в набор примитивов, предоставляемый XPS. Для большинства возможностей, предоставляемых верстальными и иллюстративными программами конца прошлого века есть примитивы. То-есть и градиентами можно заливать, и обводочки штриховые делать с наконечниками, и кернинг точный по тексту.
XPS даже поддерживает полутоновые прозрачности, причем по произвольной маске. Ситуацию портит то, что есть только один режим наложения прозрачного объекта на нижележащий -- аналог фотошоповского normal.
Про цвет. XPS поддерживает только калиброванный цвет. По умолчанию (то-есть без включения цветового профайла устройства) формат поддерживает только sRGB и scRGB. Хотите CMYK -- включайте в документ профайл того устройства, под которое этот CMYK подготовлен.
Казалось бы, это мудрое решение. Но -- нет. Дело в том, что в печатной индустрии есть т.н. плашечные цвета. Бронза, например, или фирменный цвет Кока-колы. Или лакировка выборочная. Так вот, чтобы включить объекты покрашенные плашечными цветами, необходимо вложить в документ профайл многоцветного цветового пространства. На текущий момент я не знаю промышленных решений приемлемой цены, которые были бы в состоянии сгенерировать, скажем, пятицветный профайл. То-есть, про плашечные цвета можно смело в XPS забыть. И никакого решения не видно, там архитектурный недочет, фундаментальный изъян.
Есть еще один убойный косячек. Тип рендера для преобразования цвета под конкретное устройство задается не пообъектно, а постранично. То-есть, если у вас на странице логотип, покрашенный в фирменный цвет (нужен режим abs colorimetric) и еще фотки (нужен режим perceptual), придется обломаться. Или картинки будут мертвые, или логотип не того цвета. Это тоже фундаментальный изъян.
Про стандартные фичи, которых в XPS нет. Ну, понятно уже -- именованных цветов ("пантонов") нетути. Нет mesh-fill. Нет поддержки overprint. Учитывая, что нет режима наложения прозрачностей multiply, вообще неясно, как реализовывать надпечатку по-простому. Никак, видимо. В силу отсутствия простой поддержки плашечных цветов будет гиморно вставлять дуотоны всякие. Теоретически можно -- но нет софта для генерации профайлов.
Да, XPS не поддерживает именованные страницы -- это значит, что даже в майкрософтовском мануале по формату XPS вверху бумажной страницы вы увидите одну цифру, а внизу, в окошке просмотрщика где номер страницы написан -- другую.
Про просмотрщик XPS-файлов. После скачивания .NET 3.0 (если у вас Виста, скачивать ничего не надо) файлы XPS будет открывать Internet Explorer. Просмотрщик в целом не выдерживает никакой критики.
Ну, первое. Заставлять качать 62 мега ради просмотрщика -- это издевательство. Заставлять юзера включать службу BITS (интеллектуальная служба передачи) ради скачивания -- издевательство. Рекомендовать удалить бета-версии для установки финальной, да так, что анинсталлер работает только когда инсталлятор закрыт -- издевательство. И сама установка на 15 минут -- издевательство.
Второе. Интерфейс просмотрщика -- полное говно. Когда вы включаете режим thumbnail view, вы не сможете мотать по документу, пока ИЕ не отрисует (очень неторопливо) все превьюшки. Сами превьюшки -- тоже дебильные, клик по превьюшке не ведет на кликнутую страницу, он…вообще ничего не делает. Номера страниц под превьюшками не проставлены -- хрен догадаешься, где ты. Битмапы превьюшек не кэшируются -- это значит, что просмотрев документ в превьюшках, почитав потом нужную страницу и переключившись обратно в превьюшки, снова можно покурить. Просмотрщик начнет перерисовавать заново то, что уже рисовал минуту назад.
Просмотрщик не экспортирует xps ни в один формат. То-есть, можно, конечно, напечатать в pdf -- но это ж издевательство! Да еще и надо в pdf-принтере одну галочку хитрую снять, а то будут зюквы на выходе, даже в латинице.
И -- да -- попытка сделать Ctrl-A (выделить всё) по 423-страничному документу вдула машину минут на 15, после этого я снял задачу. Бляха, ну не могут в наше неспокойное время появляться в приложениях блокирующие операции!
Про инкапсуляцию. Понятно дело, никаких psd-файлов, pdf и уж конечно eps вам в документ xps не вставить. В xps можно инкапсулировать только другой xps (и еще png, jpg, tiff, otf, ttf и icc), и то я не въехал еще, как быть, если совпадают имена ресурсов.
Совместимость. Плохая. Я не смог вставить фрагмент xps-документа в Word 2007 -- что уж говорить о более ранних приложениях.
Положительные стороны. Это xml-формат. Рендерилка для него встроена в Висту. Готов спорить, что на основе XPS появятся промышленные системы автоматической верстки. Да я и сам, когда на Висту пересяду и офис свой пересажу, сделаю в InfoPath графики и диаграммы всякие с использованием xps.
Резюме. XPS по фичам -- это аналог pdf 1.3 с некоторыми фичами pdf 1.4. Современная версия pdf -- 1.6. Так-что стать стандартом для печатной индустрии у xps никак не получится. Это исключительно для офисной работы формат. По-сути, emf с расширениями в xml-нотации.
Вообще, все несколько сыро и складывается ощущение, что архитекторам формата не хватило времени, чтобы изучить руководства по pdf последней версии.
no subject
Date: 2007-04-09 09:56 pm (UTC)no subject
Date: 2007-04-09 10:28 pm (UTC)у себя один баг я уже нашел -- оказывается, необязательно качать 62 мега, можно и какой-то экспресс-кит качнуть. всего в 16 мегов :)
эх, идея то отличная -- сделать, наконец, полноценный xml-based формат для описания страниц вместо экранного по сути svg, в котором есть только некалиброванный rgb и больше ничего.
но -- не было в мсфт четкого профи типа меня, который про desktop publishing и стандарты печатной индустрии знает реально просто всё :)
ну и с интерфейсом просмотрщика конечно недоработочка вышла. то-есть, просто на-отъебись сделано, при всём моём уважении.
так что файли баги. у идеи блестящее будущее, напишу попозже.
no subject
Date: 2007-04-09 11:19 pm (UTC)no subject
Date: 2007-04-09 11:39 pm (UTC)вот еще поменялось бы чего в реализации этой отличной идеи от это "толково написано" :)
no subject
Date: 2007-04-09 11:45 pm (UTC)no subject
Date: 2007-04-09 11:54 pm (UTC)no subject
Date: 2007-04-16 08:26 pm (UTC)no subject
Date: 2007-04-16 08:40 pm (UTC)