Aqui pongo el código para adaptar el ejemplo a el uso del soporte xml de harbour .Solo he cambiado la funcion FusionPDF .Supongo que se puede limpiar algo el código ,pero según esta funciona . Aún no tengo resuelto el tema de usar ISO en vez UTF .
Code: Select all
****************************************************
FUNCTION FusionPDF(cFicheroPDF,cFicheroXML,c)
*****************************************************
Local aDbf := {}
Local nHandle
Local nAreaAnterior:=Select()
Local cSalida:="salida"+SUBSTR(TIME(),1,2)+SUBSTR(TIME(),4,2)+SUBSTR(TIME(),7,2)+ ".pdf"
Local n:= 1
local oXml := mxmlNewXML()
local oDoc := mxmlNewElement( oXml, "xfdf" )
local oFields , xDato
mxmlElementSetAttr( oDoc, "xmlns", 'http://ns.adobe.com/xfdf/' )
mxmlElementSetAttr( oDoc, "xml:space",'preserve' )
oFields := mxmlNewElement( oDoc, "fields" )
while n < 101
xDato := mxmlNewElement( oFields, 'field' )
mxmlElementSetAttr( xDato, 'name', 'c'+alltrim(str(n,3)) )
xDato := mxmlNewElement( xDato, "value" )
mxmlNewText(xDato, 0, c[n] )
n++
end while
oFields := mxmlNewElement( oDoc, "f" )
mxmlElementSetAttr( oFields, "href" , 'SEPA2.PDF')
mxmlSaveFile( oXML, "datos.xml", MXML_NO_CALLBACK )
//
COPY FILE &cFicheroPDF TO "entrada.pdf"
// COPY FILE &cFicheroXML TO "datos.xml"
//
WaitRun("pdftk.exe entrada.pdf fill_form datos.xml output "+ cSalida,0 )
//
ShellExecute( ,"open", cSalida,,,1 )
//
// ERASE (cFicheroXML)
//
RETURN NIL