RequestPrinterStatus

Processamento e impressão

Descrição

Utilize esta função para ativar um sistema de impressão alternativo que permite devolver o estado da impressora. Muitos dos códigos de estado devolvidos são fornecidos pelo controlador, pelo que não é garantido que os valores contenham informações significativas para todas as impressoras

O primeiro passo consiste em chamar esta função com StatusCommand=101 para ativar a monitorização do estado da impressora. Opcionalmente, a tarefa de impressão pode ser iniciada no estado de pausa chamando novamente esta função com StatusCommand=103. Isto pode ser necessário para tarefas de impressão pequenas que, de outro modo, terminariam antes de ser possível ler o estado

Em seguida, a tarefa de impressão pode ser iniciada normalmente com uma das funções de impressão: PrintDocument, PrintDocumentToFile ou

PrintDocumentToPrinterObject.

Depois de a tarefa de impressão começar, esta função pode ser novamente invocada várias vezes para obter ao longo do tempo o estado da impressora relativo à tarefa. Se a tarefa tiver sido iniciada no estado de pausa, a impressão efetiva só começará quando esta função for invocada com StatusCommand=402

Sintaxe

Delphi

Function TPDFlib.RequestPrinterStatus(StatusCommand: Integer): Integer;

ActiveX

Function PDFlib::RequestPrinterStatus(StatusCommand As Long) As Long

DLL

int DLRequestPrinterStatus(int InstanceID, int StatusCommand);

Parâmetros

StatusCommand100 = Desativar a monitorização do estado da impressora. 101 = Ativar a monitorização do estado da impressora. 102 = Devolve 1 se a monitorização do estado da impressora estiver ativa. 103 = Iniciar o trabalho de impressão em estado pausado. 104 = Iniciar a impressão imediatamente. 105 = Devolve 1 se o trabalho de impressão for iniciado no estado pausado. 200 = Devolve 1 se existirem dados do trabalho de impressão. 201 = Devolve o Windows Spooler JobID. 202 = Devolve a prioridade do trabalho, de 1 a 99. 203 = Devolve a posição do trabalho na fila de impressão. 204 = Devolve a contagem total de páginas. 205 = Devolve o número de páginas que foram impressas. Geralmente é zero se o tipo de dados for "RAW". 206 = Devolve o número de milissegundos desde que o trabalho de impressão foi iniciado. 207 = Devolve o tipo de dados do trabalho de impressão Devolve 1 se o tipo de dados contiver "RAW" Devolve 2 se o tipo de dados contiver "EMF" Devolve 3 se o tipo de dados contiver "TEXT" Devolve 4 se o tipo de dados contiver "XPS" 300 = Devolve o estado codificado do trabalho. 301 = Devolve 1 se o trabalho estiver pausado. 302 = Devolve 1 se houver um erro. 303 = Devolve 1 se o trabalho estiver a ser eliminado. 304 = Devolve 1 se o trabalho estiver em spooling. 305 = Devolve 1 se o trabalho estiver a ser impresso. 306 = Devolve 1 se a impressora estiver offline. 307 = Devolve 1 se a impressora estiver sem papel. 308 = Devolve 1 se o trabalho tiver sido impresso. 309 = Devolve 1 se o trabalho tiver sido eliminado. 310 = Devolve 1 se o driver não puder imprimir o trabalho de impressão. 311 = Devolve 1 se a impressora tiver um erro que exija a intervenção do utilizador. 312 = Devolve 1 se o trabalho tiver sido reiniciado. 313 = Para o Windows XP e posterior, devolve 1 se o trabalho tiver sido enviado para a impressora (o trabalho pode ainda não ter sido impresso). 314 = Para o Windows Vista e posterior, devolve 1 se o trabalho tiver sido retido na fila de impressão e não puder ser eliminado. 401 = Pausar o trabalho de impressão. 402 = Retomar um trabalho de impressão pausado. 403 = Eliminar o trabalho de impressão