Clase PDF propia de fivewin

Clase PDF propia de fivewin

Postby execompu » Mon Aug 10, 2015 4:02 pm

Buenos Días amigos del foro, he estado buscando una clase o alguna forma de crear archivos en pdf por medio de programa pero sin buenos resultados, si alguien sabe de algo que se pueda implementar directamente en la programación se los voy a agradecer.


FWH64_11.08
BCC582
FWH_11.09
BCC582

Pepillo
México DF
execompu
 
Posts: 31
Joined: Sat Nov 29, 2008 6:47 pm

Re: Clase PDF propia de fivewin

Postby karinha » Tue Aug 11, 2015 1:08 pm

Se puede usar PDFLIB.LIB by xHarbour.

Code: Select all  Expand view

#include "FiveWin.ch"

Function criapdf()

   LOCAL cMyRun, oPdf

   //->  Crear la carpeta: c:\pdf para grabar
   opdf := tpdf():new('c:\pdf\meupdf.pdf')

   opdf:Pdfnewpage("A4","P")

   opdf:Pdfatsay( "HOLA MUNDO!!!!!!!!!!!",800,10,.t. )

   opdf:Pdfclosepage()

   opdf:pdfclose()

   // Adobe debe estar instalado
   cMyRun := ( "C:\PDF\MEUPDF.PDF" )

   MYRUN( cMyRun )

return .t.


function filesize(cfile)

   LOCAL nfiles := directory(cfile)

return nfiles[1,2]


Function MYRUN( cComando )

   ***************************
   Local oShell, RET, lOk:=.T.

   TRY
      #IFDEF __XHARBOUR__
         oShell := CreateObject( "WScript.Shell" )
      #ELSE
         oShell := Win_OleCreateObject( "WScript.Shell" )
      #ENDIF

   CATCH

      TRY
         #IFDEF __XHARBOUR__
            oShell := CreateObject( "WScript.Shell" )
         #ELSE
            oShell := Win_OleCreateObject( "WScript.Shell" )
         #ENDIF

      CATCH

         lOk:=.F.

        END
   END

   IF lOk

      TRY

          //.F. = Nao espera a aplicacao fechar, .T. espera.
          oShell:Run( "%comspec% /c " + cComando, 0, .T. )

      CATCH

          lOk:=.F.

      END

      oShell := NIL

   ENDIF

   //--   RET := oShell:Run( "%comspec% /c " + cComando, 0)  //, .T. )

RETURN lOk
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7190
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Clase PDF propia de fivewin

Postby execompu » Tue Aug 11, 2015 3:13 pm

Lo pruebo y te comento y muchas gracias por responder.
FWH_11.09
BCC582

Pepillo
México DF
execompu
 
Posts: 31
Joined: Sat Nov 29, 2008 6:47 pm

Re: Clase PDF propia de fivewin

Postby execompu » Thu Aug 27, 2015 2:31 am

Hola karinha:

Des afortunadamente no he podido echar a andar el ejemplo que me mandaste, me marca este error al compilar:

_HB_FUN___CLSACTIVE
execompu
 
Posts: 31
Joined: Sat Nov 29, 2008 6:47 pm

Re: Clase PDF propia de fivewin

Postby hmpaquito » Thu Aug 27, 2015 8:31 am

Pareciera que tienes algun .obj compilado con xHarbour.

Mi recomendacion es que re-montes completamente la aplicacion.

saludos
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Clase PDF propia de fivewin

Postby karinha » Thu Aug 27, 2015 2:32 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7190
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Clase PDF propia de fivewin

Postby karinha » Thu Aug 27, 2015 3:56 pm

Code: Select all  Expand view

#include "FiveWin.ch"
#include "PdfHbDoc.ch"

Static oWnd, n

Function Main()

   Local oMenu

   MENU oMenu
      MENUITEM "My First Pdf" ACTION creapdfcc()
      MENUITEM "Exit" ACTION oWnd:End
   ENDMENU

   DEFINE WINDOW oWnd MENU oMenu
   ACTIVATE WINDOW oWnd MAXIMIZED

Return Nil

function creapdfcc()

   local dresult // :=  DEHASTA()
   local cImpdos
   local oprn
   local nsaldo := 0
   local nvalor := 0
   local z := 0
   local cPath := "C:\PDF\MEUPDF.pdf"
   local oPdf
   local ntotal := 0

   n  := 2.9

   opdf := tpdf():new(cPath)

   opdf:Pdfnewpage("A4","P")

   opdf:Pdfimage(".\QRCODE.jpg", cm2dpi(2.5), 0,85,66)

   opdf:Pdfatsay("QUÍMICA MEGA SA",cm2dpi( .7 ),100,.T.)

   oPdf:Pdfatsay("Matanza 1456/58",cm2dpi( 1.2 ),100,.T.)

   oPdf:Pdfatsay("Avellaneda-Pcia Bs As",cm2dpi( 1.6 ),100,.T.)

   oPdf:Pdfatsay("T.E.: 4289-2700(Rotativas)",cm2dpi( 2.0 ),100,.T.)

   oPdf:Pdfatsay(replicate("_",115),cm2dpi( 2.5 ),10,.T.)

   opdf:Pdfclosepage()
   opdf:pdfclose()

   msginfo("Archivo creado con éxito","Aviso del sistema")

   /*
   if !empty(cmail)
      correo(cMail,,("Enviamos resumen de cuenta desde " + transform(dresult[1],"@d") + " hasta " +  transform(dresult[1],"@d") ),"Resumen de cuenta", alltrim(cPath ) )
   endif
   */


   ShellExecute( oWnd:hWnd, "open", "c:\pdf\meupdf.pdf" )

return .t.

/*******************************************************************************/

function cm2dpi( nCM, page, lHeight )

   Local nHeight,nDpi := 72
   Local nRes

   if empty( lHeight )
      lHeight := .T.
   endif

   if lHeight
      nHeight := 842.0
      nRes := nHeight - ( nCM * nDpi / 2.54 )
   else
      nRes := ( nCM * nDpi / 2.54 )
   endif

return nRes
 


Image

saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7190
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 10 guests