Подавление диалогового окна «Сохранить как» в Microsoft XPS Document Writer при преобразовании GDI в XPS

В своей записи в блоге Печать документов в Microsoft XPS Document Writer без взаимодействия с пользователем Фэн Юань говорит

Если вы печатаете из собственных приложений, легко указать MXDW в качестве драйвера принтера и указать имя файла для документа XPS, который будет сохранен в

Может ли кто-нибудь объяснить, как это сделать, и предоставить образец кода?

Основная проблема, с которой я столкнулся, - это подавление диалогового окна «Сохранить как», которое появляется в Microsoft XPS Document Writer. Мне не нравится прибегать к взлому пользовательского интерфейса, как это делает Юань в своем посте.

В настоящее время мое приложение делает вызовы рисования GDI в контексте устройства того принтера, который пользователь хочет использовать. Я могу делать эти вызовы в XPS Document Writer в порядке, но когда приходит время завершить печать, XPS Writer выдает диалоговое окно «Сохранить как».


person Frank    schedule 01.05.2009    source источник


Ответы (4)


Действительно, тот же автор дает ответ Печать в Microsoft XPS Document Writer без показывает диалоговое окно "Сохранить файл". Решение состоит в том, чтобы распечатать в файл с помощью принтера Microsoft XPS Document Writer.

person Frank    schedule 04.05.2009

И если вы хотите избежать попадания в файловую систему своим документом XPS, Шахед Кан дает образец кода в Загрузка Xps из MemoryStream.

person marklam    schedule 01.05.2009

Вот что мне подходит:

  With Me.PrintDocument
     With .PrinterSettings
        .PrinterName = "Microsoft XPS Document Writer"
        .PrintToFile = True
        .PrintFileName = "c:\test.xps"
     End With
    .Print()
  End With

Насколько мне известно, это недокументировано. Попробуйте, и вы не увидите ужасного диалогового окна «Сохранить как». Вместо этого вы получаете чистый файл XPS, сгенерированный MXDW (c: \ test.xps).

person emtipace    schedule 16.08.2010

Просто удалите и переустановите Microsoft XPS Document Writer, во время переустановки выполните следующие действия.

Зайдите в Пуск - Панель управления - Добавить новый принтер. Затем выберите «Локальный принтер» и «Создать новый порт». Выберите Локальный порт в поле со списком. Появится диалоговое окно с запросом имени порта. Чтобы наш драйвер XPS печатал в указанный файл, не спрашивая у пользователя местоположение, укажите полный путь к этому выходному файлу. В данный момент этот файл может не существовать (например, c: \ mydriveroutput.xps).

Подробности см. По этой ссылке: https://kibitzercz.blogspot.in/2012/01/building-and-using-xpsdrvsmpl-under.html

person A Mohudum Kamil    schedule 25.04.2018