none
Как заставить принтер "Microsoft XPS Document Writer" печатать в файл без запроса у пользователя имени файла RRS feed

  • Вопрос

  • 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"?

    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:04 MSDN Forums consolidation (От:Разработка Windows-приложений)
    12 августа 2010 г. 13:27

Ответы

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

    http://files.rsdn.ru/29231/driver.zip

    • Помечено в качестве ответа I.Vorontsov 24 августа 2010 г. 5:29
    19 августа 2010 г. 13:32