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);

参数

StatusCommand100 = 关闭打印机状态监视。101 = 开启打印机状态监视。102 = 如果打印机状态监视处于活动状态,则返回 1。103 = 以暂停状态启动打印作业。104 = 立即开始打印。105 = 如果打印作业将以暂停状态启动,则返回 1。200 = 如果存在打印作业数据,则返回 1。201 = 返回 Windows Spooler JobID。202 = 返回作业优先级,范围为 1 到 99。203 = 返回作业在打印队列中的位置'。204 = 返回总页数。205 = 返回已打印页数。如果数据类型为 "RAW",该值通常为零。206 = 返回打印作业启动后经过的毫秒数。207 = 返回打印作业数据类型 如果数据类型包含 "RAW",则返回 1 如果数据类型包含 "EMF",则返回 2 如果数据类型包含 "TEXT",则返回 3 如果数据类型包含 "XPS",则返回 4。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 = 删除打印作业