XHTML drucken mit (oder ohne) Flying Saucer

Status
Nicht offen für weitere Antworten.
Hi!
Ich versuche XHTML mit JAVA zu drucken. Zur Anzeige verwende ich derzeit Flying Saucer, das an und für sich auch ein Printable erzeugt. Beim Versuch, das zu drucken, bekomme ich allerdings folgende Fehlermeldung:
FEHLER: 'Content is not allowed in prolog.'.
Das deutet auf einen Fehler beim X(HT)ML-Parsen hin, der Fehler kommt aber wie gesagt nur beim Drucken, nicht beim Anzeigen (wo ja auch das Dokument geparst wird).
Der zu druckende Text ist laut w3c Validator auch in Ordnung.


  • Hat jemand Erfahrung mit dem Drucken unter Flying Saucer?
  • Oder kennt ihr Alternativen? Ich möchte HTML on the fly generieren und sowohl anzeigen als auch drucken können (direkt aus JAVA ohne Umwege über etwa PDF). Dabei müssen aber alle CSS-Angaben eingehalten werden. Außerdem muss es freie Software sein.


DAAANKE!!!

PS: Sorry, falls das nicht der richtige Thread ist.....das passt zu mehreren Themen...
 
G

Guest

Gast
Lerne mit Flyingsourcer ein pdf zu erstellen,...

Dann klappts auch sicher mit dem Drucken.


Dazu muß dein Xhtml exakt W3C konform sein. Der Fehler taucht auf, wenn das nicht der Fall ist.

Dazu benutzte das hier http://validator.w3.org/

Ich lasse meine Anwender ein pdf erstellen, dann können sie das pdf drucken. Ein direkter Druck ist unsinnig viiel Arbeit. Denn mit einem einfachen Druck ist es nicht getan. Druckereinstellungen, wie Randabstände usw müssen ja dann auch möglich sein. Erledigt ein PDF-Betrachter ganz von alleine.

Hoffe geholfen zu haben da Milbo
 
Hi, danke für deine Antwort.
Mit iText (was auch vom Flying Saucer Projekt empfohlen wird) ist es problemlos möglich eine PDF-Datei zu erstellen. Es wäre trotzdem für mein Projekt wesentlich besser, wenn keine Datei gespeichert werden müsste und der Druck auch ohne Umweg funktionieren würde.
Hast du vielleicht das Flying Saucer XHTMLPrintable schon einmal ausprobiert und kannst mir deine Erfahrung damit beschreiben?
Oder weißt du eine Möglichkeit, wie man die erzeugten PDFs dann gleich drucken kann (ohne sie öffnen zu müssen)?
Danke!


PS: Mein XHTML Code ist z.B. folgendermaßen aufgebaut:

Code:
String html =
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>"+
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"+
"<html xmlns=\"http://www.w3.org/1999/xhtml\">"+
"<head>"+
"<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\" />"+
"<title>Test</title>"+
"</head>"+
"<body>"+
"TEST"+
"</body>"+
"</html>";
 

Ullenboom

Bekanntes Mitglied
Also zumindest Postscript (im inputStream) kann man so an den Standarddrucker schicken:
Code:
InputStream inputStream = ...;
Doc doc = new SimpleDoc( inputStream, DocFlavor.INPUT_STREAM.AUTOSENSE, null );
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add( MediaSizeName.ISO_A4 );
attributes.add( new Copies(1) );
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob docPrintJob = printService.createPrintJob();
try
{
  docPrintJob.print( doc, attributes );
}
catch ( PrintException e )
{
  e.printStackTrace();
}
Jetzt musst du nur noch mit einem Konverter PDF->PS bringen :)

Grüße

Christian
 
G

Guest

Gast
Hi!

Hab jetzt eine Lösung gefunden, ist zwar ein bisschen umständlich, aber funktionieren tuts. Für die, die es interessiert:
  1. Mit Flying Saucer wird das XHTML zu einem Document 'gerendert'
  2. Danach erzeuge ich ein PDF mit iText
  3. Und schließlich kann ich das PDF mit dem Adobe Acrobat Reader for Java anzeigen und drucken. Das tolle ist, dass die Anzeige auch beispielsweise zoomen unterstützt. Theoretisch kann man dann auch noch Optionen wie das Öfnen von Dokumenten verbieten, das funktioniert bis jetzt bei mir noch nicht....
    aber sonst bin ich eigentlich sehr zufrieden.
MFG
 
Ullenboom hat gesagt.:
Also zumindest Postscript (im inputStream) kann man so an den Standarddrucker schicken:

Jetzt musst du nur noch mit einem Konverter PDF->PS bringen :)

Grüße

Christian


Kennst du einen Postscript-Ersteller? Sollte einfach und frei sein, ob PS direkt aus HTML oder aus PDF erstellt wird, wäre mir egal.
Danke! MFG
 
Hi!

Leider hat sich der Adobe Viewer als Irrtum entpuppt. Der druckt nämlich nur weiße Seiten.....
Damit steh ich wieder am Anfang :?

Wie erstellt ihr Formulare zur Laufzeit? Also irgendwie formatierten Text, den man dann ausdrucken kann?

Danke, mfg
 
G

Guest

Gast
Hi,
ich arbeite mit XHTMLRenderer zum drucken und generieren von PDFs. Es gab eine Regression bei der version .7. Mittlerweile funktioniert das Drucken wieder, man muss sich aber die aktuelle version aus dem CVS ziehen. Wenn Du Deine Mail-Adresse hinterlässt, dann kann ich Dir eine jar mit der aktuellen version schicken, die drucken kann. Ansonsten findest Du die Hinweise in der Developer-Mailing-Liste im Projekt dort. Ab dem 8pre2 sollte es auch offiziell funktionieren.

Ciao,
Wolfgang

P.S.: Das Drucken klappt. schöner wird der Ausdruck aber beim Drucken des PDF mt Adobe Acrobat.
 
Anonymous hat gesagt.:
Hi,
ich arbeite mit XHTMLRenderer zum drucken und generieren von PDFs. Es gab eine Regression bei der version .7. Mittlerweile funktioniert das Drucken wieder, man muss sich aber die aktuelle version aus dem CVS ziehen. Wenn Du Deine Mail-Adresse hinterlässt, dann kann ich Dir eine jar mit der aktuellen version schicken, die drucken kann. Ansonsten findest Du die Hinweise in der Developer-Mailing-Liste im Projekt dort. Ab dem 8pre2 sollte es auch offiziell funktionieren.

Ciao,
Wolfgang

P.S.: Das Drucken klappt. schöner wird der Ausdruck aber beim Drucken des PDF mt Adobe Acrobat.

Hey, vielen Dank!!! Das klingt schon brauchbar......

Würd auch gern auf dein Angebot zurückkommen. Hast du einen Usernamen, damit ich dir eine PM mit der Adresse schicken kann?
 
Hi!
Leider funktioniert das Drucken bei mir immer noch nicht. Ich bekomme immer die Fehlermeldung: Content is not allowed in Prolog.
Allerdings wird das Dokument am Bildschirm dargestellt und validator.w3.org sagt mir auch, dass mein Code ok ist. Fällt euch was dazu ein?

PS: Code ist z.B. (von Selfhtml entnommen):
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>Wenn HTML zu XHTML wird</title>
</head>
<body>

<h1><a name="start" id="start">Wenn HTML zu XHTML wird</a></h1>



Dann m&ssen alle Elemente mit Inhalt ein End-Tag haben.</p>



Leere Elemente
m&ssen einen Schr&gstrich am Ende haben.</p>

<hr noshade="noshade" />


Leere Attribute erhalten ihren eigenen Namen als Wert zugewiesen.</p>



[url="#start"]Verweise zu Ankern[/url] springen zum Zielelement
aufgrund des id-Attributs, nicht das name-Attributs.</p>

<script type="text/javascript" src="zeitstempel.js"></script>


</body>
</html>
 

Wolfgang Lenhard

Bekanntes Mitglied
Hi Wintermute,
hast Du den Code zum Drucken verwendet, den ich Dir geschickt habe? Das Ganze ist natürlich Beta und noch nicht absolut stabil. Wenn Du etwas am PrinterJob veränderst, und sei es nur den Namen desJobs zu ändern, dann können sich Probleme ergeben.
Hast Du die richtige Jar im Classpath?
Die Umlaute kommen mir etwas verdächtigvor.
Klappt das Drucken generell nicht, oder nur in Bezug auf Deine Xhtml-Datei. Was ist mit den Beispielen von FlyingSaucer?

Ciao,
Wolfgang
 
Ok, jetzt hab ichs..... Ich darf nicht wie gewohnt mit DocumentBuilderFactory ein Dokument erstellen, und auch nicht einfach ein File übergeben, sondern muss
Code:
new File("./test.html").toURI().toString()
verwenden..... bisschen seltsam :)
Jetzt muss ich es nur noch schaffen, auch aus Strings den Inhalt zu beziehen, weil eine Datei zu schreiben, um sie dann wieder auszulesen ist schon sehr ineffizient :lol:
Ich sag jedenfalls DANKE für deine Hilfe!!
MFG, Harald
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JSF rendert XHTML zu früh AWT, Swing, JavaFX & SWT 5
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
I Rich Text drucken AWT, Swing, JavaFX & SWT 0
F JavaFX (Tree)TableView korrekt drucken AWT, Swing, JavaFX & SWT 1
F 2D-Grafik JTextArea drucken bringt mieses Ergebnis AWT, Swing, JavaFX & SWT 2
J bestimmten Bereich eines JPanels drucken AWT, Swing, JavaFX & SWT 2
L Charset beim Drucken falsch AWT, Swing, JavaFX & SWT 2
Sugan JavaFX Bilder drucken AWT, Swing, JavaFX & SWT 0
O JTable linksbündig drucken (nicht der Zelleninhalt) AWT, Swing, JavaFX & SWT 2
M Swing PDF Datei nach drucken nicht löschbar AWT, Swing, JavaFX & SWT 6
F AWT Drucken verschluckt inhalt AWT, Swing, JavaFX & SWT 1
S JTable im Hoch- und Querformat angepasst drucken AWT, Swing, JavaFX & SWT 1
kaoZ JFrame Drucken AWT, Swing, JavaFX & SWT 8
B Drucken der JTextArea AWT, Swing, JavaFX & SWT 4
Z Drucken AWT, Swing, JavaFX & SWT 2
A Swing Drucken eines JTextPanes AWT, Swing, JavaFX & SWT 7
M JTable Drucken NullpointerException +JTable speichern AWT, Swing, JavaFX & SWT 6
C Swing Drucken von JPanel AWT, Swing, JavaFX & SWT 14
E Drucken von JPanel mit richtiger Skalierung AWT, Swing, JavaFX & SWT 5
L [SWT] Daten und Bilder drucken AWT, Swing, JavaFX & SWT 2
S AWT Drucken aus bestimmtem Papierfach AWT, Swing, JavaFX & SWT 7
S Probleme beim drucken AWT, Swing, JavaFX & SWT 13
M Swing JTable drucken/Darstellung AWT, Swing, JavaFX & SWT 2
D 2D-Grafik Problem beim Drucken eines Grafik-Objekts AWT, Swing, JavaFX & SWT 2
W AWT Drucken ohne Druckdialog AWT, Swing, JavaFX & SWT 2
O JTable mit Inhalt drucken AWT, Swing, JavaFX & SWT 3
C Swing Briefe/Dokumente zum Drucken erstellen AWT, Swing, JavaFX & SWT 20
D Drucken eines "Formulars" in abgeänderter Form AWT, Swing, JavaFX & SWT 5
P Jpanel mit Komponenten drucken AWT, Swing, JavaFX & SWT 3
T Drucken eines JFrame AWT, Swing, JavaFX & SWT 2
H AWT Oberer Seitenrand kann beim Drucken vom Anwender nicht verstellen werden. AWT, Swing, JavaFX & SWT 6
P Drucken von Jtextpane mit Seitenangabe AWT, Swing, JavaFX & SWT 1
A Probleme beim Drucken AWT, Swing, JavaFX & SWT 5
D Vorabberatung :) Briefe gestalten und drucken (als PDF) AWT, Swing, JavaFX & SWT 3
N Nur ein Element sichtbar beim Drucken eines JFrame AWT, Swing, JavaFX & SWT 9
A Probleme beim Drucken (Seite wird abgeschnitten) AWT, Swing, JavaFX & SWT 2
N JTable: Drucken mit größerer RowHeight AWT, Swing, JavaFX & SWT 2
N JPanel nicht ganz drucken AWT, Swing, JavaFX & SWT 2
A Probleme mit dem Drucken AWT, Swing, JavaFX & SWT 2
K Seite zum drucken einrichten AWT, Swing, JavaFX & SWT 2
F Drucken in Java AWT, Swing, JavaFX & SWT 3
A Problem mit der Seiteneinrichtung beim Drucken AWT, Swing, JavaFX & SWT 7
A Drucken einer JList AWT, Swing, JavaFX & SWT 4
C JTable drucken AWT, Swing, JavaFX & SWT 7
O Panel drucken AWT, Swing, JavaFX & SWT 2
Y Problem beim Drucken AWT, Swing, JavaFX & SWT 2
A Drucken AWT, Swing, JavaFX & SWT 23
H JTable drucken mit Header AWT, Swing, JavaFX & SWT 4
C Fenster rücken beim Drucken in den Hintergrund AWT, Swing, JavaFX & SWT 6
& mehrseitige HTML-Dokumente drucken AWT, Swing, JavaFX & SWT 2
ARadauer jtable drucken unter java 1.3 AWT, Swing, JavaFX & SWT 2
B Unsichtbares JPanel drucken. AWT, Swing, JavaFX & SWT 14
C Text drucken? AWT, Swing, JavaFX & SWT 2
V Drucken in Java AWT, Swing, JavaFX & SWT 2
K Drucken von JTextComponenten AWT, Swing, JavaFX & SWT 2
R Drucken unter jdk 1.4 mit JTable AWT, Swing, JavaFX & SWT 11
B Ein großes JTextPane komplett drucken AWT, Swing, JavaFX & SWT 2
I Drucken: Programm stürzt bei AWT, Swing, JavaFX & SWT 7
I Fensterinhalt drucken AWT, Swing, JavaFX & SWT 2
E Drucken von JComponent. AWT, Swing, JavaFX & SWT 4
F Transparent bzw. transfluent(durscheinend) drucken? AWT, Swing, JavaFX & SWT 2
P Idee zum drucken von JTextField und JTable AWT, Swing, JavaFX & SWT 2
O JTable, mehrere Spalten drucken AWT, Swing, JavaFX & SWT 4
orenishii mehrseitig Images anzeigen und drucken SimpleBook.java AWT, Swing, JavaFX & SWT 5
R JPanel drucken AWT, Swing, JavaFX & SWT 5
foobar JTable im Hintergrund drucken AWT, Swing, JavaFX & SWT 2
S Drucken - Bild skalieren AWT, Swing, JavaFX & SWT 2
S JAI und das praktische Drucken AWT, Swing, JavaFX & SWT 4
S Drucken AWT, Swing, JavaFX & SWT 15
S JTable - Drucken AWT, Swing, JavaFX & SWT 10
G HTML aus JEditorPane drucken AWT, Swing, JavaFX & SWT 2
G JPanel drucken AWT, Swing, JavaFX & SWT 2
B componente drucken AWT, Swing, JavaFX & SWT 3
M Ein Bild aus einem Panel drucken? AWT, Swing, JavaFX & SWT 11
G Frage zum Drucken AWT, Swing, JavaFX & SWT 2
V Problem beim drucken AWT, Swing, JavaFX & SWT 4
L swing komponenten Drucken AWT, Swing, JavaFX & SWT 7
G JTextPane drucken AWT, Swing, JavaFX & SWT 2
S Drucken eines Panels AWT, Swing, JavaFX & SWT 3
T JEditorPane-content drucken AWT, Swing, JavaFX & SWT 2
T Drucken des Inhaltes einer JTextArea AWT, Swing, JavaFX & SWT 4
J JTextArea drucken AWT, Swing, JavaFX & SWT 4
@ Erzeugen einer Maske zum drucken AWT, Swing, JavaFX & SWT 2
G Drucken?? AWT, Swing, JavaFX & SWT 4
H JTable drucken AWT, Swing, JavaFX & SWT 4
K JPanel drucken AWT, Swing, JavaFX & SWT 4
P JTable drucken AWT, Swing, JavaFX & SWT 2
B JPanel Drucken AWT, Swing, JavaFX & SWT 1
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
M KeyEvent ohne Fokus konsumieren AWT, Swing, JavaFX & SWT 1
Georges456 NetBeans am Mac leider ohne FXML AWT, Swing, JavaFX & SWT 17
A JOptionPane OK ohne Eingabe abfangen AWT, Swing, JavaFX & SWT 10
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
N setOnKeyPressed ohne Scene AWT, Swing, JavaFX & SWT 2
M mvvm umsetzen ohne fxml AWT, Swing, JavaFX & SWT 0
L JavaFX OpenJFX16 App ohne Gradle and Maven? AWT, Swing, JavaFX & SWT 2
izoards Jar startet jedoch ohne Hintergrundfunktion AWT, Swing, JavaFX & SWT 25
L FX-Projekt: fast leere Fensterausgabe ohne Fehlermeldung AWT, Swing, JavaFX & SWT 6
H Timer ohne alles lahmzulegen? AWT, Swing, JavaFX & SWT 2
Z Random Butten erstellen ohne Container AWT, Swing, JavaFX & SWT 15

Ähnliche Java Themen


Oben