2017-05-20 2 views
0

Ich habe eine XML und eine XSLT, die eine HTML-Ausgabe generiert.Generiere ein PDF mit XSL/FO von XSLT (html)

Ich möchte ein PDF mit XSL/FO generieren, das einen Render wie die HTML-Ausgabe gibt, nur in PDF ausgelagert.

Dafür habe ich verstanden, dass ich ein XSL/FO Stylesheet verwenden musste, das eine .fo Datei erzeugt, und dann muss ich Apache FOP verwenden, um eine PDF aus der .fo Datei zu erzeugen.

Meine Frage ist: wie das XSL/FO .xsl Stylesheet, das die .FO-Datei generiert, aus meinem XSLT .xsl Stylesheet, das eine HTML-Datei generiert, zu haben?

Gibt es eine einfache Möglichkeit, eine XSL (html) in die andere XSL (xsl/fo) zu transformieren?

Danke

+0

Weitere Angaben sind wahrscheinlich erforderlich. Wie verwendet Ihr HTML css und ist das css inline oder extern. Verwendet es Javascript, um dynamisch zu zeichnen? –

+0

Mein HTML verwendet CSS (Inline) und kein Javascript. – GeoffreyB

Antwort

0

Sie die XML oder HTML als Eingabe für die XSL-FO-Transformation verwenden können.

Möglicherweise können Sie Ihre XSL als Ausgangspunkt für das XSL-FO-Stylesheet verwenden. Ersetzen Sie die HTML-Ausgabeblöcke durch XSL-FO-Befehle.

Als Alternative könnten Sie in CSS-Seitenmedien suchen. Dann können Sie Ihren vorhandenen HTML-Code sowie ein CSS-Stylesheet verwenden, das von Ihrem vorhandenen CSS abgeleitet ist.

0

Mehrere Personen haben zu verschiedenen Zeiten XHTML zu FO Stylesheets erstellt. Siehe z. B. "xhtml2fo.xsl" auf der Registerkarte "XHTML to XSL-FO" von https://www.antennahouse.com/antenna1/xml-to-xsl-fo-stylesheets/.

Wenn Sie Ihr Inline-CSS verwenden, müssen Sie das CSS analysieren und die Eigenschaften in die nächsten (oft identischen) XSL-FO-Eigenschaften umwandeln.