Java HTML inkl CSS und Javascript -> PDF

Tr3x

Lieutenant
Registriert
Feb. 2007
Beiträge
638
Hallo,

ich würde gern ein System für Reportings erstellen. Hier war meine Idee das User über einen WYSWIG Editor ein Template in HTML erstellen. Mit der Einbindung von CSS, kann dieses gestaltet werden. Damit die Daten dynamisch gefüllt werden, hätte ich das über Javascript erledigt.

Jetzt bin ich hierfür auf der Suche nach einem Framework. Jetzt kam ich schon über IText, jedoch würde ich sehr ein open source Framework bevorzugen (wer weiß was ich damit noch vor habe). Hier bin ich auf Apache PDF Box und ICEpdf gestoßen. Konnte hier jemand schon Erfahrung sammeln.

Bei vielen wird JavaScript nicht unterstützt, weshalb die dynamischen Daten so nicht eingespielt werden. Hat jemand mit den beiden Erfahrung oder ähnliches sammeln können?
 
Hi,

erkläre bitte nochmal genau, was du vorhast, du vermischt hier für mich zu viele Dinge. Apache PDF Box und ICEpdf sind Java Geschichten. Das hat erstmal keine Relevanz für irgendwelche HTML Templates oder CSS oder JavaScript.

Beschreibe mal Schritt für Schritt, was du vorhast, wie der Workflow sein soll. So wie ich es verstehe sollen irgendwelche Dokumente / Reports erstellt werden, die ein Nutzer vorher in HTML / CSS / JS layouten und erstellen kann. Für mich kommt erst danach serverseitig eine PDF Erstellung, vollkommen egal welche Library oder Sprache dafür dann verwendet wird.

Woher kommen denn die Daten, die dynamisch nachgeladen werden sollen?

VG,
Mad
 
Hi,

das Backend basiert voll und ganz auf Java und soll auch eine Datenbank haben. Das Backend soll aus Templates und den Daten aus der Datenbank PDF Dokumente generieren.

Das Template besteht hier jedoch aus HTML/CSS/JS. Hier soll der User das Template gestalten wie er will und enthält statische Texte sowie dynamische "Platzhalter".

Auf Abruf soll das Backend das Template verwenden und führt die "Platzhalter"/Javascripte aus. Die Javascript nehmen die Daten aus der Datenbank und wandeln diese entsprechend in das HTML ein. Zum Beispiel Ausgabe aller Kunden Namen in einer Schleife. Am Ende sollte ein fertiges HTML Dokument vorliegen das nur noch vom Backend in PDF umgewandelt werden. So der Plan und auch hoffentlich Deine Vermutung.

Die Frage für mich ist nur ob es überhaupt möglich ist HTML/CSS/JS mit Java in ein ordentliches PDF Dokument zu wandeln und welche guten Frameworks dabei helfen würden.

VG
 
JavaScript ausführen geht über die Nashorn Engine.
Was CSS angeht so könnte JavaFx helfen.

HTML inkl. CSS und JavaScript Serverseitig generieren lassen .. da müsste spontan passen.
 
schau dir mal wkhtmltopdf an, damit kannst du deine HTML seite direkt als pdf generieren.
 
Hi,

wkhtmltopdf hab ich sogar mal gestest. Leider wird hier kein JavaScript ausgeführt und fällt daher flach.
Nashron und JavaFx klingt nicht verkehrt. Aber wie wäre den da der Ansatz. Zuerst HTML und dann JavaScript das hier eingebunden wird ausführen? Aber wie erkennt Nashorn die Scripte überhaupt?
 
Ich verstehe nicht wieso du etwas im Frontend zusammenbasteln willst, was dann aber vom Backend als PDF umgewandelt wird ? Wenn du all die Daten eh im Frontend hast, wieso nicht dort PDF generieren und auf den Server laden ?

Wenn du Daten vom Backend ins Frontend abrufst, wird es wohl sowas wie REST-Schnittstellen geben ? Die können auch den Weg anders herum, brauchst nur ein REST Endpunkt mit HTTP POST Methode. Frameworks die solchen REST Kram machen sind z.B. JaxRS.

Damit könntest dann einfach im Frontend eine URL aufrufen bzw. ein Formular erstellen welches die tut und somit die Daten an den Java-REST-Endpunkt schicken. Dort wird das HTML als String empfangen und über irgendeine PDF library verarbeitet.
 
Zuletzt bearbeitet:
Über das Fronted sollten die User den HTML CSS und JavaScript code hinterlegen, erweitern. Das Backend stellt die Daten und die "Engine" zur Verfügung.
 
Zurück
Oben