Как распечатать PDF-файл на принтере, отличном от принтера по умолчанию - PullRequest
3 голосов
/ 29 февраля 2012

Я использовал этот код для печати PDF-файла из программы Acrobat Reader.

private void SendToPrinter()
{
    ProcessStartInfo info = new ProcessStartInfo();
    info.Verb = "print";
    info.FileName = @"c:\output.pdf";
    info.CreateNoWindow = true;
    info.WindowStyle = ProcessWindowStyle.Hidden;

    Process p = new Process();
    p.StartInfo = info;
    p.Start();

    p.WaitForInputIdle();
    System.Threading.Thread.Sleep(3000);
    if (false == p.CloseMainWindow())
        p.Kill();
}

Однако он печатается через принтер по умолчанию.

Как выбрать принтер для отправки?default.

Я пробовал использовать свойство ex: info.Arguments, но это не работает.

Ответы [ 2 ]

3 голосов
/ 29 февраля 2012

Используйте аргумент командной строки / t, чтобы заставить Adobe использовать определенный принтер:

AcroRd32.exe /t path "printername" "drivername" "portname"

См. FAQ для разработчиков PDF для получения дополнительной информации: http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/intro_to_sdk/DeveloperFAQ.pdf

1 голос
/ 29 февраля 2012

Как насчет использования "printto" глагол ?Pasing "\\\server\printer" для info.Arguments

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