This example demonstrates how to get print service’s attribute set using the javax.print
API. First we find the default printer for the current machine using the PrintServiceLookup
class. This will give us a PrintService
object, this object might be null
if no print service found.
The final step is to get the print service attribute set by calling getAttributes()
method of the PrintService
. We can convert the returned AttributeSet
into an array using the toArray()
method and iterates it.
package org.kodejava.example.print;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.Attribute;
import javax.print.attribute.AttributeSet;
public class PrinterAttribute {
public static void main(String[] args) {
// Locates the default print service for this environment.
PrintService printer = PrintServiceLookup.lookupDefaultPrintService();
if (printer != null) {
// Getting print service's attribute set.
AttributeSet attributes = printer.getAttributes();
for (Attribute a : attributes.toArray()) {
String name = a.getName();
String value = attributes.get(a.getClass()).toString();
System.out.println(name + " : " + value);
}
}
}
}
An example result of this program is:
printer-is-accepting-jobs : accepting-jobs color-supported : supported printer-name : HP LaserJet P1005 queued-job-count : 0
Wayan Saryada
Founder at Kode Java Org
I am a programmer, a runner, a recreational diver, currently live in the island of Bali, Indonesia. Mostly programming in Java, Spring Framework, Hibernate / JPA. You can support my works by donating here. Thank you 🥳
Latest posts by Wayan Saryada (see all)
- How do I clear the current command line in terminal? - February 14, 2019
- How do I generate random alphanumeric strings? - February 7, 2019
- Why do I get ArrayIndexOutOfBoundsException in Java? - January 29, 2019