import javax.print.*;
public class PrintMultipleCopies {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Set print copies
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new Copies(3));
// Create a print request
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.setPrintable(new MyPrintable());
job.print(attributes);
}
}
import javax.print.*;
import javax.print.attribute.*;
public class PrintResolution {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Set print resolution
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new PrinterResolution(300, 300, PrinterResolution.DPI));
// Create a print request
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.setPrintable(new MyPrintable());
job.print(attributes);
}
}
import javax.print.*;
public class PrintString {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
// Set print content
DocFlavor flavor = DocFlavor.BYTE_ARRAY.STRING.TEXT_PLAIN;
byte[] content = "Hello, world!".getBytes();
Doc doc = new SimpleDoc(content, flavor, null);
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(doc, attributes);
}
}
import javax.print.*;
public class PrintImage {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Set print content
DocFlavor flavor = DocFlavor.INPUT_STREAM.PNG;
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
try (InputStream is = new FileInputStream("image.png")) {
Doc doc = new SimpleDoc(is, flavor, null);
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(doc, attributes);
}
}
}
import javax.print.*;
public class PrintPDF {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Set print content
DocFlavor flavor = DocFlavor.INPUT_STREAM.PDF;
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
try (InputStream is = new FileInputStream("document.pdf")) {
Doc doc = new SimpleDoc(is, flavor, null);
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(doc, attributes);
}
}
}
import javax.print.*;
public class PrintCustomPrintable implements Printable {
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
// Print custom content
return PAGE_EXISTS;
}
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
// Set print content
Printable printable = new PrintCustomPrintable();
Doc doc = new SimpleDoc(printable, DocFlavor.SERVICE_FORMATTED.PRINTABLE, null);
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(doc, attributes);
}
}
import javax.print.*;
public class PrintDocumentStream implements Printable {
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
// Print document stream content
return PAGE_EXISTS;
}
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
// Set print content
Printable printable = new PrintDocumentStream();
DocFlavor flavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
InputStream is = new FileInputStream("document.ps");
Doc doc = new SimpleDoc(is, flavor, null);
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(doc, attributes);
}
}
import javax.print.*;
public class PrintPageable implements Pageable {
public PrintRequestAttributeSet getPrintRequestAttributeSet() {
return new HashPrintRequestAttributeSet();
}
public PageFormat getPageFormat(int pageIndex) throws IndexOutOfBoundsException {
// Return page format
}
public Printable getPrintable(int pageIndex) throws IndexOutOfBoundsException {
// Return printable
}
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
// Set print content
Pageable pageable = new PrintPageable();
DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
Doc doc = new SimpleDoc(pageable, flavor, null);
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(doc, attributes);
}
}
import javax.print.*;
public class CancelPrintJob {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
// Print document and cancel it
DocFlavor flavor = DocFlavor.TEXT_PLAIN.TEXT_PLAIN;
byte[] content = "Hello, world!".getBytes();
Doc doc = new SimpleDoc(content, flavor, null);
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(doc, attributes);
job.cancel();
}
}
import javax.print.*;
public class GetPrintServiceAttributes {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Get print service attributes
PrintServiceAttributeSet attrs = printer.getAttributes();
for (Attribute attr : attrs.toArray()) {
System.out.println(attr.getName() + ": " + attr.getValue());
}
}
}
import javax.print.*;
public class SetPrintServiceAttributes {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Set print service attributes
PrintServiceAttributeSet attrs = new HashPrintServiceAttributeSet();
attrs.add(new PrinterState(PrinterState.Values.SUSPENDED));
printer.setAttribute(attrs);
}
}
import javax.print.*;
public class PrintToFile {
public static void main(String[] args) throws PrintException {
// Create a PrintStream for a file
try (PrintStream ps = new PrintStream("output.txt")) {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintService(PrintServiceLookup.lookupDefaultPrintService());
job.pageDialog(null);
job.printDialog();
job.print(ps);
}
}
}
import javax.print.*;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.OrientationRequested;
import javax.swing.JFrame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
public class PrintToBufferedImage {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Create a BufferedImage
BufferedImage image = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.drawString("Hello, world!", 100, 100);
// Create a print request
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(OrientationRequested.LANDSCAPE);
// Print the BufferedImage
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.print(attributes, image);
}
}
import javax.print.*;
import javax.print.attribute.*;
public class PrintToSpecificPage {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Set print range
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new PageRanges(new int[] {2}, new int[] {2}));
// Create a print request
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.setPrintable(new MyPrintable());
job.print(attributes);
}
}
import javax.print.*;
import javax.print.attribute.*;
public class PrintToSpecificArea {
public static void main(String[] args) throws PrintException {
// Get the default printer
Printer printer = PrintServiceLookup.lookupDefaultPrintService();
// Set print area
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new MediaPrintableArea(new Rectangle(100, 100, 200, 200), MediaPrintableArea.MM));
// Create a print request
PrintServiceAttributeSet serviceAttrs = printer.getAttributes();
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrinter(printer);
job.setPrintable(new MyPrintable());
job.print(attributes);
}
}
import javax.print.*;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.swing.JFrame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class PrintWithDialog {
public static void main(String[] args) throws PrintException {
// Create a PrintService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintDialog
PrintDialog printDialog = printerJob.getPrintDialog();
printDialog.setLocationRelativeTo(null);
// Add a listener to the PrintDialog
printDialog.addPrintListener(new PrintListener() {
public void printDone(PrintEvent e) {
System.out.println("Printing complete.");
}
public void printCanceled(PrintEvent e) {
System.out.println("Printing canceled.");
}
});
// Show the PrintDialog
if (printDialog.show()) {
// Print the document
try {
printerJob.print(attributes);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithMultiplePages {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new Copies(2));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PageableDocument
PageableDocument doc = new PageableDocument() {
public Printable getPrintable(int pageIndex) throws IndexOutOfBoundsException {
// Return a Printable for each page
}
public int getNumberOfPages() {
// Return the number of pages in the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithMultipleCopies {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new Copies(2));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentMargins {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new MediaPrintableArea(new Rectangle(10, 10, 200, 200), MediaPrintableArea.MM));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentOrientation {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new OrientationRequested(OrientationRequested.LANDSCAPE));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentPageSize {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new MediaSizeName(MediaSizeName.NA_LETTER));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentDPI {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new PrinterResolution(300, 300, PrinterResolution.DPI));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentColorMode {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new ColorMode(ColorMode.COLOR));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentDuplexMode {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new Duplex(Duplex.DUPLEX));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentTumbleMode {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new Tumble(Tumble.LONG_EDGE));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentScale {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new ScaleFactor(0.5, 0.5));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics g, PageFormat pf, int pageIndex) throws PrinterException {
// Print the document
}
};
// Print the document
try {
printerJob.print(attributes, doc);
} catch (PrintException e) {
e.printStackTrace();
}
}
}
import javax.print.*;
import javax.print.attribute.*;
import javax.print.attribute.standard.*;
public class PrintDocumentWithDifferentReduct {
public static void main(String[] args) throws PrintException {
// Create a PrinterService
PrinterService printerService = PrintServiceLookup.lookupDefaultPrintService();
// Create a PrintRequestAttributeSet
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
attributes.add(new ReductFactor(0.5, 0.5));
// Create a PrinterJob
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printerService);
// Create a PrintableDocument
PrintableDocument doc = new PrintableDocument() {
public int print(Graphics