# Postscript Datei direkt ausdrucken?



## Snape (16. Januar 2006)

Moin!
Ich suche eine Möglichkeit, eine Postscript-Datei direkt aus meinem Java-Programm auf dem Standarddrucker auszugeben. Und zwar ohne Umweg über eine GUI  wie bei Toastscript und im DIN A4 Format.
Wenn dazu jemand etwas weiß - ich verzweifel seit Tagen daran, das Toastscript umzubauen und nur die benötigte Funktionalität zu benutzen (Datei öffnen, Seitenformat festlegen, anzeigen, drucken).


----------



## Thomas Darimont (16. Januar 2006)

Hallo!

 Schau mal hier:

```
/**
  * 
  */
 package de.tutorials;
 
 import java.io.File;
 import java.io.FileInputStream;
 
 import javax.print.Doc;
 import javax.print.DocFlavor;
 import javax.print.DocPrintJob;
 import javax.print.PrintService;
 import javax.print.PrintServiceLookup;
 import javax.print.SimpleDoc;
 import javax.print.attribute.HashPrintRequestAttributeSet;
 import javax.print.attribute.PrintRequestAttributeSet;
 import javax.print.attribute.standard.Copies;
 import javax.print.attribute.standard.MediaSizeName;
 
 /**
  * @author Tom
  * 
  */
 public class PrintPostScriptDocumentExample {
 
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) throws Exception {
 
 		PrintService[] printServices = PrintServiceLookup.lookupPrintServices(
 			    DocFlavor.INPUT_STREAM.POSTSCRIPT, null);
 
 		if (printServices.length == 0) {
 			return;
 		}
 
 		PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
 		aset.add(MediaSizeName.ISO_A4);
 		aset.add(new Copies(1));
 
 		DocPrintJob docPrintJob = printServices[0].createPrintJob();
 
 		Doc document = new SimpleDoc(
 			    new FileInputStream(new File("c:/java.ps")),
 			    DocFlavor.INPUT_STREAM.POSTSCRIPT, null);
 
 		docPrintJob.print(document, aset);
 
 	}
 }
```
 
 Du solltest dann allerdings auch einen Druckertreiber installiert haben der mit PostScript umgehen kann. Bei mir tuts ;-)

 Gruß Tom


----------



## Snape (17. Januar 2006)

Thomas Darimont hat gesagt.:
			
		

> Du solltest dann allerdings auch einen Druckertreiber installiert haben der mit PostScript umgehen kann. Bei mir tuts ;-)
> 
> Gruß Tom



Standarddrucker ist PDFFactory, die soll eigentlich auch starten. Stattdessen interagiert der Adobe Distiller aber. Wieso das?


----------

