在Java中,可以使用java.awt.print.PrinterJob
类来调用本地打印机。以下是一个简单的示例代码,演示如何使用PrinterJob
类来打印一个文本文件:
import java.awt.print.PrinterJob; import java.io.FileInputStream; import java.io.FileNotFoundException; public class PrinterExample { public static void main(String[] args) { try { // 创建一个PrinterJob对象 PrinterJob printerJob = PrinterJob.getPrinterJob(); // 设置打印任务的内容 FileInputStream fis = new FileInputStream("path/to/textfile.txt"); printerJob.setPrintable(new TextFilePrintable(fis)); // 调用本地打印机打印 if (printerJob.printDialog()) { printerJob.print(); } } catch (Exception e) { e.printStackTrace(); } } // 自定义Printable类,用于处理打印任务的内容 static class TextFilePrintable implements Printable { private FileInputStream fis; public TextFilePrintable(FileInputStream fis) { this.fis = fis; } @Override public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { if (pageIndex > 0) { return NO_SUCH_PAGE; } try { // 读取文本文件内容并打印 BufferedReader br = new BufferedReader(new InputStreamReader(fis)); String line; int y = 100; while ((line = br.readLine()) != null) { graphics.drawString(line, 100, y); y += 20; } br.close(); } catch (Exception e) { e.printStackTrace(); } return PAGE_EXISTS; } } }
在上面的示例中,我们创建了一个PrinterJob
对象,并设置了打印任务的内容为一个文本文件。我们自定义了一个TextFilePrintable
类来处理打印任务的内容,其中实现了Printable
接口的print
方法来读取文本文件内容并打印。最后调用printerJob.printDialog()
方法来显示打印对话框,并调用printerJob.print()
方法来打印文件。