Página 1 de 3

Gerar PDF

Enviado: 02 Set 2021 16:50
por frazato
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

Gerar PDF

Enviado: 03 Set 2021 16:01
por frazato
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

Código: Selecionar todos

#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


Gerar PDF

Enviado: 04 Nov 2021 12:13
por Trazom
converti meu sistema usando harbour em modo console ainda, tem como gerar pdf em modo console ?

Gerar PDF

Enviado: 04 Nov 2021 12:28
por Kapiaba
Boa tarde, eu usaria uma impressora virtual, tipo: PDFMACHINE, excelente e tem uma versão gratuíta. E você já vai se acostumando com o mundo for windows. Depois, vá migrando seu sistema para Windows, é muito fácil. Obg. abs.

Gerar PDF

Enviado: 04 Nov 2021 16:59
por JoséQuintas
Acho que não precisa tanto.
Uma vez em PDF atende o Windows também.

Veja se ajuda:

https://github.com/JoseQuintas/pdfclass

Tive que retirar a parte Windows pra ficar mais "padrão", mas acho que tá tranquilo.
Pode começar apenas fazendo igual, mas pode acrescentar recursos visuais.

Gerar PDF

Enviado: 04 Nov 2021 17:04
por JoséQuintas
Relatório simples, estilo tradicional, mas usando minha classe de MySQL

Código: Selecionar todos

STATIC FUNCTION imprime()

   LOCAL oPDF, nKey, cnSQL := ADOLocal()

   oPDF := PDFClass():New()
   oPDF:SetType( nOpcPrinterType )
   oPDF:Begin()

   nKey = 0

   oPDF:acHeader := { "","",""}
   oPDF:acHeader[ 1 ] = "LISTAGEM DO CADASTRO DE CIDADES/PAISES"
   oPDF:acHeader[ 3 ] = Space(43) + "CODIGO  NOME-------------------------------------  UF"

   WITH OBJECT cnSQL
      :cSQL := "SELECT IDCIDADE, CINOME, CIUF ORDER BY CINOME"
      :Execute()
      DO WHILE nKey != K_ESC .AND. ! :Eof()
         GrafProc()
         nKey = Inkey()
         oPDF:MaxRowTest()
         oPDF:DrawText( oPDF:nRow, 44, Str( :Number( "IDCIDADE" ), 6 ) )
         oPDF:DrawText( oPDF:nRow, 52, :String( "CINOME", 21 ) )
         oPDF:DrawText( oPDF:nRow, 96, :String( "CIUF", 2 ) )
         oPDF:nRow += 1
         :MoveNext()
      ENDDO
      :CloseRecordset()
   ENDWITH
   oPDF:End()

   RETURN .T.

Gerar PDF

Enviado: 16 Jul 2022 00:23
por cjp
Por favor, saberia me informar:
1) como faço para colocar texto colorido?
2) como faço para incluir uma imagem no pdf?
Grato

Gerar PDF

Enviado: 16 Jul 2022 21:48
por JoséQuintas
Nas pastas do harbour tem exemplo, contrib/hbhpdf

Gerar PDF

Enviado: 19 Jul 2022 01:39
por cjp
Olhei todos os arquivos desta pasta, não achei resposta às minhas perguntas.
Pode me ajudar?

Gerar PDF

Enviado: 19 Jul 2022 09:08
por JoséQuintas
No exemplo do harbour tem texto colorido e imagem, é o que você quer.

Gerar PDF

Enviado: 19 Jul 2022 09:12
por JoséQuintas
haru.png
O exemplo gerado tem 29 páginas, o colorido está na página 5.

Gerar PDF

Enviado: 19 Jul 2022 16:54
por cjp
Executei o test.prg que consta nessa pasta do contrib. Veja o que deu no anexo. Não abre pdf.

Gerar PDF

Enviado: 22 Jul 2022 19:16
por PAULO S
Caros colegas,

Uso o PDFCreator com um sistema que gera relatórios com imagem de logomarca e funciona bem no Windows 7 32 bits gerando tudo em PDF.
Testei este mesmo sistema no Windows 10 e não está conseguindo fazer a impressão em PDF no PDFCreator. Fica enviando para o driver da impressora virtual e não finaliza.
Alguém já passou por este mesmo problema ?

Gerar PDF

Enviado: 22 Jul 2022 21:38
por PAULO S
Colegas,

Caso resolvido. Felizmente apenas uma pequena falha de confirguração.
Obrigado a todos. Saúde e Sucesso !

Gerar PDF

Enviado: 23 Jul 2022 23:12
por JoséQuintas
Inácio, não uso harbour 3.2.
No 3.4 o exemplo roda redondo.

Se no harbour que está usando não compila nem o teste, pode ser seu harbour 3.2 com problema.
Outros que usam podem confirmar se o problema é geral.