Clipper On Line • Ver Tópico - Gerar PDF

Gerar PDF

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

Moderador: Moderadores

 

Gerar PDF

Mensagempor frazato » 02 Set 2021 16:50

Boa tarde!
Estou migrando meu xharbour de 0.99..... para a versão Xharbour 1.2.3 intel.(Simplex) (Build 20201212), com GTWVW, varios erros princiapamente meus de coisa mau feita, relaxo mesmo!

Ai tenho um rotina que gera pdf usando o txt, rotinas essa que peguei aqui mesmo no forum a muito tempo e funciona bem até hoje muito. Só não estou achando mais a lib que contem essa funções abaixo, caso alguem tenha a lib ja compilada para disponibílizar agradeço.

PDFNEW()
Function PDFSTARTPAGE()
Function PDFDRAWPAGE()
Function PDFENDPAGE()
Function PDFEND()

Frazato
frazato
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 205
Data de registro: 08 Jul 2004 07:45
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

Gerar PDF

Mensagempor frazato » 03 Set 2021 16:01

Tarde!
Como não consegui achar essas funções e já tinha convertido essa mesma função para o Harbour que por sinal foi muito mais facil de compilar, usei essas libs que peguei no projeto MRboleto.

hbhpdf.lib libharu.lib hbzebra.lib png.lib

Frazato

#include "harupdf.ch"
*******************
Function GERA_PDF(cARQ,cVisualiza)
*******************
LOCAL font_list  := { ;
      "Courier"               , ;
      "Courier-Bold"          , ;
      "Courier-Oblique"       , ;
      "Courier-BoldOblique"   , ;
      "Helvetica"             , ;
      "Helvetica-Bold"        , ;
      "Helvetica-Oblique"     , ;
      "Helvetica-BoldOblique" , ;
      "Times-Roman"           , ;
      "Times-Bold"            , ;
      "Times-Italic"          , ;
      "Times-BoldItalic"      , ;
      "Symbol"                , ;
      "ZapfDingbats"          }
Local Page, nSeq := 0
Local pdf
centra(24,"Aguarde Gerando Documento PDF...")

Do While .t.
   nSeq++
   If ! File("p:\temp\JAF_"+StrZero(nSeq,4)+'.PDF')
        cFILE3 := "p:\temp\JAF_"+StrZero(nSeq,4)+'.PDF'
        Exit
   Endif
   If nSeq  >=9999
      Alerta("Faca a limpeza da pasta p:\temp\")
   Endif
Enddo

//cFile3 := 'c:\temp\joao.pdf'
Sele Preview
nFonte := 7

nOpcao := AlertJAF("DESTINO"+;
                              ' ',{"### Normal ###",;
                                   "### Compactado DRE ###",;
                                   "### Romaneio ###" },"WW+/BR+,BB+/N" )
cFile := "fundo.jpg"
? pdf := HPDF_New()

IF pdf == NIL
   Alerta( "PDF could not be created!" )
   RETURN NIL
Else
    ? 'ok.. criando pdf sucesso!'
Endif

/* set compression mode */
HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )

page := HPDF_AddPage( pdf )

height := HPDF_Page_GetHeight( page )
width  := HPDF_Page_GetWidth( page )

def_font := HPDF_GetFont( pdf, font_list[1], NIL )
HPDF_Page_SetFontAndSize( page, def_font, nFonte  )
tw := HPDF_Page_TextWidth( page,' page_title')



HPDF_Page_BeginText( page )
HPDF_Page_TextOut( page, 10, height - 60, "" ) //
//HPDF_Page_TextOut( page, 60, height - 60, "" ) //

dbgotop()
cCONT=0
cQuebra:= .f.
Do while !Eof()
   cLinha  := l001+l002+l003+l004+l005+l006+l007+l008+l009+l010
   cCONT=cCONT+1
   cLinha  := StrTran(cLinha,'Ä','=')
   I=0
   For I:= 1 to Len(cLinha)
       //---- Ajusta caracter
       If Substr(cLinha,i,1)==Chr(12)
          cQuebra:= .t.
          Exit
       Endif
   Next
   if cQuebra==.t.

       HPDF_Page_ShowText( page, clinha )
       HPDF_Page_MoveTextPos( page, 0, - 10 ) //18 

       page := HPDF_AddPage( pdf )
     
       height := HPDF_Page_GetHeight( page )
       width  := HPDF_Page_GetWidth( page )

       def_font := HPDF_GetFont( pdf, font_list[1], NIL )
       HPDF_Page_SetFontAndSize( page, def_font, nFonte  )
       tw := HPDF_Page_TextWidth( page,' page_title')
       
       HPDF_Page_BeginText( page )
       HPDF_Page_TextOut( page, 10, height - 60, "" ) //40

       cQuebra:= .f.
       cCONT=0
   Else
       HPDF_Page_ShowText( page, clinha )
       HPDF_Page_MoveTextPos( page, 0, - 10 ) //18
   ENDIF
   dbskip()
enddo

IF HPDF_SaveToFile( pdf, cFile3) != 0
      Alerta('Erro criacao do PDF!')   
ENDIF

HPDF_Free(pdf )
Alerta('Criado arquivo....'+cFile3)
Return cFile3

frazato
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 205
Data de registro: 08 Jul 2004 07:45
Curtiu: 0 vez
Mens.Curtidas: 3 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Majestic-12 [Bot] e 12 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