Tengo la necesidad de imprimir en batch archivos xml que se encuentran en determinado folder, estoy tratando de hacerlo con pdfcreator, ya que con bullzip no tuve suerte, estoy usando el código de abajo para lograr el objetivo pero me esta marcando error:
o también este error si utilizo la opción oPDFC:cVisible := .t.Print timeout
Error BASE/1004 No exported method: CSTART
Print timeout
Error BASE/1005 No exported variable: CVISIBLE
Code: Select all
procedure imprimirArchivoXML( cfileName )
local nEvent := 0
local nTime
oPDFC:cVisible := .t.
If oPDFC:cStart("/NoProcessingAtStartup") = .f.
If oPDFC:cStart("/NoProcessingAtStartup", .t.) = .f.
wait "Init printer error!"
return nil
EndIf
EndIf
oPDFC:_cOption('UseAutosave',1)
oPDFC:_cOption('UseAutosaveDirectory',1)
oPDFC:_cOption("AutosaveFormat",0)
DefaultPrinterBak := oPDFC:cDefaultprinter
oPDFC:cDefaultprinter := "PDFCreator"
oPDFC:cClearCache()
oPDFC:_cOption('AutosaveFilename',"test")
oPDFC:_cOption('AutosaveDirectory', "c:\temporal")
oPDFC:cSaveOptions()
// print something
//oPdfC:cPrintPDFCreatorTestpage()
oPdfC:cPrintFile( cfileName )
oPdfC:cPrinterStop := .F.
nTime := hb_MilliSeconds()
do while nEvent == 0 .AND. hb_MilliSeconds() - nTime < 10000
hb_idleSleep( 0.5 )
/* The following dummy line is required to allow COM server to send event [Mindaugas] */
oPdfc:_cOption( "UseAutosave" )
enddo
if nEvent == 0
? "Print timeout"
elseif nEvent == 1
? "Printed successfully"
elseif nEvent == 2
? "Error:", oPdfc:cError():Description
else
? "Unknown event"
endif
//oPdfC:cDefaultPrinter := cDefaultPrinter
oPDFC:cClose()
oPdfC := NIL
return nil
Agradezco cualquier ayuda con el tema.
Saludos,
Javier