mehrseitige HTML-Dokumente drucken

Status
Nicht offen für weitere Antworten.
Hi!

Ich erstelle zur Laufzeit eines Programmes ein HTML-Dokument, welches sowohl Text, als auch Tabellen enthält.
Dieses Dokument möchte ich nun direkt aus JAVA drucken. Ich suche nun schon sehr lange nach einer - möglichst einfachen - Lösung dieses Problems.
Als Ansatz habe ich die in Java 1.6 neue Funktionalität, JTextComponents einfach drucken zu können, gewählt (s. java.sun.com/docs/books/tutorial/uiswing/misc/printtext.html).
Das heißt, ich lege eine JEditorPane an und wähle als ContentType HTML
Code:
setContentType("text/html")
Dann kann ich einfach mit
Code:
textComponent.print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes,boolean interactive)
den Inhalt drucken. Die Aufteilung auf mehrere Seiten funktioniert auch soweit, allerdings gibt es Probleme mit zu breitem Inhalt, breite Tabellen werden nicht an die Seite angepasst. Im HTML-String kann man die Breite leider nicht begrenzen (JAVA versteht CSS nur sehr begrenzt).

Wisst ihr vielleicht eine einfache Lösung für das Problem? Damit wäre mir sehr geholfen, brauche das wirklich ziemlich dringed!

Danke!
 
Du könntest dir die Source der JTextArea ansehen.
Diese hat 4 Methoden:
.setLineWrap
.setWrapStyleWord
sowie die 2 entsprechenden get-Methoden.

Einfach mal ansehen wie die Sache dort implementiert ist, von JEditorPane erben und entsprechend abändern.

Das ist die einzige Idee, die ich momentan habe.

Naja, ausser vom Programm in den HTML-Text
einfügen zu lassen, aber das ist weder schön noch praktisch (beim verändern der Fenstergröße z.B.)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben