. Net Core 2 Web API: параметры доступа к принтеру XY недействительны - PullRequest
0 голосов
/ 27 февраля 2020

Я хочу напечатать документ pdf автоматически на указанном c принтере, не открывая диалоговое окно, поскольку это служба, отправляющая задание на печать.

Я попробовал следующий код в моем. Net Базовый веб-API, но безуспешно:

PrintDocument pd = new PrintDocument();          
pd.DocumentName = @"C:\Temp\testfile.pdf";              
pd.PrinterSettings.PrinterName = @"\\PrintserverXY\PrinterX";            
pd.PrintController = new StandardPrintController();
pd.PrinterSettings.Copies = 1;
pd.Print();

При выполнении команды pd.Print () появляется сообщение об ошибке: « Параметры доступа к принтеру PrinterX» недействительны"occures.

У меня есть разрешение на печать на принтере, так что это не проблема.

На других форумах я уже читал о том, чтобы остановить олицетворение, но я не знаю, как я может сделать это в. Net Core 2.

Кажется, что-то вроде этого:

using (WindowsImpersonationContext wic = WindowsIdentity.Impersonate(IntPtr.Zero)) 
{
     //code to send printdocument to the printer
}

Но это не может быть сделано в. Net Core, так как синтаксис изменился, и у меня есть понятия не имею, как это сделать.

Я не могу найти решение, я пробовал это с PdfiumViewer, это работает хорошо, но не работает в. Net Core 2.

Спасибо за любую помощь

...