Win32prn para Iniciantes

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

Moderador: Moderadores

RodrigoMotta
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 29 Out 2008 16:58
Localização: Vila Velha , ES

Re: Win32prn para Iniciantes

Mensagem por RodrigoMotta »

Olá , como vcs implementaram uma opção de "preview" na win32prn ?
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Win32prn para Iniciantes

Mensagem por Itamar M. Lins Jr. »

"preview"
Não existe.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Re: Win32prn para Iniciantes

Mensagem por Hasse »

Uma "gambiarra" de preview é gravar em PDF e visualizar no Acrobat.
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)
RodrigoMotta
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 29 Out 2008 16:58
Localização: Vila Velha , ES

Re: Win32prn para Iniciantes

Mensagem por RodrigoMotta »

Imaginei. Gravam direto em PDF usando a PDFLIB e mandando o PDF abrir em um PDFReader.
Ou Imprimem win32prn para "PDFPRINTER" (qualquer) e depois abrem ?
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Re: Win32prn para Iniciantes

Mensagem por Hasse »

Eu uso a opção "PDFPRINTER", com PDFCreator versão 0.9.6. Ele grava o PDF, abre o Acrobat e carrega o arquivo automaticamente.

Funciona muito bem.
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 do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Win32prn para Iniciantes

Mensagem por sygecom »

A WIN32PRN não tem preview pq ela pode ser usanda tanto em modo console como em lib's GUI, mas que seria muito bom ter um preview da win32prn nativo do xHarbour.
Eu tenho usando com PDFCREATOR
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
clebervn
Usuário Nível 3
Usuário Nível 3
Mensagens: 286
Registrado em: 12 Jun 2007 10:49
Localização: Florianópolis/SC

Re: Win32prn para Iniciantes

Mensagem por clebervn »

Sobre o PDFCREATOR :

Antes de abrir propriamente o arquivo criado, ele tem uma pré-tela perguntando se quero salvar, opções, etc...
Gostaria de saber se dá pra pular essa parte e ir direto pra abertura do arquivo na tela, sem perguntar se o usuário quer salvar ou não, assim após aberto já existen na tela os ícones para essas oções para o usuário....

abc
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Win32prn para Iniciantes

Mensagem por sygecom »

Da pra pular sim, veja nos parametros do PDFCREATOR que tem como definir para abrir direto.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
rosalvo rosa
Usuário Nível 3
Usuário Nível 3
Mensagens: 156
Registrado em: 10 Jan 2006 19:21
Localização: Curitiba - PR

Re: Win32prn para Iniciantes

Mensagem por rosalvo rosa »

Olá pessoal!

Estou usando o WinPrn, que é muito bom, mas estou com uma difuculdade:
preciso mudar a altura da linha no meio da impressão, a oPrinter:LineHeigth

No meio da impressão, estou imprimindo com altura oPrinter:LineHeigth = 100, e a próxima linha quero que fique com 50.

Como poderia fazer isso ?

Eu tentei oPrinter:LineHeigth(50) mas não funcionou.

Alguem poderia me ajudar ??

Att

Rosalvo
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Win32prn para Iniciantes

Mensagem por lugab »

Amigos, bom dia...

Ao compilar com xharbour 1.0.0 o código do Hasse (postado no início do tópico) , deparei com os 2 erros abaixo. Alguém pode me ajudar a compilar o exemplo ?

MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
c:\harbour\bin\harbour.exe IMPRIME.prg -ic:\harbour\include;c:\borland\bcc55\include -n -DWVW
xHarbour Compiler build 1.0.0 (SimpLex)

Compiling 'IMPRIME.prg'...

*---- codigos 1 e msdg de erro

Código: Selecionar todos

LOCAL oPrinter:= <span class="posthilit">WIN32PRN</span>():New(cPrinter), aFonts, x, nColFixed, nColTTF, ;
      nColCharSet, aForms
Error E0030 Syntax error: "syntax error at 'SPAN'"


*---- codigos 2 e msdg de erro

Código: Selecionar todos

*============== Aqui come‡a a impressÆo de Imagens ===================

oBmp   := <span class="posthilit">Win32Prn</span>():new()
Error E0030 Syntax error: "syntax error at 'SPAN'"

2 errors

No code generated

[/code]
lugab
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Win32prn para Iniciantes

Mensagem por sygecom »

Olá Gabriel,
Isso foi um erro do FÓRUM na hora de mostrar o código fonte, mude para:

Código: Selecionar todos

LOCAL oPrinter:= WIN32PRN():New(cPrinter), aFonts, x, nColFixed, nColTTF, ;
      nColCharSet, aForms

Código: Selecionar todos

oBmp   := Win32Prn():new()
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Win32prn para Iniciantes

Mensagem por Hasse »

Ao colega Rosalvo Rosa.

Não sei se você já conseguiu superar o teu problema, mas testei a alteração da altura da linha no meio do processo de impressão, e funcionou adequadamente.

Você somente errou ao setar a nova altura.

Código testado abaixo:

Código: Selecionar todos

#define DMPAPER_A5                  11    && A5 148X210mm
#define DMPAPER_A5_TRANSVERSE       61    && A5 Transverse 148 x 210 mm
*
*
*
*------------------------------------------------------------------------------
FUNCTION Main()
*
LOCAL nPrn:=1
LOCAL aPrn:= GetPrinters()
Clear
*
IF EMPTY( aPrn )
   Alert( 'Nenhuma impressora instalada' )
   QUIT
END
*
Clear
*
WHILE ! EMPTY( nPrn )
   Clear
   @ 00,00 SAY 'Teste de uso do WIN32PRN'
   @ 01,00 TO maxRow(),maxCol()
   nPrn := ACHOICE( 02, 01, maxRow()-1, maxCol()-1, aPrn, .T., , nPrn )
   *
   IF ! EMPTY( nPrn )
      PrnTest( aPrn[nPrn] )
   ELSE

   ENDIF
   *
ENDDO
*
@ 22,00 say ""
*
RETURN( NIL )
*
*
*
*------------------------------------------------------------------------------
FUNCTION PrnTest(cPrinter)
*
LOCAL oPrinter     := WIN32PRN():New(cPrinter), aFonts, nPos
oPrinter:Landscape := .F.
oPrinter:FormType  := DMPAPER_A5_TRANSVERSE
oPrinter:Copies    := 1
*
IF ! oPrinter:Create()
   Alert('Erro criando a impressora')
ELSE
   *
   IF !oPrinter:startDoc('Isto ir  aparecer no SPOOLER do windows')
      Alert('Erro iniciando documento.')
   ELSE
      oPrinter:UnderLine( .F. )
      oPrinter:SetFont( 'Courier New',10,{1,20}, 0, .F., .F. )
      oPrinter:Textout( STR( oprinter:LineHeight()    ) + '  -altura da linha', .T. )
      *
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '===============================================================================', .T. )
      *
      oPrinter:Textout( STR( oprinter:LineHeight()    ) + '  -altura atual da linha', .T. )
      oPrinter:Textout( STR( oprinter:LineHeight()    ) + '  -alterando altura da linha para 50', .T. )
      oPrinter:LineHeight( 50 )
      oPrinter:Textout( STR( oprinter:LineHeight()    ) + '  -altura da linha alterada', .T. )
      *
      oPrinter:TextOut( '===============================================================================', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '===============================================================================', .T. )
      *
      oPrinter:Textout( STR( oprinter:LineHeight()    ) + '  -altura atual da linha', .T. )
      oPrinter:Textout( STR( oprinter:LineHeight()    ) + '  -alterando altura da linha para 150', .T. )
      oPrinter:LineHeight( 150 )
      oPrinter:Textout( STR( oprinter:LineHeight()    ) + '  -altura da linha alterada', .T. )
      *
      oPrinter:TextOut( '===============================================================================', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '1234567890123456789012345678901234567890', .T. )
      oPrinter:TextOut( '===============================================================================', .T. )
      *
      oPrinter:EndDoc()
      oPrinter:Destroy()
   ENDIF
   *
ENDIF
*
RETURN(NIL)
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)
lugab
Colaborador
Colaborador
Mensagens: 843
Registrado em: 19 Mai 2009 15:58

Win32prn para Iniciantes

Mensagem por lugab »

Leonardo, valeu !!!

Botei o trem pra funcionar, sim, e agradeço mais uma vez
lugab
Avatar do usuário
deividdjs
Usuário Nível 3
Usuário Nível 3
Mensagens: 377
Registrado em: 19 Set 2006 09:39
Localização: Foz do Iguaçu / Pr

Win32prn para Iniciantes

Mensagem por deividdjs »

COMO EU FAÇO PARA SIMPLESMENTE IMPRIMIR UM ARQUIVO GERADO PELO MEU SISTEMA PELO WIN32PRN ??
Windows 11 + Harbour 3.2 + MINGW64 gcc 14.1.0 + Visual Lib + GTWVG + LETODBF WINDOWNS/LINUX
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Win32prn para Iniciantes

Mensagem por Hasse »

Boa noite Deividdsj.

Você precisa criar a rotina de impressão usando os comando e funções da WIN32PRN.

Se você está partindo do ZERO, vá na primeira mensagem, e copie o código que lá está e compile.
Compare o resultado da impressão com o código, que você entenderá facilmente.

Caso você tenha alguma dúvida terei prazer em te ajudar e orientar.
Depois que você pegar o jeito, verás que muito fácil e bem intuitivo.
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)
Responder