import javax.swing.*; import java.awt.*; import java.awt.print.PageFormat; import java.awt.print.Paper; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; public class PrintUtil { public static void main(String[] args) throws PrinterException { String text = "要打印的字符串" // 创建新 Swing JtextArea 对象,设置文本内容,行数,列数 JTextArea textArea = new JTextArea(text,12,1); // 设置自动换行 YourTextArea.setLineWrap(true); //设置字体,字型,字号 YourTextArea.setFont(new Font("雅黑", 0,8)); // 创建一个PrinterJob对象 PrinterJob printerJob = PrinterJob.getPrinterJob(); // 获取默认的PageFormat对象 PageFormat pageFormat = printerJob.defaultPage(); // 获取Paper对象并设置页面边距 Paper paper = pageFormat.getPaper(); double width = 80.0; // 页面宽度,单位:毫米 double height = 60.0; // 页面高度,单位:毫米 double margin = 3.0; // 边距,单位:毫米 paper.setSize(width * 72.0 / 25.4, height * 72.0 / 25.4); paper.setImageableArea(margin * 72.0 / 25.4, margin * 72.0 / 25.4, (width - 2 * margin) * 72.0 / 25.4, (height - 2 * margin) * 72.0 / 25.4); pageFormat.setPaper(paper); // 设置打印参数 printerJob.setPrintable(YourTextArea.getPrintable(null, null), pageFormat); // 打印 try { printerJob.print(); } catch (PrinterException e) { e.printStackTrace(); }
} }