Почему печать 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
Поместите свой код в блок кода, чтобы сделать его читаемым.