Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sun.print.PrintJobFlavorException: invalid flavor

185 views
Skip to first unread message

Martin Schweikert

unread,
May 12, 2004, 9:16:47 AM5/12/04
to
Hallo!

Ich wundere mich, dass der untenstehende Code nicht funktioniert (JDK1.4).
Der JBuilder ist mit der Syntax einverstanden, aber zur Laufzeit bekomme ich die
Exception, die unten angehängt ist.

Das würde ich gerne verstehen ...


import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.Doc;
import javax.print.DocPrintJob;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.standard.MediaSizeName;
import javax.print.attribute.standard.Copies;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.DocFlavor;
import javax.print.SimpleDoc;
import javax.print.PrintException;

public void PrintString(String s) {

PrintRequestAttributeSet aset;
Doc doc;
DocPrintJob printerJob;

aset = new HashPrintRequestAttributeSet();
aset.add(MediaSizeName.ISO_A4);
aset.add(new Copies(1));

PrintService pservices =
PrintServiceLookup.lookupDefaultPrintService();
System.out.println(pservices.getName());

DocFlavor flavor = DocFlavor.STRING.TEXT_PLAIN;


doc = new SimpleDoc(s, flavor, null);
try {
System.out.println("DOC : \n " + doc.getPrintData());
}
catch (IOException e) {

e.printStackTrace();
}

printerJob = pservices.createPrintJob();

System.out.println("Printer Name : " +
printerJob.getPrintService());
try {
printerJob.print(doc, aset);

}
catch (PrintException e) {

e.printStackTrace();
}
System.out.println("Done Printing.");

}

sun.print.PrintJobFlavorException: invalid flavor

at sun.print.Win32PrintJob.print(Win32PrintJob.java:296)

at condoradm.CadmUtilities.PrintString(CadmUtilities.java:135)

at condoradm.frmObjectDump.jButtonPrint_actionPerformed(frmObjectDump.java:175)

at condoradm.frmObjectDump_jButtonPrint_actionAdapter.actionPerformed
(frmObjectDump.java:234)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)

at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed
(AbstractButton.java:1839)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased
(BasicButtonListener.java:245)

at java.awt.Component.processMouseEvent(Component.java:5100)

at java.awt.Component.processEvent(Component.java:4897)

at java.awt.Container.processEvent(Container.java:1569)

at java.awt.Component.dispatchEventImpl(Component.java:3615)

at java.awt.Container.dispatchEventImpl(Container.java:1627)

at java.awt.Component.dispatchEvent(Component.java:3477)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)

at java.awt.Container.dispatchEventImpl(Container.java:1613)

at java.awt.Window.dispatchEventImpl(Window.java:1606)

at java.awt.Component.dispatchEvent(Component.java:3477)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy
(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)


Gruss,
Martin
--
http://www.martin-schweikert.de

Sascha Broich

unread,
May 12, 2004, 10:25:52 AM5/12/04
to
Martin Schweikert schrieb:

> sun.print.PrintJobFlavorException: invalid flavor
>
> at sun.print.Win32PrintJob.print(Win32PrintJob.java:296)

Sieht für mich so aus, als ob der benutzte Drucker dieses Flavor nicht
verarbeiten kann.

Sascha Broich
--
Weil, so schließt er messerscharf,
nicht sein kann, was nicht sein darf.
(Die unmögliche Tatsache, C. Morgenstern)

Martin Schweikert

unread,
May 13, 2004, 4:25:15 AM5/13/04
to
Sascha Broich <sascha.br...@online.de> schrieb in news:1jp9krk50ab10
$.d...@broich.onlinehome.de:

>> sun.print.PrintJobFlavorException: invalid flavor
>>
>> at sun.print.Win32PrintJob.print(Win32PrintJob.java:296)
>
> Sieht für mich so aus, als ob der benutzte Drucker dieses Flavor nicht
> verarbeiten kann.

Aha! Heisst das jetzt, dass ich meinen String z.B. in Postscript umwandeln
muss, damit der HP Laserjet 4000 versteht, was ich von ihm will?

Martin Schweikert

unread,
May 13, 2004, 4:32:44 AM5/13/04
to
Sascha Broich <sascha.br...@online.de> schrieb in news:1jp9krk50ab10
$.d...@broich.onlinehome.de:

> Sieht für mich so aus, als ob der benutzte Drucker dieses Flavor nicht
> verarbeiten kann.

Gibt es eigentlich eine Möglichkeit herauszufinden, welche flavors dem
Drucker denn genehm sind?

Sascha Broich

unread,
May 13, 2004, 5:46:17 AM5/13/04
to
Martin Schweikert schrieb:

> Sascha Broich <sascha.br...@online.de> schrieb in news:1jp9krk50ab10
> $.d...@broich.onlinehome.de:
>
>
>> Sieht für mich so aus, als ob der benutzte Drucker dieses Flavor nicht
>> verarbeiten kann.
>
> Gibt es eigentlich eine Möglichkeit herauszufinden, welche flavors dem
> Drucker denn genehm sind?

Ja: PrintServices#getSupportedDocFlavors()

Übrigens kannst du dir mittels
PrintServiceLookUp.lookupPrintServices(DocFlavor flavor,AttributeSet attributes)
nur die Services heraussuchen, die deine Einstellungen können.

PS: Warum schaust du nicht mal in die API der entsprechenden Klassen?

Sascha Broich
--
Bei erfolgreichen Suiziden ist die Ueberlebensrate niedriger.
(Christian Holpert in de.alt.folklore.urban-legends)

Martin Schweikert

unread,
May 13, 2004, 8:38:48 AM5/13/04
to
Sascha Broich <sascha.br...@online.de> schrieb in
news:19amu1ka5cb84$.d...@broich.onlinehome.de:

> PS: Warum schaust du nicht mal in die API der entsprechenden Klassen?

Tu' ich doch normalerweise (sonst würde ich hier viel öfter viel dümmere
Fragen stellen :-)

Ich bin im Moment nur auf mehreren Baustellen unterwegs, und weil ich in
einer anderen ziemlich verbuddelt bin, war die Versuchung zu gross, einfach
dumm zu fragen ...

Danke jedenfalls!

0 new messages