Gerar arquivo de impressão

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Gerar arquivo de impressão

Mensagem por Pablo César »

No tópico do Leonardo, menciona o uso da função do xHarbour oPrinter:setfont. E foi mencionado este recurso na seção do Clipper no seguinte tópico:

https://pctoledo.org/forum/viewto ... bour#24721

A minha pergunta basea-se nesta função oPrinter:setfont('Courier New',,11,,,,255). É possível direcionar o resultado resultante dessa função em arquivo. Isto é, gerar um arquivo de impressão (arquivo texto) e obter como string o resultado dessa função ?. Ou esta função só tem efeito para comandar a impressora diretamente ?.

Alguém poderia me explicar de como funcionaria ?
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Mensagem por MARCELOG »

Caro Pablo, infelizmente não.
Com certeza já ouviu falar os arquivos rtf e mesmo páginas html, etc..
Eles são arquivos txt com comandos especiais que são interpretados pelos softwares que suportam a linguagem.
Prá conseguir um negrito ou uma fonte maior num dos tipos mencionados é só colocar o comando no arquivo texto e pronto.
Contudo, para impressão a coisa muda.
O software que "lê" o rtf não imprime o arquivo texto que o originou, mas "repinta" a imagem produzida numa área da memória ou metafile.
Essa área da memória ou metafile, ponto a ponto, é enviada para a impressora que faz o serviço de impressão.
Vá no wordpad, escreva alguma bobagens em tamanho e fontes diferentes e grave o arquivo como rtf. Imprima se quiser.
Depois, através do edit, abra esse arquivo, que é um arquivo texto com extensão rtf e veja que para definir fonte, tabulação, papel, etc., foram usados comandos (ou diretivas) especiais.
Se você imprimir esse arquivo pelo edit, não vai sair igual ao do wordpad. Sacou?

MarceloG
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Ahhh entendí Marcelo. Esses resultados então seriam enviados diretamente a impressora e tais instruções são extremamente complexos e grandes que permite a impressão com formatação puramente gráfica. Em outras palavras: é feita a impressão letra a letra ponto a ponto (mais ou menos isso).

Então se quizermos imprimir em modo não gráfico, iremos precisar dos comandos de formatação da própria impressora e não temos como escapar disso.

Obrigado Marcelo, pelo seu esclarecimento.
Responder