Clase PDF propia de fivewin

Post Reply
execompu
Posts: 31
Joined: Sat Nov 29, 2008 6:47 pm
Contact:

Clase PDF propia de fivewin

Post by execompu »

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
User avatar
karinha
Posts: 8057
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 10 times
Contact:

Re: Clase PDF propia de fivewin

Post by karinha »

Se puede usar PDFLIB.LIB by xHarbour.

Code: Select all | Expand

#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
execompu
Posts: 31
Joined: Sat Nov 29, 2008 6:47 pm
Contact:

Re: Clase PDF propia de fivewin

Post by execompu »

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
Contact:

Re: Clase PDF propia de fivewin

Post by execompu »

Hola karinha:

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

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

Re: Clase PDF propia de fivewin

Post by hmpaquito »

Pareciera que tienes algun .obj compilado con xHarbour.

Mi recomendacion es que re-montes completamente la aplicacion.

saludos
User avatar
karinha
Posts: 8057
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 10 times
Contact:

Re: Clase PDF propia de fivewin

Post by karinha »

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

Re: Clase PDF propia de fivewin

Post by karinha »

Code: Select all | Expand

#include "FiveWin.ch"#include "PdfHbDoc.ch"Static oWnd, nFunction 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 MAXIMIZEDReturn Nilfunction 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 )   endifreturn nRes 


Image

saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Post Reply