Я хочу напечатать документ 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.
Спасибо за любую помощь