RequestPrinterStatus
Рендеринг і друк
Опис
Ця функція вмикає альтернативну систему друку, яка дозволяє отримувати стан принтера. Багато кодів стану постачає драйвер принтера — гарантії, що значення міститимуть осмислену інформацію для всіх принтерів, немає
Перший крок — викликати цю функцію з StatusCommand=101, щоб увімкнути моніторинг стану принтера. За бажанням завдання друку можна запустити в стані паузи, викликавши функцію знову з StatusCommand=103. Це може бути потрібно для малих завдань, які інакше завершилися б раніше, ніж вдасться прочитати стан
Тоді завдання друку можна запустити як зазвичай однією з функцій друку: PrintDocument, PrintDocumentToFile чи
PrintDocumentToPrinterObject.
Після запуску завдання друку цю функцію можна викликати неодноразово, щоб отримувати стан принтера для завдання в часі. Якщо завдання запущене в стані паузи, фактичний друк почнеться лише після виклику з StatusCommand=402
Синтаксис
Delphi
Function TPDFlib.RequestPrinterStatus(StatusCommand: Integer): Integer;
ActiveX
Function PDFlib::RequestPrinterStatus(StatusCommand As Long) As Long
DLL
int DLRequestPrinterStatus(int InstanceID, int StatusCommand);
Параметри
| StatusCommand | 100 = вимкнути моніторинг стану принтера 101 = увімкнути моніторинг стану принтера 102 = повертає 1, якщо моніторинг стану принтера активний 103 = запустити завдання друку в стані паузи 104 = розпочати друк негайно 105 = повертає 1, якщо завдання друку запускатиметься в стані паузи 200 = повертає 1, якщо дані завдання друку існують 201 = повертає Windows Spooler JobID 202 = повертає пріоритет завдання від 1 до 99 203 = повертає позицію завдання в черзі друку 204 = повертає загальну кількість сторінок 205 = повертає кількість надрукованих сторінок; зазвичай нуль, якщо тип даних "RAW" 206 = повертає кількість мілісекунд від запуску завдання друку 207 = повертає тип даних завдання друку Повертає 1, якщо тип даних містить "RAW" Повертає 2, якщо тип даних містить "EMF" Повертає 3, якщо тип даних містить "TEXT" Повертає 4, якщо тип даних містить "XPS" 300 = повертає закодований стан завдання 301 = повертає 1, якщо завдання на паузі 302 = повертає 1, якщо є помилка 303 = повертає 1, якщо завдання видаляється 304 = повертає 1, якщо завдання спулиться 305 = повертає 1, якщо завдання друкується 306 = повертає 1, якщо принтер офлайн 307 = повертає 1, якщо в принтера скінчився папір 308 = повертає 1, якщо завдання надруковано 309 = повертає 1, якщо завдання видалено 310 = повертає 1, якщо драйвер не може надрукувати завдання 311 = повертає 1, якщо принтер має помилку, що вимагає дій користувача 312 = повертає 1, якщо завдання перезапущено 313 = у Windows XP і новіших — повертає 1, якщо завдання надіслано на принтер (може ще не бути надрукованим) 314 = у Windows Vista і новіших — повертає 1, якщо завдання утримується в черзі друку і його не можна видалити 401 = поставити завдання друку на паузу 402 = відновити завдання друку з паузи 403 = видалити завдання друку |
|---|