Печать PDF-файлов с измененными настройками принтера по умолчанию - PullRequest
4 голосов
/ 01 августа 2011

Google / Bing не нашел решения моей следующей проблемы, надеюсь, кто-нибудь может мне помочь:

Мы должны напечатать различные файлы PDF в нашей программе на C #. Прежде чем мы сможем печатать, мы должны настроить принтер, например, установка ориентации на ландшафт.

Я пытался изменить настройки принтера по умолчанию, например, как это:

PrinterSettings settings = new PrinterSettings();
settings.PrinterName = "\\\\SomeNetworkPrinter\\";
settings.DefaultPageSettings.Landscape = true;
settings.Duplex = Duplex.Horizontal;

Мы отправляем PDF на принтер через PDFSharp, который в основном работает, но мои настройки полностью игнорируются. Разве нельзя изменить настройки принтера по умолчанию таким образом? Есть ли у нас шанс изменить настройки и распечатать наши PDF-файлы?

Большое спасибо заранее!

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Чтобы ответить на мой собственный вопрос ...

После 3 дней проб и ошибок, я не думаю, что есть какая-либо возможность настроить принтер через .NET и впоследствии распечатать PDF-файлы. Вы не можете использовать класс System.Drawing.Printing.PrintDocument в сочетании с PDF-файлами, но использование PrintDocument представляется необходимым условием для изменения настроек принтера.

Мое решение по настройке принтера было вдохновлено этим сообщением на codeplex: http://www.codeproject.com/KB/dotnet/NET_Printer_Library.aspx

Чтобы напечатать PDF-файл, я отправляю его через параметры командной строки в Adobe Reader.

1 голос
/ 01 августа 2011

Нет, я не думаю, что это сработает.

Вы создаете локальный PrinterSettings объект, который можно использовать для настройки PrintDocument, который, в свою очередь, можно отправить на принтер с помощью PrintDocument.Print().

Если вы обращаетесь к PDFSharp для организации печати, он будет использовать любые настройки принтера по умолчанию, если только вы не передадите свой PrinterSettings в PDFSharp через API?

Если вы можете опубликовать код, который вы используете для вызова PDFSharp, это поможет выяснить, как это сделать.

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