K
Kepa
Gast
Hey ho,
im Moment arbeite ich daran, Pseudo-Quellcode aus einem RCP Editor zu exportieren. Da der Quellcode schön übersichtlich sein soll, wird er von einer Funktion via HTML-Tags gehighlightet und eingerückt (<p style="padding-left: Xpx; margin: 0;">.
Danach wird dieser HTML Code von iText mittels eines HTMLWorkers zur Liste geparst. Die geparste Liste füge ich zu einem PDF-Dokument hinzu.
Nun zur eigentlichen Frage:
Wenn diese Liste mit paragraph.add((Element) aktuelleZeile) in einer for-Schleife innerhalb eines PDF-Paragraphen hinzugefügt wird, funktioniert das Highlighting aus dem HTML-Code, das Einrücken aber wird ignoriert.
Wenn diese Liste aber direkt im Dokument hinzugefügt wird, funktioniert alles einwandfrei.
Woran liegt das?
Hier noch die Funktion zum adden:
content ist der HTML-Code.
Für das Hinzufügen im Dokument ist die Funktion gleich, nur halt ohne "paragraph.", da die Klasse, in der das alles stattfindet von com.itextpdf.text.Document erbt.
Die verwendete iText-Version ist 5.1.0.
Danke für die Hilfe!
im Moment arbeite ich daran, Pseudo-Quellcode aus einem RCP Editor zu exportieren. Da der Quellcode schön übersichtlich sein soll, wird er von einer Funktion via HTML-Tags gehighlightet und eingerückt (<p style="padding-left: Xpx; margin: 0;">.
Danach wird dieser HTML Code von iText mittels eines HTMLWorkers zur Liste geparst. Die geparste Liste füge ich zu einem PDF-Dokument hinzu.
Nun zur eigentlichen Frage:
Wenn diese Liste mit paragraph.add((Element) aktuelleZeile) in einer for-Schleife innerhalb eines PDF-Paragraphen hinzugefügt wird, funktioniert das Highlighting aus dem HTML-Code, das Einrücken aber wird ignoriert.
Wenn diese Liste aber direkt im Dokument hinzugefügt wird, funktioniert alles einwandfrei.
Woran liegt das?
Hier noch die Funktion zum adden:
Java:
ArrayList bodyText;
StyleSheet styles = new StyleSheet();
styles.loadTagStyle("ol", "leading", "16,0");
try {
bodyText = (ArrayList) HTMLWorker.parseToList(new StringReader(content), styles);
for(int k = 0; k < bodyText.size(); k++)
paragraph.add((Element) bodyText.get(k));
} catch (IOException e) {
paragraph.add(Messages.getLabel("noSourceCodeAdded"));
}
Für das Hinzufügen im Dokument ist die Funktion gleich, nur halt ohne "paragraph.", da die Klasse, in der das alles stattfindet von com.itextpdf.text.Document erbt.
Die verwendete iText-Version ist 5.1.0.
Danke für die Hilfe!