Печать IIS7.5 Excel не работает при запуске с сервера - PullRequest
0 голосов
/ 07 октября 2011

У меня возникают проблемы при создании PDF-файла с помощью PDFCreator из макроса Excel (с использованием VB.NET 3.5 и Interop).Через вход в систему Windows в качестве пользователя домена я могу запустить макрос напрямую из Excel, и все работает нормально (PDF-файл распечатывается и сохраняется), но при публикации и запуске от имени того же пользователя с сервера принтер не найден.

В макросе, который я знаю, это можно решить, установив Application.ActivePrinter (в моем случае «PDFCreator on Ne00:»), который снова работает, когда я запускаю напрямую из Excel, но не с сервера.Так что мне интересно, как сделать возможным установить ActivePrinter при работе на сервере?

Работало с предыдущей версией IIS на сервере (6.0).Я попытался дать права доступа пользователя домена (например, в DCOMCNFG), PDFCreator настроен правильно и доступно, не знаю, как к этому подойти.

Ответы [ 2 ]

0 голосов
/ 08 мая 2015

Это работает даже в IIS8 также.Предоставьте приложению Microsoft Excel достаточные разрешения от DcomConfig (например, IIS_IUSRS, сетевые службы и т. Д.)

позаботьтесь о олицетворении идентификатора пользователя и пароля, предоставленных в Web.xml.не делайте это правдой, если не нужно.у меня сработало, когда я это убрал.

0 голосов
/ 08 октября 2011

Использование Office Interop из серверных сценариев (IIS / ASP.NET / Windows Service ...) НЕ поддерживается MS - см. http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257757#kb2

Еще один момент заключается в том, что с момента появления Windows было несколько изменений, связанных с безопасностью, которые не позволяют выполнять какие-либо "настольные" действия (например, печать ...) из службы Windows ...

Альтернатива Interop:

Для создания PDF из файла Excel существует несколько библиотек, которые не используют Excel и отлично работают в серверных сценариях - например, Flexcel , Aspose.Cells , SpreadsheetGear ...

...