You are on page 1of 3

09/06/2010 Automatizar PDFCreator in FoxPro

pdfcreat createobject ARTICLES FORUMS FAQS GROUPS TRAINING $1250 CONTEST FREE DRAWINGS FREE ICONS SOFTWARE DIRECTORY ABOUT US ADVERTISE LOGIN

Automatizar PDFCreator
Jorge Carazzo posted on Monday, October 19, 2009 9:42 AM

Chicos, estoy utilizando esta rutina para automatizar PdfCreator, pero tengo
el inconveniente que en Windows Xp anda casi siempre, aveces se cuelga el
PdfCreator, y en windows Vista/7 directamente no anda. Alguien tiene alguna
sugerencia de reemplazo para poder generar pdf desde fox. Por favor si es
con ejemplos mejor.
Desde ya, gracias a todos.

LPARAMETERS cNameReport as String, cNameDirTarget as String, cNameFilePdf


as String
*recibe como parametro el nombre del informe, el directorio de salida y el
nombre de salida

LOCAL cNameReport as String, cNameDirTarget as String, cNameFilePdf as


String
LOCAL oPdf as Object
oPdf= CREATEOBJECT("PDFCreator.clsPDFCreator")
oPdf.cStart
oPdf.cVisible = .T.
oPdf.cclearCache
oPdf.cPrinterStop = .F.
oPdf.cOption("AutosaveDirectory") = cNameDirTarget
oPdf.cOption("AutosaveFilename")= cNameFilePdf
oPdf.cOption("UseAutosave")= 1
oPdf.cOption("UseAutosaveDirectory") = 1
oPdf.cOption("AutosaveFormat") = 0
oPdf.cSaveOptions()

SET PRINTER TO NAME 'PDFCreator'

*
REPORT form (cNameReport) TO PRINTER NOCONSOLE
*
opdf.cclearcache
oPdf.cClose
oPdf= null

Reply

Los problemas bajo Xp, los solucione quitando estas 2 lineasoPdf.


Jorge Carazzo posted on Monday, October 19, 2009 11:07 AM

Los problemas bajo Xp, los solucione quitando estas 2 lineas


oPdf.cClose
oPdf= null

En vista/7 sigo igual, cuando llamo a la funcion, se cuelga el PdfCreator y


la aplicacion entera.

Acepto sugerencias. Gracias.

Reply

Yo adapte esta función para utilizar con PDFCreator, solo he probado conWindos
hquinones posted on Monday, October 19, 2009 2:39 PM

eggheadcafe.com/…/automatizar-pdfc… 1/3
09/06/2010 Automatizar PDFCreator in FoxPro
REPORT FORM "reports\"+barchivo TO PRINTER NOCONSOLE
SET PRINTER TO default
ELSE
IF !DIRECTORY("c:\tempo")
mkDIR("c:\tempo")
ENDIF
=proclase()
DECLARE Sleep IN WIN32API INTEGER
ReadyState = 0 && Variable indiquant que l'imprimante n'est pas prête
PDFCreator = CREATEOBJECT("PDFCreator.clsPDFCreator")
PDFReady = CREATEOBJECT("PDFEvent") && Voir définition de la classe plus bas
EVENTHANDLER(PDFCreator,PDFReady)

WITH PDFCreator
* Démarrer sans lancer les travaux :
.cStart ("/NoProcessingAtStartup")
* Options de autoguardado :
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = "C:\tempo\"
.cOption("AutosaveFilename") = btitulo
.cOption("AutosaveFormat") = 0 && 0 para formato PDF
* Modificacion temporal de lo impresora por defecto :
DefaultPrinter = .cDefaultprinter
.cDefaultprinter = "PDFCreator"
.cClearcache
ENDWITH
mnom='PDFCreator'
SET PRINTER TO NAME (mnom)
REPORT FORM "reports\"+barchivo TO PRINTER NOCONSOLE
* Lanzamiento de la impresion :
PDFCreator.cPrinterStop = .F.
* On attend jusqu'à ce que l'imprimante soit prête ou que 10 secondes se
soient écoulées :
c=0
DO WHILE (ReadyState = 0) AND (c < 10)
c=c+1
Sleep (500)
ENDDO
PDFCreator.cDefaultprinter = DefaultPrinter
Sleep (200)
PDFCreator.cClose

RELEASE PDFCreator
RELEASE PDFReady
SET PRINTER TO default

cfile="c:\tempo\"+btitulo+".pdf"
DECLARE INTEGER ShellExecute ;
IN SHELL32.DLL ;
INTEGER nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow
ShellExecute(0, "Open", cFile, "", "", 1)
ENDIF
ENDFUNC

PROCEDURE proclase
*--------------------------------------------
* Définition de la classe gérant les événements :
DEFINE CLASS PDFEvent AS Custom

IMPLEMENTS __clsPDFCreator IN "PDFCreator.clsPDFCreatorOptions"


* Evénement qui indique si l'imprimante est prête
PROCEDURE __clsPDFCreator_eReady() AS VOID
ReadyState = 1
ENDPROC

* Gestion de errores
PROCEDURE __clsPDFCreator_eError() AS VOID
ENDPROC
ENDDEFINE

HQD

Reply

eggheadcafe.com/…/automatizar-pdfc… 2/3
09/06/2010 Automatizar PDFCreator in FoxPro
Related FoxPro Discussions
Problema el conectar vfp9 con mysql 5 Help Automatizando Word en VFP
Algunas preguntas de SQL Express 2005 visualizar archivo
Que Paso con el "COUNTDOWN" de VFPStudio??? Un objeto tipo container
W3jmail y autenticación OT : showModalDialog en firefox
automatizacion Error raro en el Select
Facturación electrónica (España) VFPWinsock
MouseEnter vs. Click Importar datos desde Archivos Planos de Qbasic
Indices y comando append traer al frente, enviar al fondo objetos
Conexión a SAP via WebServices. problemas con crear shortcut
archivo CONFIG.FPW Uso de DLL sintaxis en Delphi
OT: ARCHIVO .DEC - Costa Rica OT: Algun truco de programación ??
sobre ShellExecute ordenar una tabla
Exportar a Excel Impresora Predeterminada en Vfp9
Ejecutable Vfp9 Zumbido en un form
Como mejorar el aspecto de los forms DLL que retorna un recordset
Alternativas a GETFILE y GETDIR Miembro desconocido al entrar al formulario.
VFP soporta decimales en consultas de agrupacion ? agregar codigo a un evento
OT:Por fin es Viernes... Realizar Select con Group By con campo memo
Web Services vfp9 con SP2 OLE DB
OT: MySql vs Sql Express edition OT: Disquette de RED para DOS

PETE'S BLOG | PETE'S RESUME | ROBBE'S RESUME | NEADO | FREE ICONS | PRIVACY | (C) 2010

eggheadcafe.com/…/automatizar-pdfc… 3/3