FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Usar Pdfcreator para imprimir XML
Posts: 19
Joined: Mon Dec 06, 2010 06:35 PM
Usar Pdfcreator para imprimir XML
Posted: Sun Mar 17, 2013 01:04 AM
Hola,

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:

Print timeout
Error BASE/1004 No exported method: CSTART


o tambi茅n este error si utilizo la opci贸n oPDFC:cVisible := .t.

Print timeout
Error BASE/1005 No exported variable: CVISIBLE


Code (fw): Select all Collapse
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


La necesidad de hacerlo as铆 es porque tampoco he encontrado una forma de enviar directamente a impresi贸n el archivo xml, as铆 que opt茅 por convertirlo a pdf, pero no me funciona...

Agradezco cualquier ayuda con el tema.

Saludos,
Javier
Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Usar Pdfcreator para imprimir XML
Posted: Sun Mar 17, 2013 03:20 PM

Alin,

No te molestes, pero me suena a que lo que pretendes es matar moscas a ca帽onazos.

驴 No ser谩 m谩s f谩cil, m谩s controlable, hacer una impresi贸n de xml, utilizando por ejemplo la funci贸n de recorrido de xml que Antonio Linares, amablemente public贸 en el foro ? Yo pienso que s铆. Para imprimir el xml te bastar谩 una impresi贸n que vaya incrementando el margen de impresi贸n seg煤n el elemento impreso.

Saludos

Posts: 19
Joined: Mon Dec 06, 2010 06:35 PM
Re: Usar Pdfcreator para imprimir XML
Posted: Sun Mar 17, 2013 04:10 PM

Hola,

Al contrario amigo, gracias por contestar...

No tengo absoluta idea de lo que me hablas, pero si pudieras compartir algo de c贸digo acerca de lo que dices para darme alguna luz.

Agradezco la ayuda.

Saludos,
Javier

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Usar Pdfcreator para imprimir XML
Posted: Sun Mar 17, 2013 09:12 PM

Javier,

En este hilo tienes la manera de recorrer un .xml: viewtopic.php?f=3&t=25745&start=0&hilit=xml+viewer

Usa ese "recorrido" para imprimirlo, algo asi como

PRINT oPrn
Aqui recorre imprimiendo los nodos del xml. Utiliza el metodo Depth() para calcular el margen de impresion de cada nodo.
END PRINT

Saludos

Continue the discussion