java.awt.print


1. Printing a Simple Text Document

import java.awt.print.PrinterJob;
import java.text.MessageFormat;

public class SimpleTextPrint {

    public static void main(String[] args) {
        String text = "This is a simple text document.";

        // Create a PrinterJob object
        PrinterJob job = PrinterJob.getPrinterJob();

        // Set the printable content
        String[] lines = text.split("\n");
        PageFormat pf = job.defaultPage();
        Paper paper = pf.getPaper();
        double margin = 30;
        paper.setImageableArea(margin, margin, paper.getWidth() - 2 * margin, paper.getHeight() - 2 * margin);
        pf.setPaper(paper);
        Printable printable = (pg, pgf, index) -> {
            if (index >= lines.length) {
                return Printable.NO_SUCH_PAGE;
            }
            Graphics g = pg.getGraphics();
            g.setFont(new Font("Arial", Font.PLAIN, 12));
            g.drawString(lines[index], (int) margin, (int) (margin + g.getFont().getSize() * index));
            return Printable.PAGE_EXISTS;
        };
        job.setPrintable(printable);

        // Print the document
        if (job.printDialog()) {
            try {
                job.print();
            } catch (PrinterException ex) {
                System.out.println("Error printing: " + ex.getMessage());
            }
        }
    }
}

2. Printing an Image

3. Printing a PDF Document

4. Printing a HTML Document

5. Printing a Swing Component

6. Printing a Multi-Page Document

7. Printing a Table

8. Printing a Tree

9. Printing a List

10. Printing a ComboBox

11. Printing a TextField

12. Printing a TextArea

13. Printing a PasswordField

14. Printing a Spinner

15. Printing a ColorChooser