Как распечатать файл на указанном c принтере? - PullRequest
0 голосов
/ 13 марта 2020

Я хочу напечатать свой файл на указанном c принтере. Однако он всегда выбирает один и тот же принтер для работы. Я использую Spire.Pdf; для. NET. Мой код выглядит следующим образом:

[...]
     PdfDocument pdf = new PdfDocument();
     pdf.LoadFromFile(path);
     pdf.PrintSettings.PrinterName = "HP";

     pdf.Print();
     pdf.Dispose();
[...]

У меня есть два принтера. Один из них называется «EPSON L310 Series», другой - принтер «HP». Даже если я установлю pdf.PrintSettings.PrinterName = "HP";, он выберет «EPSON L310 Series» для задания на печать.

My printers, the HP is selected by default in the dialog

Как видите, в диалоговом окне печати по умолчанию выбрано «HP».

1 Ответ

0 голосов
/ 13 марта 2020

Вы не можете надежно управлять выходным принтером из программы.

В лучшем случае вы можете показать диалоговое окно печати, где пользователь может переопределить выходной принтер на этот раз.

Вы можете назвать как ты. Можно даже получить все принтеры по имени: Как получить список всех принтеров на компьютере Однако в этот момент вы в основном заново изобретаете диалоговое окно печати. ​​

Также обратите внимание что технически это не принтеры. Это печать очередей . Для такого простого случая это может не иметь значения. Но как только вы попадаете в более мелкие детали, такие как «Несколько принтеров» в очереди, это имеет значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...