Как печатать на microsoft xps document writer

Откуда:
Сообщений: 190

Windows XP SP3; .NET Framework 3.5 SP1; Microsoft Office 2007; C#.

При попытке распечатать файл через принтер "Microsoft XPS Document Writer" пользователю выводится диалоговое окно "Save the file as", в котором он должен ввести имя XPS-файла. Что нужно сделать, чтобы принтер сразу печатал в какой-либо файл без запроса у пользователя имени файла?

Например, для принтера "Microsoft Office Document Image Writer" после записи в ключе реестра "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\MODI\MDI writer" в параметр "OpenInMODI" значения "0", принтер начинает печатать в файл "Note.tif" без запроса имени файла у пользователя. Может быть можно сделать что-то аналогичное и для принтера "Microsoft XPS Document Writer"?

Re: Печать через "Microsoft XPS Document Writer" без запроса имени файла у пользователя [new]

Откуда:
Сообщений: 190

Сам механизм XPS-печати включает 2 компонента: XPS-принтер и XPS-порт (так и называется XPSPort — можете посмотреть в свойствах принтера) — последний делает ровно одну вещь, записывает получившийся XPS-документ в файл (причем от XPS-принтера идет уже полноценно сериализованный XPS). Отсюда получается важное следствие: если направить вывод в стандартный порт типа FILE, или даже сделать локальный порт, то можно записывать файлы по своему желанию.
Остается проблема всплывающего окошка. К сожалению, единственный способ без разработки, который был найден — это создавать на основе стандартного драйвера свой тип принтера, взяв стандартный интерфейсный модуль, стандартный драйвер.
В прикреплённом файле находятся необходимые файлы для установки принтера. После установки принтера необходимо в свойствах принтера задать вывод в локальный файловый порт, предварительно создав его.
Все, после этого можно печатать через новый принтер в заданный файл без запроса имени файла.

К сообщению приложен файл (XPS Printer Driver.zip — 2Kb) cкачать



как печатать на microsoft xps document writer:Откуда: Сообщений: 190 Windows XP SP3; .NET Framework 3.5 SP1; Microsoft Office 2007; C#. При попытке распечатать файл через принтер "Microsoft XPS Document Writer" пользователю