{Kurung Kurawal}

Java Printing Demo

Kali ini saya akan menyajikan source code untuk melakukan interaksi dengan printer dari Java.

Demo yang akan saya sajikan hanya sekedar menunjukkan bagaimana berinteraksi dengan printer, dan melakukan pencetakan dokumen teks sederhana, tanpa melibatkan grafis atau gambar yang kompleks.

Berikut demonya (GIF, >3mb),

Code Direct Printing

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package kkurawal.utils;
 
/**
 * Created by Konglie on 10/24/2015.
 */
 
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.PageRanges;
import javax.swing.*;
import java.awt.print.Printable;
import java.awt.print.PrinterJob;
 
 
public class DirectPrinter {
 
    public DirectPrinter() {
 
    }
 
    public void print(Printable doc){
        this.print(doc, false);
    }
 
    public void print(Printable doc, boolean showDialog){
        PrintRequestAttributeSet asset = new HashPrintRequestAttributeSet();
        asset.add(new PageRanges(1, 1));
        asset.add(new Copies(1));
 
        PrinterJob printJob = PrinterJob.getPrinterJob();
        if(showDialog && !printJob.printDialog()){
            JOptionPane.showMessageDialog(null, "PRINT Cancelled");
            return;
        }
 
        printJob.setPrintable(doc);
        try {
            printJob.print(asset);
        } catch (Exception err) {
            System.err.println(err);
            JOptionPane.showMessageDialog(null, "PRINT ERROR: \n" + err.getMessage());
        }
    }
}

Dan source code lengkap seperti demo tersedia di github (sementara disini).
Demikian semoga berguna untuk kita semua.