magic_halli
Erfahrenes Mitglied
Hi,
ich erstelle aus einem Eingangsstring ein PDF-File mittels iText-API. Mittels des implementierten HTMLworker wird, im Eingangsstring, enthaltener HTML-Code auch korrekt leserlich im PDF konvertiert.
Soweit klappt das alles schonmal, ABER:
Wenn mein Eingangsstring ('String htmlString') mehr Text als eine A4-Seite beinhaltet, wird keine 2. Seite erstellt!
Ich bekomme immer nur ein PDF mit einer Seite heraus - der restliche Text wird dann einfach unterschlagen!
Hat jemand ne Ahnung, wie ich mehrere Seiten erstellen kann? Ich finde dazu einfach keinerlei Doku bzw. Erklärungen.
Hier mal mein Code:
Danke und Gruß
ich erstelle aus einem Eingangsstring ein PDF-File mittels iText-API. Mittels des implementierten HTMLworker wird, im Eingangsstring, enthaltener HTML-Code auch korrekt leserlich im PDF konvertiert.
Soweit klappt das alles schonmal, ABER:
Wenn mein Eingangsstring ('String htmlString') mehr Text als eine A4-Seite beinhaltet, wird keine 2. Seite erstellt!
Ich bekomme immer nur ein PDF mit einer Seite heraus - der restliche Text wird dann einfach unterschlagen!
Hat jemand ne Ahnung, wie ich mehrere Seiten erstellen kann? Ich finde dazu einfach keinerlei Doku bzw. Erklärungen.
Hier mal mein Code:
Java:
Document document = Document(PageSize.A4);
// get stream
FileOutputStream fos = new FileOutputStream( "C:/Test/test.pdf" );
BufferedOutputStream ms = new BufferedOutputStream(fos);
// need the PdfWriter for some settings
PdfWriter myWriter = PdfWriter.getInstance(document, ms);
// this is for letting the memory stream open when closing the document
myWriter.setCloseStream(false);
document.open();
HTMLWorker worker = new HTMLWorker(document);
StringReader sReader = new StringReader(htmlString);
// get the list of tags in the html document
ArrayList list = worker.parseToList(sReader,null);
PdfContentByte byt = myWriter.getDirectContent();
// need columnText to automatically jump to a new line if end of Line is reached
ColumnText text = new ColumnText(byt);
text.setSimpleColumn( document.left(),document.bottom(),document.right(),document.top() );
for(int k = 0; k<list.size() ; k++){
text.addElement((com.lowagie.text.Element)list.get(k));
}
// write the elements to the document…
text.go();
document.close();
Danke und Gruß