Print Document in Java

In this example, We will show you, How to Print Document in Java. The example was tested and shared in the post.

PrinterExample.java

When you execute the below program, It will detect the Printer devices from your machine and create Print Job. Then you may have to follow the typical Printing Navigation to Print the Document.

package com.dineshkrish;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
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.MediaSizeName;
/**
* 
* @author Dinesh Krishnan
*
*/
public class PrinterExample {
public static void main(String[] args) {
DocFlavor docFlavor = DocFlavor.INPUT_STREAM.POSTSCRIPT;
PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet();
// Setting Page Size
printRequestAttributeSet.add(MediaSizeName.ISO_A4);
// Looking the Printer Services
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(docFlavor, printRequestAttributeSet);
if (printServices != null && printServices.length > 0) {
// Creating Printing Job
DocPrintJob printJob = printServices[0].createPrintJob();
try {
// Defining File Object (You can change accordingly)
File file = new File("abc.txt"); // Your file location
FileInputStream fis = new FileInputStream(file);
Doc doc = new SimpleDoc(fis, docFlavor, null);
// Printing Document
printJob.print(doc, printRequestAttributeSet);
System.out.println("Document has been printed successfully...");
} catch (FileNotFoundException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} catch (PrintException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} catch(Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
}

Output

Document has been printed successfully…

References

1. Java Print API JavaDocx
2. Java IO API JavaDocs

Tags:

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *