Кто-нибудь знает, можно ли сохранить задание на печать с помощью Microsoft Print Spooler API?Microsoft Print Spooler API - сохранить задание на печать?
Я хотел был бы удержать его перед отправкой на принтер.
Возможно ли это?
Кто-нибудь знает, можно ли сохранить задание на печать с помощью Microsoft Print Spooler API?Microsoft Print Spooler API - сохранить задание на печать?
Я хотел был бы удержать его перед отправкой на принтер.
Возможно ли это?
Это зависит от того, сколько у вас контроля над процессом печати. Команда SetJob позволяет вам приостановить отдельное задание, но вам нужно будет войти, прежде чем какие-либо данные будут потенциально отправлены из порта на принтер.
Когда приложение печатает задание нормальный путь печати идет Somthing как
Если вы можете получить команду SetJob перед первым трактом WritePrinter, вы сможете приостановить задание до отправки любых данных на устройство.
К сожалению, если вы используете что-то вроде класса C# PrintDocument, он скрывает большую часть этого и не предоставляет никакого способа получить параметр JobId и дескриптор принтера, который вам нужно будет вызвать командой SetJob.
Если вы используете AddJobW() и ScheduleJob(), то да.
AddJobW() создает задание, а ScheduleJob() запускает его. (Для образца кода см here.)
Итак ...
System.Printing.PrintQueue.Pause() - это то, что вы получили. Вам придется с этим справиться. –