package com.universalbits.conorganizer.badger.control;
import javax.print.DocFlavor;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import java.awt.*;
import java.awt.print.PageFormat;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
/**
* Created by rjenks on 9/1/2014.
*/
public class PrinterUtils {
public enum Orientation {
LANDSCAPE(PageFormat.LANDSCAPE),
PORTRAIT(PageFormat.PORTRAIT);
private int value;
private Orientation(int orientation) {
value = orientation;
}
}
public static PrintService[] getAvailablePrinters() {
final PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet();
printRequestAttributeSet.add(new Copies(1));
return PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.PNG, printRequestAttributeSet);
}
public static PrinterJob getPrinterJob(PrintService ps, Orientation orientation) throws PrinterException {
final PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintService(ps);
final PageFormat pf = printJob.defaultPage();
pf.setOrientation(orientation.value);
return printJob;
}
}