Ema112 Ответов: 0

Почему печать pdf не работает на хостинге в IIS?


Почему печать pdf не работает на хостинге в IIS?

Печать PDF-файлов прекрасно работает при запуске в качестве приложения . Но как только то же самое размещено в IIS на той же машине, печать не работает. У меня есть права администратора. Никаких проблем не видно.

Process printPdf = new Process();
                printPdf.StartInfo = infoPrintPdf;
                printPdf.Start();

                // This time depends on the printer, but has to be long enough to
                // let the printer start printing
                System.Threading.Thread.Sleep(10000);

                if (!printPdf.CloseMainWindow())              // CloseMainWindow never seems to succeed
                    printPdf.Kill(); printPdf.WaitForExit();  // Kill AcroRd32.exe

                printPdf.Close();  // Close the process and release resources

                Response.Write("Success");


Что я уже пробовал:

Код выглядит следующим образом:
Process printPdf = new Process();
                printPdf.StartInfo = infoPrintPdf;
                printPdf.Start();

                // This time depends on the printer, but has to be long enough to
                // let the printer start printing
                System.Threading.Thread.Sleep(10000);

                if (!printPdf.CloseMainWindow())              // CloseMainWindow never seems to succeed
                    printPdf.Kill(); printPdf.WaitForExit();  // Kill AcroRd32.exe

                printPdf.Close();  // Close the process and release resources

                Response.Write("Success");

ZurdoDev

Этот код будет выполняться на сервере. Это значит, что AcroRd32.exe должно быть, на сервере. Это также означает, что учетная запись в пуле приложений в IIS должна иметь достаточные разрешения.

Richard Deeming

Как и в случае с ваш предыдущий вопрос[^], пул приложений должен быть запущен как учетная запись пользователя, для которой настроен целевой принтер.

Вам нужно будет либо войти на сервер под учетной записью AppPool и настроить принтеры, либо скопировать некоторые ключи реестра.

И, как сказал Райан, печать произойдет на сервере, поэтому не ожидайте, что документ появится на принтере клиента!

Philippe Mori

Поместите свой код в блок кода, чтобы сделать его читаемым.

0 Ответов