Página 7 de 8

Re: Win32prn para Iniciantes

Enviado: 10 Mar 2009 15:49
por RodrigoMotta
Olá , como vcs implementaram uma opção de "preview" na win32prn ?

Re: Win32prn para Iniciantes

Enviado: 10 Mar 2009 17:37
por Itamar M. Lins Jr.
"preview"
Não existe.

Saudações,
Itamar M. Lins Jr.

Re: Win32prn para Iniciantes

Enviado: 10 Mar 2009 20:17
por Hasse
Uma "gambiarra" de preview é gravar em PDF e visualizar no Acrobat.

Re: Win32prn para Iniciantes

Enviado: 10 Mar 2009 22:42
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 ?

Re: Win32prn para Iniciantes

Enviado: 11 Mar 2009 12:47
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.

Re: Win32prn para Iniciantes

Enviado: 11 Mar 2009 17:01
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

Re: Win32prn para Iniciantes

Enviado: 20 Jul 2009 17:40
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

Re: Win32prn para Iniciantes

Enviado: 22 Jul 2009 17:44
por sygecom
Da pra pular sim, veja nos parametros do PDFCREATOR que tem como definir para abrir direto.

Re: Win32prn para Iniciantes

Enviado: 29 Mar 2011 10:44
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

Win32prn para Iniciantes

Enviado: 06 Jun 2012 12:04
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]

Win32prn para Iniciantes

Enviado: 06 Jun 2012 12:23
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()

Win32prn para Iniciantes

Enviado: 07 Jun 2012 20:42
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)

Win32prn para Iniciantes

Enviado: 08 Jun 2012 19:36
por lugab
Leonardo, valeu !!!

Botei o trem pra funcionar, sim, e agradeço mais uma vez

Win32prn para Iniciantes

Enviado: 09 Jul 2018 10:57
por deividdjs
COMO EU FAÇO PARA SIMPLESMENTE IMPRIMIR UM ARQUIVO GERADO PELO MEU SISTEMA PELO WIN32PRN ??

Win32prn para Iniciantes

Enviado: 09 Jul 2018 18:16
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.