# Drucker druckt nicht (Postscript direkt an Drucker)



## Snape (30. Sep 2005)

Moin,
wenn ich diesen Code ausführe, um eine Postscript-Datei direkt auszudrucken, wird alles schön durchlaufen. In den services ist auch der (Netzwerk-)Drucker eingetragen, aber die Datei wird nicht ausgedruckt. Beim job.print(...) fliegt diese Exception:

sun.print.PrintJobFlavorException: invalid flavor
	at sun.print.Win32PrintJob.print(Unknown Source)
	at de.loher.print.PrintPostScript.main(PrintPostScript.java:59)

Aber was soll am Flavor falsch sein? Es macht auch keinen Unterschied, ob aset.add( MediaSizeName.ISO_A4 ); auskommentiert ist oder nicht.


```
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;

/**
 * @author Administrator TODO To change the template for this generated type
 *         comment go to Window - Preferences - Java - Code Style - Code
 *         Templates
 */
public class PrintPostScript
{

  public static void main( String[] args )
  {
    FileInputStream fileInputStream = null;
    try
    {
      fileInputStream = new FileInputStream("meine.ps");
    }
    catch (FileNotFoundException exception)
    {
      System.exit(0);
    }
    if( fileInputStream == null )
    {
      return;
    }

    DocFlavor psFormat = DocFlavor.INPUT_STREAM.POSTSCRIPT;
    Doc myDoc = new SimpleDoc( fileInputStream, psFormat, null );
    PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
//    aset.add( MediaSizeName.ISO_A4 );
    aset.add( new Copies( 1 ) );
    aset.add( Sides.ONE_SIDED );

    PrintService services = PrintServiceLookup.lookupDefaultPrintService();

    if( services != null )
    {
      DocPrintJob job = services.createPrintJob();
      try
      {
        job.print( myDoc, aset );
      }
      catch (PrintException pe)
      {
        pe.printStackTrace();
      }
    }
  }
}
```


----------



## thE_29 (30. Sep 2005)

Java und drucken sind net gerade Freunde 


Java sagt std mäßig das fast kein Drucker PS oder PDF Dateien drucken kann...

Bei uns in der Fa. der A3 Drucker wird aber als PS Drucker ausgewiesen ( ...)

Aber der Laserjet net....


----------



## Snape (30. Sep 2005)

Also der Drucker (Ricoh Aficio) wird ja angezeigt nach

PrintService services = PrintServiceLookup.lookupDefaultPrintService();

Deshalb verstehe ich das nicht. Gibt es keinen Workaround - auch wenn er noch so dreckig ist?


----------



## thE_29 (30. Sep 2005)

Naja, er wird angezeigt mit lookupDefaultPrintService!

Schau dir mein Bsp in den FAQs an, da versuche ich den Drucker gleich mit dem DocFlavor deiner gewünschten Art zu holen


Wirst ne Exception bekommen


----------



## Snape (30. Sep 2005)

Klar bekomme ich die. Aber wie kann man das Problem lösen? Oder gibt es dazu keine Lösung?


----------



## thE_29 (3. Okt 2005)

Naja, ich weiß keine Lösung dazu...

Habe aber nie richtig nachgeforscht...


----------

