Página 1 de 1

Imprimir em 8 linhas por polegada em WIN32PRN

Enviado: 14 Jul 2009 17:53
por locio
Estou convertendo um Programa de Folha de Pagamento e estou utilizando WIN32PRN conjuntamente com o PDFCREATOR para as minhas impressoes. Ocorre que preciso imprimir os Comprovantes de Pagamento em 8LPP e com o comando que eu normalmente uso ( ?? chr(27)+chr(48) ) não estou conseguindo. Alguem pode me dizer como proceder para ativar o modo de 8LPP em WIN32PRN

Lócio

Re: IMPRIMIR EM 8 LINHAS POR POLEGADA EM WIN32PRN

Enviado: 14 Jul 2009 18:42
por sygecom
Post como esta fazendo para imprimir na Win32prn e se esta usando xHarbour ou Harbour e qual versão !

Nota: Apenas para lembrar duas coisas quando se esta usando o PDFCREATOR para simular a visualização da impressão:
1º- Sempre que você manda imprimir uma folha com duas copias pela WIN32PRN+PDFCREATOR a mesma visualiza e simula a impressão de apenas uma copia, parecendo que o problema é na win32prn e não verdade não é pq se imprimir em uma impressora real funciona perfeitamente.
2º-Outro problema é o uso de: oprinter:SetPrintQuality(-1) ,o uso desse comando pode afetar em outros como o tamanho da pagina e impressão de imagens onde sai tudo errado.

Re: IMPRIMIR EM 8 LINHAS POR POLEGADA EM WIN32PRN

Enviado: 14 Jul 2009 22:32
por Hasse
Boa noite Lócio.

1)-Para setar a altura da fonte usamos a função:
oPrinter:SetFont( 'Courier New',12,{1,10} ), onde o valor 12 representa a altura da fonte (da linha) e o valor 10 a largura da fonte em CPI. Só um detalhe: Aumentando o valor da altura da fonte (12) aumenta o tamanho da fonte e da linha.

2)-Teste o valor 18 para a altura da fonte, e 8 para a largura da fonte.

3)-Só para deixar bem claro que se você for imprimir para impressoras matriciais o trabalho vai ser muito lento já que a impressão se faz em modo gráfico. Neste caso é melho você imprimir para arquivo txt e depois usar usar a função PrintFileRaw() (se não me engano). Pesquise no Fórum que você encontra.

4)-A função oPrinter:SetPrintQuality() seta a qualidade de impressão, porém, dependendo da impressora você pode ter resultados diferentes, mas que podem ser superados, verificando antes, o número de pixels usados pela impressora em uma determinada qualidade. Os valores de "n" do SetPrintQuality( n ) vão desde -1 (qualidade fotográfica), até -4 (modo rascunho). Já tive alguns problemas quando desenvolvi impressos para Epson e depois tive que migrar para a HP. A HP tem uns faniquitos incompreensíveis.

5)-Os comandos de impressora, tipo "( ?? chr(27)+chr(48) )" não funcionam na Classe Win32prn(), justamente porque a impressão se dá em modo gráfico, e não mais em modo caractérico. Quando preciso de impressos em modo caractérico, abro a opção de imprimir em modo gráfico (win32prn()) ou em modo caractérico (Lpt1:), eu desvio para as respectivas rotinas desenvolvidas específicamente para cada modo.

6)-Algumas dúvidas podem ser esclarecidas visitando o tópico:
viewtopic.php?f=4&t=6465&st=0&sk=t&sd=a&hilit=win32prn+para+iniciantes