Формат XPS-файлов основан на XML и новой модели программирования WinFX. Благодаря этому будущие программы, основанные на WinFX, смогут работать с форматом XPS.
XPS-файлы относятся к фиксированным файлам, то есть к файлам, которые не поддерживают изменения содержимого. Это одновременно является и плюсом XPS-файлов, и их минусом: с одной стороны, гарантируется, что визуальное отображение документа всегда будет одинаковым, а с другой стороны, XPS-документы нельзя переформатировать, например, для того, чтобы корректно отобразить на маленьких экранах КПК.
При печати XPS-документов задания передаются на принтер по новому пути печати, который обходит слой GDI (основные недостатки данного слоя в том, что он не поддерживает градиенты, прозрачность и улучшенные цвета). Это позволяет повысить скорость печати, а также качество результата печати, доведя его до уровня печати PDF.
XPS-документы могут храниться в специальном контейнере, который предназначен для хранения одного или нескольких XPS-документов и ресурсов, необходимых им. Контейнер не только объединяет несколько документов, но и сжимает их, что позволяет сократить скорость передачи XPS-документов через Интернет.
Файлы с расширением XPS открываются с помощью браузера Internet Explorer 7.0 (рис. 7.5).
Рис. 7.5. Работа с XPS-файлами
Обратите внимание на кнопки Сохранить копию, Разрешения и Цифровые подписи браузера Internet Explorer.
• Сохранить копию – полезна при работе с XPS-файлами через Интернет. С ее помощью можно сохранить копию XPS-файла на вашем компьютере.
• Разрешения – позволяет указать пользователей, которые могут получить доступ к данному XPS-файлу на основе сетевой учетной записи пользователя или учетной записи. NET Passport пользователя.
• Цифровые подписи – дает возможность подписать данный XPS-файл своим сертификатом (если, конечно, он у вас есть).
...
Примечание
В дальнейшем предполагается разработка возможности подписи XPS-документов с помощью DRM.
Печать с помощью обычного принтера
Печать с помощью обычного принтера выполняется так же, как и с использованием стандартных принтеров операционной системы Windows Vista. Только, естественно, результатом печати будет не файл, а напечатанное на бумаге изображение.
Еще одним отличием работы с данным видом принтеров является то, что задания печати, создаваемые для обычных принтеров, сначала заносятся в очередь печати (окно очереди печати автоматически отображается при выполнении печати). Очередь печати представляет собой набор заданий от пользователей, которые ждут выполнения на принтере. С помощью программы очереди печати вы можете изменять приоритет заданий, удалять задания из очереди либо просматривать сами задания (какие файлы распечатываются).
...
Примечание
Открыть очередь печати принтера можно с помощью команды rundll32.exe printui.dll. PrintUIEntry/n «имя принтера»/о.
В данном разделе мы не будем рассматривать печать с помощью команды Печать меню Файл различных программ – это не должно вызывать затруднений. Вместо этого мы рассмотрим примеры печати и работы с принтерами с помощью различных программ командной строки.
...
Примечание
Получить доступ к содержимому очереди печати можно также с помощью класса Win32_PrintJob репозитария CIM. Класс принадлежит пространству имен \root\cimv2 и определяет экземпляры, хранящие сведения о заданиях, находящихся в очереди печати. Он поддерживает следующие свойства: DataType (определяет формат данных данного задания на печать), Document (указывает название печатаемого документа). HostPrintQueue (определяет имя компьютера, пославшего задание на печать), Name (ключевое свойство, определяющее название данного задания), Priority (указывает приоритет задания), Size (определяет размер документа, переданного на печать), StartTime (указывает время начала выполнения данного задания), TotalPages (определяет количество страниц задания), UntilTime (указывает время, после которого данное задание будет недействительным).
Класс также поддерживает методы Pause и Resume, позволяющие приостанавливать работу задания.
Печать с помощью команд rundll32.exe
Вы можете выполнить печать документа не только с помощью оболочки или программ командной строки, но и с помощью команд rundll32.ехе:
• rundll32.exe mshtml, PrintHTML «путь к печатаемому файлу» – распечатать документ;
• rundll32.exe shimgvw.dll, ImageView PrintTo /pt «имя файла изображения» %2 %3 %4 – распечатать изображение.
Читать дальше
Конец ознакомительного отрывка
Купить книгу