preview em pdf
Moderador: Moderadores
-
lapinhazzz
- Usuário Nível 3

- Mensagens: 130
- Registrado em: 20 Abr 2009 10:52
- Localização: LAGOA
preview em pdf
Caros amigos estive a dar uma olhadela para o que um programador chamado Hass postou neste forum sobre impressao win32prn para iniciantes.
Compilei e deu tudo certo.
Mas agora pergunto como faço o preview em pdf se mandar para pdf da impressão.
Escolho a impressora e depois como faço para que o programa me faça um preview em pdf antes de imprimir.
Grato pela atenção
Carlos Lapa
Compilei e deu tudo certo.
Mas agora pergunto como faço o preview em pdf se mandar para pdf da impressão.
Escolho a impressora e depois como faço para que o programa me faça um preview em pdf antes de imprimir.
Grato pela atenção
Carlos Lapa
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Re: preview em pdf
Ola amigo..
Eu uso o PDF Creator.. Gostei muuuito.. Ele instala uma impressora no windows, ai é só mandar a impressão para essa impressora que vai abrir um documento do Acrobat automaticamente.. é claro que para abrir automaticamente é preciso fazer algumas configurações no PdfCreator depois de instala-lo..
Esperto ter ajudado..
Um abraço..
Eu uso o PDF Creator.. Gostei muuuito.. Ele instala uma impressora no windows, ai é só mandar a impressão para essa impressora que vai abrir um documento do Acrobat automaticamente.. é claro que para abrir automaticamente é preciso fazer algumas configurações no PdfCreator depois de instala-lo..
Esperto ter ajudado..
Um abraço..
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: preview em pdf
Boa noite colegas.
Realmente é como o colega DLZ informou.
A Classe Win32prn(), ou envia o documento para a impressora e neste caso não é possível "ver" o documento, ou então ele envia o documento para a impressora virtual PDFCreator que captura os dados, os transforma em documento PDF, grava em arquivo PDF e abre o dito no Acrobat. Do Acrobat você pode imprimir ou não.
O PDFCreator na versão 0.9.6 nem precisei configurar para gravar o arquivo e abri-lo na sequência no Acrobat. É automático e muito rápido.
Já o CutePDF Writer não abre automaticamente o arquivo que ele grava. Também não achei onde configurar isto.
O CutePDF é mais fiel na gravação de caracteres especiais. Igual acontence com o PDGCreator na versão 0.7. Já o PDFCreator na versão 0.9.6 deixa a desejar neste aspecto em alguns casos.
Realmente é como o colega DLZ informou.
A Classe Win32prn(), ou envia o documento para a impressora e neste caso não é possível "ver" o documento, ou então ele envia o documento para a impressora virtual PDFCreator que captura os dados, os transforma em documento PDF, grava em arquivo PDF e abre o dito no Acrobat. Do Acrobat você pode imprimir ou não.
O PDFCreator na versão 0.9.6 nem precisei configurar para gravar o arquivo e abri-lo na sequência no Acrobat. É automático e muito rápido.
Já o CutePDF Writer não abre automaticamente o arquivo que ele grava. Também não achei onde configurar isto.
O CutePDF é mais fiel na gravação de caracteres especiais. Igual acontence com o PDGCreator na versão 0.7. Já o PDFCreator na versão 0.9.6 deixa a desejar neste aspecto em alguns casos.
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)
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)
Re: preview em pdf
Vocês poderiam dar um exemplo de como, internamente, eu escrevo o comando para o preview do relatorio que eu estou criando.
Obrigado
Obrigado
-
DLZ
- Usuário Nível 3

- Mensagens: 184
- Registrado em: 09 Jun 2008 10:09
- Localização: Ibirubá - RS - Brasil
Re: preview em pdf
Cara.. Não muda naaada no se programa.. O PdfCreator instala uma impressora no windows, depois disso, basta selecionar essa impressora no Win32prn que, o que sairia na impressora, será impresso em um documento PDF !! Mamão com açucar ! ehehe
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: preview em pdf
Boa noite locio.
Em míúdos, você instala o PDFCreator, que cria uma "impressora virtual" chamada PDFCreator.
No meu PRG, tenho uma opção de "ver" na variável c_prt. Neste caso, o executável direciona a saída do Win32prn() para o PDFCreator que grava o arquivo configurado em c_Arq, e em seguida abre o citado no Acrobat.
A variável c_Arq, no meu caso, assume nomes que nunca é o mesmo, e desta forma não há perigo de haver tentativa de sobre-escrita de um arquivo já existente. Veja o exemplo abaixo:
Por outro lado, você pode enviar o arquivo para a impressora padrão, mas também há a possibilidade de escolher, em tempo de execução, a impressora que você deseja utilizar para imprimir os dados. Para isso, basta você incluir a função descrita, logo no início da rotina (Function Main()) que está no link abaixo:
viewtopic.php?f=4&t=6465&st=0&sk=t&sd=a&hilit=win32prn+para+iniciantes
Ela apresenta uma lista de impressoras instaladas na tela, via ACHOICE. Basta escolher, e pronto, imprimindo... Muito fácil.
Em míúdos, você instala o PDFCreator, que cria uma "impressora virtual" chamada PDFCreator.
No meu PRG, tenho uma opção de "ver" na variável c_prt. Neste caso, o executável direciona a saída do Win32prn() para o PDFCreator que grava o arquivo configurado em c_Arq, e em seguida abre o citado no Acrobat.
A variável c_Arq, no meu caso, assume nomes que nunca é o mesmo, e desta forma não há perigo de haver tentativa de sobre-escrita de um arquivo já existente. Veja o exemplo abaixo:
Código: Selecionar todos
.
.
.
IF c_prt = "Ver"
c_Arq := "Laudo-"+ALLTRIM(PACIENTE->P_NOME)+"-"+c_ano+"-"+c_mes+"-"+c_dia+"="+TIME()
STAR_DOC("PDFCreator", c_Arq )
&& Cria o arquivo configurado em c_Arq e abre o dito no Acrobat.
ELSE
STAR_DOC( )
&& Envia para a impressora padrão.
ENDIF
.
.
.
RERTURN(.T.)
FUNCTION START_DOC(cPrinter,cDoc)
&& Função da Classe Win32prn()
.
.
.
.
RETURN(.T.)viewtopic.php?f=4&t=6465&st=0&sk=t&sd=a&hilit=win32prn+para+iniciantes
Ela apresenta uma lista de impressoras instaladas na tela, via ACHOICE. Basta escolher, e pronto, imprimindo... Muito fácil.
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)
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)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: preview em pdf
Bom, fiz algumas alterações em alguns fontes da Hwgui para pegar o PREVIEW e jogar direto em BMP, mas isso apenas para Hwgui. Mas acredito que pode ser usado tmb. com WIN32PRN, só que teria que adptar para WIN32PRN. Se alguem se interresar eu posto aqui.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: preview em pdf
Hasse,
Será que vc pode tambem postar a codificação da função START_DOC()
Obrigado,
Lócio
Será que vc pode tambem postar a codificação da função START_DOC()
Obrigado,
Lócio
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: preview em pdf
Se você notar o link que o Hasse postou você pode pegar tudo ali da continuação do exemplo dele. Ou ainda baseado no mesmo exemplo pode pegar o exemplo do link abaixo:
viewtopic.php?f=43&t=9472
viewtopic.php?f=43&t=9472
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
-
Hasse
- Usuário Nível 4

- Mensagens: 820
- Registrado em: 19 Out 2004 10:30
- Localização: Jaraguá do Sul - SC
Re: preview em pdf
Boa noite
O meu START_DOC() está elaborado como abaixo, mas ele pode ser diferente, de acordo com as necessidades de cada qual:
Boa sorte.
O meu START_DOC() está elaborado como abaixo, mas ele pode ser diferente, de acordo com as necessidades de cada qual:
Código: Selecionar todos
FUNCTION START_DOC(cPrinter,cDoc)
PUBLIC oPrinter:= WIN32PRN():New(cPrinter), aFonts, x, nColFixed, nColTTF, nColCharSet, aForms
oPrinter:SetPrintQuality(-1) && qualidade da impressão.
oPrinter:Landscape:= .F.
oPrinter:FormType := FORM_A4
oPrinter:Copies := 1
IF !oPrinter:Create()
Alert("NÆo foi poss¡vel criar o Documento de ImpressÆo")
ELSE
IF !oPrinter:startDoc(cDoc)
Alert("In¡cio StartDoc() falhou")
ELSE
*
oPrinter:SetFont('Courier New')
oPrinter:CharSet(255) && Charset para imprimir barra colorida.
*
IF ! PRT_PACIENTE() && Rotina de impressão dos laudos.
RETURN(NIL)
ENDIF
*
oPrinter:EndDoc()
*
ENDIF
*
oPrinter:Destroy()
*
ENDIF
*
RETURN
*
* oPrinter:SetPrintQuality(-2) // qualidade da impressao
*
* ATENÇÂO: Essa linha (SetPrintQuality) DEVE ser posta antes de startdoc() ou não
* funcionará. As opções são DRAFT (-1), LOW (-2), MEDIUM (-3), HIGH (-4) sendo essa
* última a DEFAULT, por isso, se você tentar imprimir e sair muito lento use essa linha
* e defina como DRAFT. Experimente e veja qual a melhor para você.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)
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)
Re: preview em pdf
Consegui implementar. Ficou otimo. Obrigado a todos e especialmente ao Hasse.
Lócio
Lócio
