Skip to content
Cups4j Java printing library for CUPS/IPP
Java HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

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();

License

LGPL

You can’t perform that action at this time.