Главная » Silverlight » Формат XPS

0

(XML Paper Specification — спецификация печати XML) представляет со­бой разработанный компанией Microsoft стандарт создания стабильных, готовых к пе­чати, документов. Он похож на стандарт Adobe PDE Поддержка формата XPS включе­на в Office 2007 и Windows Vista. Стандарт XPS основан на XAML, поэтому содержимое документа XPS можно переносить на страницу Silverlight. В операционной систе­ме Windows Vista можно импортировать графику в Silverlight практически из любых приложений.

В качестве примера на рис. 8.21 показан документ XPS в окне Word 2007 после щелчка на кнопке Clip Art и перетаскивания векторного изображения на страницу. Сохранить векторное изображение как документ XPS легче всего с помощью бесплат­ной надстройки, разработанной компанией Microsoft и загружаемой со страницы www. tinyurl. com/y69y7g. После установки надстройки сохранить документ можно, выбрав команду FileSave AsOPDF or XPS (Файл Сохранить кaк PDF или XPS). В операционной системе Windows Vista сохранить документ в формате XPS можно в программах, не вхо­дящих в пакет Office. Для этого нужно задать печать документа устройством Microsoft XPS Document Writer (Печать документа XPS Microsoft).

Рис. 8.21. Экспорт рисунка в XAML посредством формата XPS

После экспорта любым способом будет сгенерирован файл с расширением .xps. Фактически он является архивом ZIP, аналогичным файлу ХАР в Silverlight. Файл XAML находится в архиве. Чтобы извлечь его, переименуйте архив, добавив расширение . zip, и разархивируйте файл. В архиве растровые изображения приведены как отдельные файлы в папке Resources. Векторные изображения определены в формате XAML на страницах, расположенных в папке Documents\l\Pages. В ней можно найти файлы для каждой страницы документа. Имена файлов приведены в формате номер_страницы. fpage. Например, в файле XPS, сгенерированном для предыдущего примера, хранится единственный файл 1. fpage, определяющий изображение, показанное на рис. 8.21.

Если извлечь файл . fpage и открыть его в тек­стовом редакторе, на экран будет выведена размет­ка XAML. Корневой элемент имеет имя FixedPage, не распознаваемое надстройкой Silverlight, од­нако в нем находится обычный элемент Canvas, который можно скопировать в окно Silverlight. Изображение, показанное на рис. 8.21, опреде­лено как контейнер Canvas, содержащий ряд эле­ментов Path, которые задают форму различных частей фигуры. После вставки разметки на стра­ницу Silverlight, она выглядит в окне браузера, как показано на рис. 8.22.

При вставке разметки XPS на страницу Silverlight, иногда нужно немного изменить код вручную.

•       Удалите неподдерживаемые атрибуты. При попытке скомпилировать прило­жение программа Visual Studio укажет на проблемы в разметке, отметив их как ошибки компиляции.

•       Замените элементы Glyphs элементами TextBlock. Элементы Glyphs явля­ются низкоуровневыми средствами вывода текста. В отличие от TextBlock, при использовании элемента Glyphs нужно предоставить дополнительную инфор­мацию, включая файл шрифтов, иначе текст не появится на экране. При созда­нии документа XPS, содержащего текст, используются элементы Glyphs. Чтобы текст был отображен на экране, нужно найти в архиве файл шрифтов, извлечь его, добавить в проект и отредактировать свойство Glyphs.FontUri. Однако проще заменить элементы Glyphs более высокоуровневыми элементами Text- Block и присвоить их свойствам TextBlock.Text содержимое свойств Glyphs. Unicodestring.

•       Измените объекты преобразований. В некоторых случаях для установки раз­меров и позиционирования фигур в экспортированных изображениях автомати­чески генерируются объекты преобразований. Обычно они появляются при ис­пользовании в Word режима Save As XPS (Сохранить как XPS). При печати в до­кумент XPS в операционной системе Windows Vista они не генерируются. Удалив или изменив объекты преобразований, вы освободите изображение от средств печати, в результате чего оно будет доступным на странице Silverlight. Объекты преобразований рассматриваются в главе 9.

Резюме

В этой главе подробно рассмотрены встроенные в Silverlight средства двухмерного рисования, включая классы фигур и контуров, позволяющие добавлять в рисунок пря­молинейные и криволинейные сегменты.

Рис. 8.22. Содержимое документа XPS в приложении Silverlight

В следующей главе рассматривается применение кистей, средств управления про­зрачностью и объектов преобразований для создания более совершенных рисунков.

Источник: Мак-Дональд, Мэтью. Silverlight 3 с примерами на С# для профессионалов. : Пер. с англ. —- М. : ООО «И.Д. Вильяме», 2010. — 656 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии