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.
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.
Code:
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();
}
}
}
}