2017-04-11 5 views
0

Ich versuche, eine PDF mit FOP zu generieren. Dazu nehme ich eine Vorlagendatei auf, paraphiere ihre Werte mit Jinja2 und übergebe sie dann an einen Systemaufruf.Ist es möglich, xsl Apache FOP aufzurufen, ohne eine Eingabedatei bereitzustellen, sondern eine Zeichenfolge zu übergeben

Ist es möglich, einen Unterprozessaufruf an FOP auszuführen, ohne eine Eingabedatei zu übergeben, sondern stattdessen eine Zeichenfolge, die das XML direkt enthält? Und wenn ja, wie würde ich das tun?

Ich hatte gehofft, für so etwas wie dieses

fop -fo "XML here" -pdf output.pdf 

Antwort

0

Ja, es war tatsächlich möglich.

mit Python konnte ich die XML-Daten aus der Datei in lxml.etree importieren:

tree = etree.parse('FOP_PARENT.fo.xml') 

und dann durch die etree mit den Include-Tags zu analysieren:

tree.xinclude() 

Dann war es ein einfacher Fall des xML wieder in Unicode-Konvertierung:

xml = etree.tounicode(tree) 

Dies ist, wie ich die Vorlagen bekam wo rk. Hoffentlich hilft das jemandem, der das gleiche Problem hat!

Verwandte Themen