iText: PDF erstellen (mittels HTMLworker)

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:
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ß
 
Ich denke mal, dass ich den Seitenumbruch irgendwie mit erstellen muss (irgendwie in der for-Schleife)?!
Im Moment scheint ja einfach nur 1:1 alles auf die erste Seite zu kippen, egal ob es
drauf passt oder nicht.


Weiß jemand wie ich in iText überhaupt irgendwie nen Seitenumbruch mache bzw. das Schlagwort für Seitenumbruch, damit ich mir die Infos ggf. aus der Doku ziehen kann?


Gruß
 
N'abend,

Seitenumbrüche werden meines Wissens nach automatisch gesteuert, können aber über die newPage() Methode der Document Klasse auch erzwungen werden.

MfG
 
Zurück