JavaFX formatierter Text in PDF speichern

Ingerten

Bekanntes Mitglied
Hallo alle zusammen,

hab da mal ne Frage, gibt es denn eine Möglichkeit, ein Text zu formatieren(Schriftart, Schriftgrösse, usw...), ihn dann in ein PDF zu speichern und danach den text, mit der Formatierung aus der PDF-Datei, wieder laden kann und in einem Node wieder editieren kann?

Ich habe es mit dem HTMLEditor von JavaFX versucht und mit der ein oder anderen PDF-Bibliothek versucht, aber ich bekomme es nicht hin, das er die Formatierung übernimmt.

Ich befasse mich das erste mal mit der Formatierung von einem Text, gibt es da eigentlich auch noch was anderes zum formatieren von texten oder muss man da auf den HTMLEditor zurückgreifen?

Ich hoffe ihr könnt mir ein paar anregungen geben und schonmal ein Danke im voraus.
 

dzim

Top Contributor
Ich verstehe nicht was das bedeuten soll:
Ich habe es mit dem HTMLEditor von JavaFX versucht und mit der ein oder anderen PDF-Bibliothek versucht, aber ich bekomme es nicht hin, das er die Formatierung übernimmt.
Du hast also aus dem Inhalt, den du in der Anwendung geschrieben hast, ein PDF erstellen können, aber wenn du es zurück in die Anwendung holst, geht es nicht?
Für PDFs kenne ich eigentlich im Wesentlichen nur iText und Bibliotheken wie Jasper Reports, BIRT etc., die das untendrunter verwenden, um PDFs zu erstellen.
Kenne sonst nur zwei Wege: Screenshots (in JavaFX recht einfach auf Node-Ebene machbar) erstellen und irgendwie (externe Tools? iText?) in PDF-Form bringen, oder aber Word-Dateien (.docx, gezippte XMLs) manipulieren und sein lassen (haben wir mal für ne App so gemacht).
Sonst aber muss ich sagen: Keine Ahnung!
 

Ingerten

Bekanntes Mitglied
Danke erstmal für deine Antwort,

das mit der Word-Datei und XML hört sich ganz interessant an. Wie bekomme ich das denn hin, das ich im Java-Programm den Text formatieren kann, ihn dann mit Hilfe von XML in die Word-Datei schreibe und mir dann irgendwann, den Text mit der Formatierung wieder im Java-Programm anzeigen lasse und weiter bearbeiten kann?

Da gibt es bestimmt eine Bibliothek oder sowas für solche sachen.

Bitte entschuldige das ich so dumm fragen muss, aber bei dem Thema habe ich überhaupt keine Ahnung.
 

dzim

Top Contributor
Nun ja, das Problem ist folgender Teil (der mir immer noch etwas unklar bei dir ist):
den Text mit der Formatierung wieder im Java-Programm anzeigen lasse und weiter bearbeiten kann
Das ist in der Form und Out-of-the-Box nicht möglich. Vielleicht geht das mit Windows-APIs in C#, aber in Java(FX) gib es von Haus aus weder solche APIs noch UI-Elemente, die das anzeigen können.
Es gibt ein paar PDF-Viewer, aber viel editieren können die nicht (und wenn, dann sind sie nicht kostenlos).
Für das Verarbeiten von diversen Formaten gibt es das Apache-Projekt
Apache POI - the Java API for Microsoft Documents
Sollte für die alten proprietären Office-Formate, aber speziell auch für die aktuellen Office OpenXML-Formate funktionieren. Für Open Document must du mal etwas suchen.

Wir haben seinerzeit nur etwas für Template benötigt und selbst gebaut. Der Ablauf war dabei wie folgt:
1) wir generieren einfache JSONs, die die Daten des Dokuments enthalten
2) wir erstellen ein Word-Dokument, dass im Text Platzhalter für eindeutige Werte hat (flache Struktur, also im Root des JSON) -> %bla% -> { "bla":"blub" } -> Im finalen Dokument soll dann dort statt "%bla%" eben "blub" stehen.
3) Dann muss das XML selbst aus dem .docx extrahiert werden (z.B. document.xml)
4) Platzhalter überprüfen, manchmal ist Office der Meinung, sie auf mehrere XML-Tags zu verteilen.
5) spezielle Platzhalter einfügen, die man für Loops verwenden kann (ich habe hier XML-Kommentare eingefügt, die den Wurzelknoten eines Arrays abbilden - Start und Ende). Die darzustellenden Daten dann relativ vom Array aus.

Am Ende etwas Code, um das alles zu verarbeiten. Im ganzen etwa 300-400 Zeilen Code.

Aber wie gesagt: Das ist nur die erstellende Richtung, keine darstellende. Das kann ich nicht.

Andere Idee: Es gibt diverse JavaFX-basierte Projekte, um Asciidoc oder Markdown zu editieren und betrachten. Vielleicht kann dir das als Einstiegspunkt dienen (auch wenn diese Editoren wohl eher kein volles WYSIWYG unterstützen werden). Dort in den Projekten kann man sich ja mal umschauen, was man damit alles machen kann.
 

Ingerten

Bekanntes Mitglied
Besten Dank erstmal für deine Hilfe.

Andere Idee: Es gibt diverse JavaFX-basierte Projekte, um Asciidoc oder Markdown zu editieren und betrachten. Vielleicht kann dir das als Einstiegspunkt dienen (auch wenn diese Editoren wohl eher kein volles WYSIWYG unterstützen werden). Dort in den Projekten kann man sich ja mal umschauen, was man damit alles machen kann.

Das werde ich mir mal anschauen und auch Punkt 2 ist keine schlechte Idee, das muss ich mir mal durch den Kopf gehen lassen, ob ich das damit umsetzen kann, was ich vor habe.

Danke nochmal für die Hilfe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
chik Java Komponente mit formatierter Eingabe? AWT, Swing, JavaFX & SWT 5
P JTextfield Text durch Keylistener verändern AWT, Swing, JavaFX & SWT 4
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
C JToggleButton disabled Text Color AWT, Swing, JavaFX & SWT 11
H JavaFX Label.Text mit bind an DoubleProperty binden AWT, Swing, JavaFX & SWT 3
H JList.setEnabled(false) - Text soll nicht grau sein AWT, Swing, JavaFX & SWT 2
FrittenFritze Text in Flying Saucer selectierbar machen AWT, Swing, JavaFX & SWT 0
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
H JavaFX Gedrehter Text auf Canvas (Positionierung) AWT, Swing, JavaFX & SWT 6
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
I Rich Text drucken AWT, Swing, JavaFX & SWT 0
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
N Promt Text der Combobox AWT, Swing, JavaFX & SWT 0
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
N In Textdatei Text anfügen per GUI AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
R Swing JTextField nicht-kopierbarer Text AWT, Swing, JavaFX & SWT 1
S Text-Info in der Taskbar anzeigen AWT, Swing, JavaFX & SWT 15
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
C JCheckBox disabled text color AWT, Swing, JavaFX & SWT 9
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
CptK Swing Button: ImageIcon unter den Text AWT, Swing, JavaFX & SWT 4
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
L JavaFX TableView kein content text ändern AWT, Swing, JavaFX & SWT 2
L JavaFX Anderer Text, wenn kein Platz ist. AWT, Swing, JavaFX & SWT 1
K JavaFX TextInputDialog Button Text ändern AWT, Swing, JavaFX & SWT 1
S 2D-Grafik affine Transformation für Text-Shape AWT, Swing, JavaFX & SWT 0
B JavaFX Text wird nicht angezeigt, kein Fehler AWT, Swing, JavaFX & SWT 2
J Text in ein Textfeld eingeben und speichern AWT, Swing, JavaFX & SWT 27
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
C Swing Spinner als TableCellEditor - Text zu klein AWT, Swing, JavaFX & SWT 2
H JavaFX - Button und Text - Falsche Darstellung AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
T JavaFX Text des ProgressIndicators ändern AWT, Swing, JavaFX & SWT 2
E Swing Text verschwindet AWT, Swing, JavaFX & SWT 1
G JavaFX - Während AudioRecording keine Text eingabe TextField möglich AWT, Swing, JavaFX & SWT 6
G Rectangle Breite richtet such an die Breite vom Text AWT, Swing, JavaFX & SWT 1
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
K Rich Text FX von TomasMikula AWT, Swing, JavaFX & SWT 0
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
S JAVAFX HTMLEditor wrap text AWT, Swing, JavaFX & SWT 1
J JavaFX Translation Text/Label AWT, Swing, JavaFX & SWT 2
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
A JavaFX HTMLEditor in Text umwandeln AWT, Swing, JavaFX & SWT 2
M Swing jButton Text verschwindet AWT, Swing, JavaFX & SWT 2
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta JLabel anzuzeigenden Text zentrieren AWT, Swing, JavaFX & SWT 9
javampir Java FX Text verschwindet nicht AWT, Swing, JavaFX & SWT 9
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
Tom299 JavaFX Text oder Label benutzen AWT, Swing, JavaFX & SWT 4
E To get a color text on the TextArea AWT, Swing, JavaFX & SWT 4
E To get color text on the TextArea AWT, Swing, JavaFX & SWT 5
M Swing JTextPane, Bilder und Text-flow AWT, Swing, JavaFX & SWT 2
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
T JavaFX Editable Combobox Text-Selektierung nach Trigger AWT, Swing, JavaFX & SWT 4
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
U WYSIWYG Text-Editor für JFrames AWT, Swing, JavaFX & SWT 8
C Button Text in JList neue Zeile AWT, Swing, JavaFX & SWT 6
T MausClick soll TExt ändern AWT, Swing, JavaFX & SWT 6
J Text bei Eingabe löschen AWT, Swing, JavaFX & SWT 5
A SWT Auto completion in text box AWT, Swing, JavaFX & SWT 5
C Geloest: JTextfield: Titel automatisch entfernen, sobald Text eingegeben wird AWT, Swing, JavaFX & SWT 1
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
O Swing Text aus Textfield auslesen AWT, Swing, JavaFX & SWT 8
B Text auf Display ausgeben [LWJGL] AWT, Swing, JavaFX & SWT 2
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
S TextArea get Selected row(Text) AWT, Swing, JavaFX & SWT 6
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
BRoll JButton Text nicht ausblenden ("...") AWT, Swing, JavaFX & SWT 2
J LayoutManager Text Spielerein GUI AWT, Swing, JavaFX & SWT 2
H Javafx - Styled Text AWT, Swing, JavaFX & SWT 5
M Text Area 1. Zeile oben AWT, Swing, JavaFX & SWT 4
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
R JavaFX Automatischer Zeilenumbruch in Text AWT, Swing, JavaFX & SWT 13
P JList/JScroolPane Text verschieben und text wrappen AWT, Swing, JavaFX & SWT 3
F Dialog mit Titel, Text und Ok Button AWT, Swing, JavaFX & SWT 2
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
TheJavaKid DocumentListener soll Text in JTextField ändern AWT, Swing, JavaFX & SWT 4
K JEditorPane Text einfügen AWT, Swing, JavaFX & SWT 4
A Text (String) zu einer Box hinzufügen AWT, Swing, JavaFX & SWT 16
B SWT Text - zeilenumbruch AWT, Swing, JavaFX & SWT 2
TheWhiteShadow Swing Document Text Position in Pixel AWT, Swing, JavaFX & SWT 2
J Swing Text kürzendes JLabel AWT, Swing, JavaFX & SWT 12
J Swing TextArea mit nicht-editierbarem Text AWT, Swing, JavaFX & SWT 7
P Text in JPanel hinzufügen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben