В настоящее время я разрабатываю службу, которая отправляет файл PDF на сетевой принтер и эффективно печатает его с использованием библиотеки C# и .Извлечение документов, распечатанных с помощью принтера C#
Но теперь я действительно придерживаюсь следующего (и последнего) шага, который я хочу сделать. Мне нужно знать, что файл был действительно напечатан. Я попробовал все, что мог (например, я попытался реализовать этот powershell script, но я не знаком вообще с powershell, и я впал в депрессию, так как у меня слишком много ошибок, которые я не могу решить), но я не могу найти ответ.
Есть ли способ использовать C# (любую библиотеку) для извлечения, если документ был напечатан. Или вы можете распечатать весь журнал документов? Любой скрипт, который я могу вызвать через C# (или нет, я могу обойти это), который сообщает мне необходимую мне информацию?
Я хотел бы добавить, что у меня есть доступ к принтеру, используя библиотеку System.Drawing.Printing следующим образом:
var printServer = new PrintServer();
var myPrintQueues = printServer.GetPrintQueues(new[] { EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections });
foreach (PrintQueue pq in myPrintQueues)
{
pq.Refresh();
string printerName = "ES7470 MFP(PCL)";
if (!pq.Name.ToUpper().Contains(printerName.ToUpper())) break;
PrintJobInfoCollection jobs = pq.GetPrintJobInfoCollection();
//And here I can use pq or jobs but I can't retrieve the log at all.
}