como obter total de páginas Impressas na Impressora?
Bem pessoal, estou desenvenvolvendo um sistema de monitoramento de impressão e estou tentando obter a contagem total de páginas que já foram enviadas para impressora (relatório de impressão da impressora). O que acontece é o seguinte, eu consigo monitorar o spool de impressão do windows em cada máquina para ver os documentos que estão sendo enviados para impressora, só que se um usuário for direto na impressora e efetuar uma xerox o meu sistema não fica sabendo dessa impressão que foi efetuada. O que eu preciso é de tempos em tempos estar verificando o total de páginas impressas e subtrair pelo total de impressões que consegui obter no spool de impressão, daí tenho o número de cópias e o número de documentos impressos.
Alguém pode me ajudar ? desde já agradeço.
Carlos
c.araujosantana@gmail.com
Alguém pode me ajudar ? desde já agradeço.
Carlos
c.araujosantana@gmail.com
Carlos Santana
Curtidas 0
Respostas
Deivison Melo
14/08/2012
Boa noite Carlos,
Para trabalhar com informações da impressora você deverá adicionar no uses: Printers, depois disso terá acesso a classe TPrint.
Veja o exemplo abaixo:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Printers, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Impressora: TPrinter;
begin
Impressora.Title := Nome do relatório que está sendo impresso; //Enviar nome do relatorio impresso ao spool
end;
end.
Para ver mais métodos basta pressionar Ctrl+Espace (Acionar o Code Complete do Delphi) e você
verá todos os métodos dessa classe, veja o que vai atendê-lo e bons códigos.
Para trabalhar com informações da impressora você deverá adicionar no uses: Printers, depois disso terá acesso a classe TPrint.
Veja o exemplo abaixo:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Printers, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Impressora: TPrinter;
begin
Impressora.Title := Nome do relatório que está sendo impresso; //Enviar nome do relatorio impresso ao spool
end;
end.
Para ver mais métodos basta pressionar Ctrl+Espace (Acionar o Code Complete do Delphi) e você
verá todos os métodos dessa classe, veja o que vai atendê-lo e bons códigos.
GOSTEI 0
Deivison Melo
14/08/2012
Imagino que o que procurava está no post abaixo:
https://www.devmedia.com.br/gerenciar-administrar-fila-de-impressao/4499
Link exemplo para download:
https://www.devmedia.com.br/download/down.asp?id=4499&cb=
https://www.devmedia.com.br/gerenciar-administrar-fila-de-impressao/4499
Link exemplo para download:
https://www.devmedia.com.br/download/down.asp?id=4499&cb=
GOSTEI 0
Deivison Melo
14/08/2012
Segue mais algumas dicas de como trabalhar com impressão no Delphi
http://www.tecnobyte.com.br/dica3.html
http://www.tecnobyte.com.br/dica3.html
GOSTEI 0
Michel
14/08/2012
Bem pessoal, estou desenvenvolvendo um sistema de monitoramento de impressão e estou tentando obter a contagem total de páginas que já foram enviadas para impressora (relatório de impressão da impressora). O que acontece é o seguinte, eu consigo monitorar o spool de impressão do windows em cada máquina para ver os documentos que estão sendo enviados para impressora, só que se um usuário for direto na impressora e efetuar uma xerox o meu sistema não fica sabendo dessa impressão que foi efetuada. O que eu preciso é de tempos em tempos estar verificando o total de páginas impressas e subtrair pelo total de impressões que consegui obter no spool de impressão, daí tenho o número de cópias e o número de documentos impressos.
Alguém pode me ajudar ? desde já agradeço.
Carlos
c.araujosantana@gmail.com
Alguém pode me ajudar ? desde já agradeço.
Carlos
c.araujosantana@gmail.com
conseguiu o que vc queria carlos, tambem to procurando essa função?
GOSTEI 0