Página 1 de 1

libpdf para harbour com MinGw

Enviado: 29 Jun 2010 21:12
por rosalvo rosa
Olá pessoal !

Estou precisando criar um código para gerar um arquivo texto para abrir no modo PDF. Fiz uma busca por aqui e
encontrei exemplos e funções muito proveitosas.

Encontrei também a LIBPDF disponível para baixar, mas no meu caso, como compilo o Harbour em MinGw, fiquei
precisando desta lib em FORMATO RECONHECIDO pela MinGw. No caso, seria a "LIBPDF.a".

Será que alguém poderia me indicar onde conseguir ??

Agradeço a ajuda.

Rosalvo

Re: libpdf para harbour com MinGw

Enviado: 01 Jul 2010 20:47
por sygecom
É para Harbour ? queres da LIB da CONTRIB ?

Re: libpdf para harbour com MinGw

Enviado: 01 Jul 2010 22:31
por rosalvo rosa
Olá Leonardo!

Então, eu quero pro Harbour, eu compilo com MinGw. Eu até baixei aqui no forum a LIBPDF.LIB, mas eu preciso do
formato para a MinGw, que seria algo como "LIBPDF.a".
Eu tentei compilar com a LIBPDF.LIB, mas me diz que o FORMATO não é reconhecido.

Eu teria que ter esta lib no formato "lib.a" .

na CONTRIB eu consigo fazer isso ?

Rosalvo

Re: libpdf para harbour com MinGw

Enviado: 01 Jul 2010 23:19
por sygecom
Olá Rosalvo,
Se está se referindo ao Harbour da versão atual, ai tem na CONTRIB uma LIB para uso de PDF com varias opções a mais do que a LIBPDF do xHarbour, que são as LIB.: libhbhpdf.a e liblibhpdf.a, veja abaixo um exemplo de como uso.:

Código: Selecionar todos

   #include "harupdf.ch"
   #include "hbcompat.ch"

***********************
FUNCTION GERA_PDF(cARQ)
***********************
Local cText  := memoread( cArq )
Local nLines := mlcount( cText, 150 )
Local vAUTOR :=""
Local cFileToSave := "arquivo.PDF"  // nome do PDF

#ifdef __XHARBOUR__
   Private AMSG := {}, CIMG
   set(105,1)
   set(106,1)

   PdfNew(cFileToSave,6,842,595,1,20,,,)  // esse é o que eu uso
   PdfStartPage( {vAUTOR} , .T. )
   HB_SETLANDSCAPE(.T.)

   for nA := 1 to nLines
      cLinha := memoline( cText, 150, nA, 1, .F. )

      Aadd(AMSG,cLinha)
   next

   PdfDrawPage( AMSG )
   PdfEndPage()
   PdfEnd()
#else
   Private page, height, width, def_font, font
   Private pdf := HPDF_New()

   if pdf == NIL
      msgstop( " Erro ao tentar gerar o Arquivo Pdf, Favor Tente novamente","Aviso do Sistema" )
      Return("")
   endif

   /* set compression mode */
   HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )
   *HPDF_SetPassword(pdf, "senha","leonardo" )  // colocar senha no PDF

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

   def_font := HPDF_GetFont( pdf, "Helvetica", NIL )
   HPDF_Page_BeginText( page )
   HPDF_Page_MoveTextPos( page, 10, height - 10 )

   vCONT=0
   for nA := 1 to nLines
      cLinha := memoline( cText, 150, nA, 1, .F. )
      font := HPDF_GetFont( pdf, "Courier" , NIL )
      HPDF_Page_SetFontAndSize( page, def_font, 7 )

      HPDF_Page_SetFontAndSize( page, font, 7 )
      HPDF_Page_ShowText( page, cLinha )
      HPDF_Page_MoveTextPos( page, 0, -10 )

      vCONT=vCONT+1
      IF vCONT=80
         page := HPDF_AddPage(pdf)
         HPDF_Page_SetLineWidth(page, 1)

         HPDF_Page_BeginText( page )
         HPDF_Page_MoveTextPos( page, 10, height - 10 )
         vCONT = 0
      ENDIF
   next

   HPDF_Page_EndText( page )
   HPDF_SaveToFile( pdf, cFileToSave )

   HPDF_Free( pdf )
#endif
Return(cFileToSave)
Esse exemplo acima gera um PDF apartir de um arquivo TEXTO

Re: libpdf para harbour com MinGw

Enviado: 03 Jul 2010 21:15
por rosalvo rosa
ô, agora fechou. Valeu Leonardo.

Demorei prá ler o teu post, tava de ressaca ainda, o Brasil perdeu, mas a vida continua...

Chê, Muito obrigado.

Rosalvo