Fórum Imprimir arquivo direto para impressora #299665
17/10/2005
0
Estou precisando imprimir alguns páginas que foram copiadas da internet e quando tem relação com o produto que estiver indicado ela seja impressa automamticamente, já pesquisei aqui e encontrei algumas formas, mas elas não me ajudaram muito, não sei se eu que errei na forma ou na escrita dos comandos.
Tentei essas formas:
AssignPrn(´c:\meus documentos\registros\869.htm´,´lpt1´);
AssignPrn(´c:\meus documentos\registros\869.htm´);
AssignFile(´c:\meus documentos\registros\869.htm´,´lpt1´);
AssignFile(nomearquivo,´lpt1´);
sendo indicado uma variável nomearquivo como textfile e indicado o nome e local do arquivo desejado.
Visto que foi indicado a unit printers para as tentativas, ele não aceitou os comandos, uma hora dizendo que era tipo incompatível, faltava parâmetros, mas as formas que eu peguei e me informaram só tinha que indicar o nome do arquivo.
Agradeço antecipadamente qualquer ajuda.
Sandro
Salupe
Curtir tópico
+ 0Posts
17/10/2005
Massuda
Acho que o jeito mais simples para imprimir arquivos HTML é pedir para o Internet Explorer imprimir esses arquivos; Dê uma olhada [url=http://www.scalabium.com/faq/dct0127.htm]neste exemplo[/url] (em inglês).
Gostei + 0
17/10/2005
Salupe
Uma outra coisa, tem como eu fazer essa impressão ficar em paisagem em vez de retrato.
procedure TENTRELREGISTROS.PrintHTMLByIE(const url: string);
const
OLECMDID_PRINT = $00000006;
OLECMDEXECOPT_DONTPROMPTUSER = $00000002;
var
ie, vaIn, vaOut: Variant;
begin
ie := CreateOleObject(´InternetExplorer.Application´);
ie.Navigate(url); // neste ponto que dá o erro.
ie.Visible := True;
ie.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
end;
saberia me dizer o porque.
Gostei + 0
17/10/2005
Massuda
... ie.Visible := True; while ie.Busy do begin // espera carregar a página Sleep(100); end; ie.ExecWB(...
Não sei como faria para imprimir a página em paisagem ao invés de retrato.
Gostei + 0
17/10/2005
Salupe
Gostei + 0
17/10/2005
Massuda
Gostei + 0
17/10/2005
Salupe
´Tentando revogar um destino ignorado que nao foi revogado´.
O que pode ser isso?
Agradeço antecipadamente qualquer ajuda.
Gostei + 0
17/10/2005
Massuda
Gostei + 0
18/10/2005
Salupe
ele ainda fala que ´foi revogado´.
será que alguem poderia me dizer qual a utilidade desses números na rotina, o que eles querem fazer.
OLECMDID_PRINT = $00000006;
OLECMDEXECOPT_DONTPROMPTUSER = $00000002;
será que não são eles que estão dando o problema.
Agradeço antecipadamente qualquer ajuda.
Gostei + 0
18/10/2005
Massuda
Gostei + 0
18/10/2005
Massuda
... const OLECMDID_PRINT = $00000006; OLECMDEXECOPT_PROMPTUSER = $00000001; OLECMDEXECOPT_DONTPROMPTUSER = $00000002; var ie, vaIn, vaOut: Variant; begin ie := CreateOleObject(´InternetExplorer.Application´); ie.Navigate(url); ie.Visible := True; while ie.Busy do begin // espera carregar a página Sleep(100); end; ie.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut); end;
Gostei + 0
18/10/2005
Salupe
tentei vários formatos a nova rotian que você passou e mesmo assim não funcionou. Aliás agora piorou, na primeira vez que pede, ele indica que não pode abrir o arquivo, depois na segunda que ele foi revogado.
E eu realmente preciso fazer isso.
Existe alguma outra forma de fazer essa impressão.
Gostei + 0
18/10/2005
Massuda
Gostei + 0
18/10/2005
Dedi
Gostei + 0
18/10/2005
Firekiller
uses ShellApi;
...
ShellExecute(Handle, ´print´,
´c:\Windows\pagina.html´, nil, nil, SW_HIDE);
Gostei + 0
19/10/2005
Salupe
Obrigado pela ajuda pessoal.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)