Hola Oscar Estoy trabado probando tu ejemplo. No me guarda el archivo y además el pdfcreator queda colgado. Tenés idea de qué estoy haciendo mal? Hay que configurar el pdfcreator de algún modo en especial? Gracias Marcelo
--- El lun 9-may-11, Oscar Zárate <[email protected]> escribió: De: Oscar Zárate <[email protected]> Asunto: [GUFA] Automatizar PDFCreator Para: "GUFA List Member" <[email protected]> Fecha: lunes, 9 de mayo de 2011, 20:43 Yo hago algo así. 1.- Seteo la salida a PDFCreator (Función SetToPDFCreator) 2.- Imprimo lo que haga falta 3.- Seteo a lo que estaba antes (Función CancelPDFCreator) Espero te sirva. SaludOZ, FUNCTION SetToPDFCreator LOCAL loPDFCreator, llReturn STORE NULL TO loPDFCreator STORE .T. TO llReturn TRY loPDFCreator = Createobject('PDFCreator.clsPDFCreator') IF VARTYPE(m.loPDFCreator) = "O" WITH loPDFCreator *-- Syncronize process .cStart("/NoProcessingAtStartup") *-- Save original Values in oApp Object oApp.nUseAutoSave = .cOption("UseAutosave") oApp.nUseAutoSaveDirectory = .cOption("UseAutosaveDirectory") oApp.nAutoSaveFormat = .cOption("AutosaveFormat") oApp.cDefaultPrinter = .cDefaultprinter oApp.cAutoSaveDirectory = .cOption("AutosaveDirectory") oApp.cAustoSaveFileName = .cOption("AutosaveFilename") *-- Set Autosave to True .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 *-- Set Format to PDF .cOption("AutosaveFormat") = 0 *-- Set Default Printer to PDFCreator .cDefaultprinter = "PDFCreator" SET PRINTER TO NAME "PDFCreator" *-- Clear Cache .cClearcache() *-- Set Printo Stop to False .cPrinterStop = .F. *-- Set Directory for AustoSave to %Temp% .cOption("AutosaveDirectory") = ADDBS(SYS(2023)) *-- Set the name to the same that the report has .cOption("AutosaveFilename") = "<REDMON_DOCNAME_FILE>" *-- Save the values .cSaveOptions() ENDWITH ELSE llReturn = .F. ENDIF *-- Destroy Object loPDFCreator = NULL CATCH llReturn = .F. ENDTRY *-- Return Result RETURN m.llReturn ENDFUNC FUNCTION CancelPDFCreator LOCAL loPDFCreator, llReturn STORE NULL TO loPDFCreator STORE .T. TO llReturn TRY loPDFCreator = Createobject('PDFCreator.clsPDFCreator') IF VARTYPE(m.loPDFCreator) = "O" WITH loPDFCreator *-- Syncronize process .cStart("/NoProcessingAtStartup") *-- Recover original Values from oApp Object .cOption("UseAutosave") = oApp.nUseAutoSave .cOption("UseAutosaveDirectory") = oApp.nUseAutoSaveDirectory .cOption("AutosaveFormat") = oApp.nAutoSaveFormat .cDefaultprinter = oApp.cDefaultPrinter SET PRINTER TO NAME (oApp.cDefaultPrinter) *-- Clear Cache .cClearcache() *-- Set Printo Stop to False .cPrinterStop = .F. .cOption("AutosaveDirectory") = oApp.cAutoSaveDirectory .cOption("AutosaveFilename") = oApp.cAustoSaveFileName *-- Save the values .cSaveOptions() ENDWITH ELSE llReturn = .F. ENDIF *-- Destroy Object loPDFCreator = NULL CATCH llReturn = .F. ENDTRY *-- Return Result RETURN m.llReturn ENDFUNC 2011/5/10 Nando <[email protected]> Alguien tiene un ejemplo para automatizar pdfcreator desde fox? Es necesario instalarlo en la pc del cliente o con registrar alguna DLL alcanza? Nando
