Cups4j
Cups4j
— the Java printing library for CUPS.
Table of Contents
Importing
This library is available on the Maven Central repository, here.
To import and use cups4j in your project, add the following dependency in your pom.xml
file:
<dependency>
<groupId>org.cups4j</groupId>
<artifactId>cups4j</artifactId>
<version>0.7.6</version>
</dependency>
Usage
Basic usage
CupsClient cupsClient = new CupsClient();
CupsPrinter cupsPrinter = cupsClient.getDefaultPrinter();
InputStream inputStream = new FileInputStream("test-file.pdf");
PrintJob printJob = new PrintJob.Builder(inputStream).build();
PrintRequestResult printRequestResult = cupsPrinter.print(printJob);
Connect to custom host
CupsClient cupsClient = new CupsClient("127.0.0.1", 631);
Get specific printer by URL
URL printerURL = new URL("http://127.0.0.1:631/printers/printer-name");
CupsPrinter cupsPrinter = cupsClient.getPrinter(printerURL);
Add extra PrintJob attributes
Map<String, String> attributes = new HashMap<>();
attributes.put("compression", "none");
attributes.put("job-attributes", "print-quality:enum:3#fit-to-page:boolean:true#sheet-collate:keyword:collated");
PrintJob printJob = new PrintJob.Builder(bytes)
.jobName("job-name")
.userName("user-name")
.copies(2)
.pageRanges("1-3")
.duplex(false)
.portrait(false)
.color(true)
.pageFormat("iso-a4")
.resolution("300dpi")
.attributes(attributes)
.build();