Java – Cetak Nota Memanfaatkan dokumen HTML

Buat yang memakai java untuk membuat sebuah aplikasi desktop, pasti sudah mengenal yang namanya JasperReport. JasperReport sendiri banyak digunakan untuk pembuatan laporan, nota, dan lain sebagainya.

JasperReport sudah terbukti kemampuannya, tetapi kalau hanya untuk mencetak sebuah nota, rasanya jika menggunakan JasperReport terlalu banyak resource yang dihabiskan. Seperti membutuhkan memory yang lebih besar, space harddisk yang lebih besar.

Dengan memanfaatkan JEditorPane dan HTML, kita dapat membuat proses cetak nota menjadi lebih cepat dan ringan.

Berikut ini contoh script untuk mencetak nota dengan menggunakan Java.

package achmad.nota;

import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterJob;
import java.text.MessageFormat;
import javax.swing.JEditorPane;

/**
 *
 * @author Nixnux
 */
public class Main {

    static MessageFormat head = new MessageFormat("");
    static MessageFormat foot = new MessageFormat("");

    public static void main(String[] args) throws Exception {

        PrinterJob pj = PrinterJob.getPrinterJob();

        PageFormat pf = pj.defaultPage();
        Paper paper = new Paper();
        double margin = 20; // half inch
        paper.setImageableArea(margin, margin-15, paper.getWidth() - margin*2, paper.getHeight()
            - margin*2);
        pf.setPaper(paper);

        if(pj.printDialog()) {
            JEditorPane text = new JEditorPane("text/html", ""
                    + "<center style='font-family: monospace;font-size: 10;'>"
                    + "<h3>STRUK PEMBELIAN LISTRIK PRABAYAR</h3>"
                    + "</center>");
            text.repaint();
            pj.setPrintable(text.getPrintable(head, foot), pf);
            pj.print();
            System.out.println("done .............. ");
        }
    }
}

Kode diatas hanya mencetak sebuah dokumen yang berisi satu kalimat saja, yaitu “STRUK PEMBELIAN LISTRIK PRABAYAR”. Selanjutnya, silahkan disesuaikan dengan kebutuhan.

Download source code di sini

Selamat mencoba.

, , , ,

  1. #1 by loopiters2 on January 9, 2017 - 10:07 pm

    mau tanya kalau direct dari file txt apakah bisa ?

    • #2 by Achmad Lutfi on January 10, 2017 - 5:59 am

      Ngambil html dari file text ya? bisa aja kok

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: