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
Clase PDF propia de fivewin
Clase PDF propia de fivewin
FWH_11.09
BCC582
Pepillo
México DF
BCC582
Pepillo
México DF
Re: Clase PDF propia de fivewin
Se puede usar PDFLIB.LIB by xHarbour.
Code: Select all
#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
Re: Clase PDF propia de fivewin
Lo pruebo y te comento y muchas gracias por responder.
FWH_11.09
BCC582
Pepillo
México DF
BCC582
Pepillo
México DF
Re: Clase PDF propia de fivewin
Hola karinha:
Des afortunadamente no he podido echar a andar el ejemplo que me mandaste, me marca este error al compilar:
_HB_FUN___CLSACTIVE
Des afortunadamente no he podido echar a andar el ejemplo que me mandaste, me marca este error al compilar:
_HB_FUN___CLSACTIVE
Re: Clase PDF propia de fivewin
Pareciera que tienes algun .obj compilado con xHarbour.
Mi recomendacion es que re-montes completamente la aplicacion.
saludos
Mi recomendacion es que re-montes completamente la aplicacion.
saludos
Re: Clase PDF propia de fivewin
http://forums.fivetechsupport.com/viewt ... 45&start=0
https://code.google.com/p/fivewin-contr ... p&can=2&q=
By Surgom
https://app.box.com/shared/qfbeha7cb7
Prueba de TEST.PRG by Surgom:
Saludos.
https://code.google.com/p/fivewin-contr ... p&can=2&q=
By Surgom
https://app.box.com/shared/qfbeha7cb7
Prueba de TEST.PRG by Surgom:
Saludos.
João Santos - São Paulo - Brasil
Re: Clase PDF propia de fivewin
Code: Select all
#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
saludos.
João Santos - São Paulo - Brasil