Clipper On Line • Ver Tópico - Win32prn para Iniciantes

Win32prn para Iniciantes

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

Moderador: Moderadores

 

Win32prn para Iniciantes

Mensagempor Hasse » 03 Set 2018 19:39

Boa noite colegas.

Hoje recebi um e-mail com remetente não identificado, que faz a pergunta abaixo:

Boa Tarde,
Gostaria de saber se ha como criar um formulário usando vários BOX, para depois colocar as descrições, tenho tentado mas os box na hora da impressão, ficam se sobrepondo.


Resposta:

TODOS os BOX devem ser criados ANTES do seu preenchimento. Este é o único requisito.
Não importa quando você vai inserir o texto.
Lembrando que os BOX não são transparentes. Então um texto existente que sobreposto com o BOX fica invisível.

Numa impressão crio TODOS os BOX de uma só batelada, e só depois passo a preencher com textos.
Como exemplo, fiz a template dos BOX do boleto da CEF.
Depois passo ao seu preenchimento. E fica muito bem, e bem acabado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

Win32prn para Iniciantes

Mensagempor Ezequiel Moura » 03 Jun 2019 13:01

Pessoal , boa tarde , aproveitando o assunto , preciso de uma ajuda . Crio meus relatórios usando o win32prn , porêm quando estou logado pelo TS do windows server ( no caso 2003 ) , ele dá erro do create(), diz não conseguir criar a impressão , porem se crio o PDF ( no meu caso uso o freepdf ) , mando imprimir por ele e vai . Tem alguma dica do que possa fazer pra ir direto ?

A impressora está instalada na maquina local e entra como default quando logo pela Conexão da Area Remota. Funciona normalmente pra qual impressão fora do programa .

Desde já agradeço.

Ezequiel
Ezequiel Moura
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 3
Data de registro: 09 Nov 2017 05:57
Cidade/Estado: SAO PAULO
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Win32prn para Iniciantes

Mensagempor Hasse » 03 Jun 2019 17:40

Boa tarde Ezequiel.

Lembre que quando você está em rede via TS, você está vendo a tela do servidor. O Aplicativo está rodando no servidor.
Então você terá que ter a impressora no servidor, ou então, instalar um driver semelhante ao "PDFCreator" ou "doPDF" .
Imprimir o relatório em PDF no servidor e importar o arquivo PDF gerado, do servidor para o computador local.

Há ainda uma forma de imprimir localmente, mas neste detalhe não sei te orientar.
Acho que um entendido em redes poderia te auxiliar.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

Win32prn para Iniciantes

Mensagempor fogueira » 16 Ago 2022 14:00

Boa tarde

Preciso de uma ajuda.

Usando a seguinte situação oprn:textout("OLA SOU UM TESTE")

numa impressora laser ou numa impressora pdf (microsoft print to pdf ou adobe ) não obtenho exactamente as mesmas posições.

No Pdf começa mais à esquerda e também mais acima.

Deduzo que seja das margens que estejam associadas a cada tipo de impressora.

Como posso resolver esta diferença de forma a ter exactamente a mesma posição pois preciso de encaixar o texto dentro de uma box independentemente da impressora escolhida.

 OPRN:BOX(150,250,1660,550,100,100)
   oprn:newLine()
   oprn:newLine()
   oprn:newLine()
   oprn:newLine()
   oprn:setFont('COURIER',11,0)
   oprn:setprc(oprn:prow(),5)
   oprn:textout(wNlinha)


Desde já obrigado
fogueira
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 02 Dez 2021 17:14
Cidade/Estado: Portugal
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Win32prn para Iniciantes

Mensagempor Hasse » 16 Ago 2022 19:57

Boa noite.
Eu nunca usei com impressora laser, portanto não posso te ajudar nesta situação.
Certamente há pequenas diferenças que notei entre impressora jato de tinta e PDF, mas são mínimas.
Nunca tive qualquer reclamação.
E estas diferenças não me incomodam e nem aos meus clientes (e alguns são bem chatos).
Sds.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar de usuário

Hasse
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 815
Data de registro: 19 Out 2004 10:30
Cidade/Estado: Jaraguá do Sul - SC
Curtiu: 0 vez
Mens.Curtidas: 24 vezes

Win32prn para Iniciantes

Mensagempor carlaoonline » 17 Ago 2022 08:04

Bom dia!

fogueira escreveu:Como posso resolver esta diferença de forma a ter exactamente a mesma posição pois preciso de encaixar o texto dentro de uma box independentemente da impressora escolhida.


Uma sugestão seria ao invés de mandar imprimir com o Win32prn seria você criar um arquivo PDF com o conteúdo a ser impresso, dessa forma o usuário teria a opção de visualizar o documento gerado direto no aplicativo padrão para PDF da máquina OU se preferir pode mandar imprimir direto fazendo o Harbour enviar o comando certo para o aplicativo leitor de PDF imprimir sem visualizar (imprimir direto).

Gerar PDF, para quem não conhece ainda, parece complicado mas na realidade é bem simples depois que se familiariza com os comandos e resultados.

Aqui no fórum tem vários post a respeito.

Segue um deles: viewtopic.php?f=4&t=25918#p152128
Avatar de usuário

carlaoonline
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 190
Data de registro: 24 Ago 2014 22:38
Cidade/Estado: Porto Alegre-RS
Curtiu: 73 vezes
Mens.Curtidas: 22 vezes

Win32prn para Iniciantes

Mensagempor fogueira » 17 Ago 2022 14:21

Obrigado CARLAONLINE

Vou dar uma vista de olhos

Entretanto, caso seja útil, arranjei aqui uma maneira uma vez que o problema estava na diferença entre o textout() e o Box() pois a Box mantinha as coordenadas dos pixeis.

Uma vez que oprn:leftmargin e topmargin retorna as areas não usadas na impressora escolhida

99 na laser em ambos os casos

e 0 no microsoft to pdf

ajusto as coordenadas da box retirando 99 e a caixa acompanha o texto
fogueira
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 10
Data de registro: 02 Dez 2021 17:14
Cidade/Estado: Portugal
Curtiu: 0 vez
Mens.Curtidas: 1 vez

Anterior



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro