Fórum Imprimir .pdf diretamente para a impressora #518383
30/04/2015
0
Agradeço a ajuda de todos,
Silvio Morelo
Curtir tópico
+ 0Posts
30/04/2015
Marisiana Battistella
Mas você pode enviar o documento para impressão e alterar a impressora por "Salvar em PDF" ou outra opção que possa existir no teu PC.
Caso não exista essa opção você tem que instalar um programa que faça isso, como, por exemplo, o PDF Creator, o Cute PDF,...
Gostei + 0
30/04/2015
Thiago Santana
Mas você pode enviar o documento para impressão e alterar a impressora por "Salvar em PDF" ou outra opção que possa existir no teu PC.
Caso não exista essa opção você tem que instalar um programa que faça isso, como, por exemplo, o PDF Creator, o Cute PDF,...
Isso mesmo, basta configurar a impressora!
Ai pode utilizar essas diversas opções existentes.
Gostei + 0
01/05/2015
Marisiana Battistella
Gostei + 0
08/05/2015
Silvio Morelo
Eu tenho um .pdf já criado "contrato de serviço" e quando meu cliente contrata um serviço preciso imprimi-lo para ser assinado. Quero fazer isso pelo próprio sistema, efetuou a compra imprimir o contrato porem ao abrir o pdf ele também abre uma instancia do adobe.
Tem como enviar este .pdf diretamente para a impressora sem abrir esta instancia, ou alguém tem uma outra dica de como fazer essa impressão?
Utilizo Delphi 7 e Firebird 2.0
Gostei + 0
08/05/2015
Marisiana Battistella
Se for isso, você teria que alterar o código para que ao invés de gerar o relatório em .pdf apenas envie o relatório para a impressora.
Assim, iria abrir a tela de edição da impressão, onde o usuário pode escolher em que impressora ele vai imprimir ou, então, pode optar por salvar em .pdf sem realizar a impressão.
Gostei + 0
11/05/2015
Silvio Morelo
O relatório (.pdf) é criado por um outra área a onde eles alteraram sempre que necessário, eu apenas pego o arquivo e mando imprimir.
Gostei + 0
20/05/2015
Ageu Luna
Você pode fazer da seguinte forma:
1- Declare "ShellApi" no uses da interface.
2- no evento OnClick de algum botão chame a função "ShellExecute(Handle, 'print', PChar('C:\Temp\ArquivoPDF.PDF'), nil, nil, SW_HIDE);"
Obs: não esqueça de substituir o arquivo que usei como exemplo 'C:\Temp\ArquivoPDF.PDF' pelo arquivo que deseja.
Gostei + 0
20/05/2015
Marisiana Battistella
Morelo, desculpa por não te responder antes, eu nem iria saber te ajudar mais pois sei muito pouco de Delphi.
Avise-nos se a solução apresentada pelo Ageu resolve o teu problema.
Gostei + 0
22/05/2015
Silvio Morelo
Obrigado pela ajuda! Eu executei o comando conforme você informou, o arquivo .pdf é impresso corretamente porem o Adobe Reader insiste em abrir, tem como imprimir o arquivo sem precisar abrir o Adobe?
Gostei + 0
24/05/2015
Ageu Luna
Realmente nos testes que realizei o adobe ainda é aberto como mencionado por você.
O que pode ser feito nesse caso é fechar o adobe pela sua aplicação. Veja o código no qual realizei alguns testes e funcionou.
ShellExecute(Handle, 'print', PChar(Edit1.Text), nil, nil, SW_HIDE);
Sleep(1000);
PostMessage(FindWindow(nil, 'Adobe Reader'), WM_CLOSE, 0, 0);
O "Edit1.Text" foi usado para o endereço do arquivo pdf.
O comando Sleep(3000), utilizei para aguardar 3 segundo até que adobe seja aberto, para posteriormente ser fechado pelo comando seguinte:
PostMessage(FindWindow(nil, 'Adobe Reader'), WM_CLOSE, 0, 0);
Obs:
Talvez seja necessário ajustar o tempo do comando "Sleep" (em milissegundos) para funcionar adequadamente.
Gostei + 0
25/05/2015
Dorivan Sousa
https://www.devmedia.com.br/forum/executar-um-comando-e-esperar-ele-ser-finalizado/135925
Gostei + 0
25/05/2015
Silvio Morelo
Obrigado.
Gostei + 0
25/05/2015
Silvio Morelo
Obrigado.
Gostei + 0
25/05/2015
Marisiana Battistella
Retorne sempre que puder! =)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)