jun_bai 2025-02-25 10:42 采纳率: 0%
浏览 37

使用java调用打印机打印文件,无法获得printJobCompleted状态,请问怎么解决。

使用java调用打印机打印文件,无法获得printJobCompleted状态,请问怎么解决。

PrinterJob job = PrinterJob.getPrinterJob();
job.addPrintJobListener(new PrintJobAdapter() {
    @Override
    public void printJobCompleted(PrintJobEvent pje) {
        System.out.println("Print job completed");
    }
});

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2025-02-25 10:42
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    使用 Java 调用打印机打印文件,无法获得 printJobCompleted 状态

    你遇到的问题是使用 Java 调用打印机打印文件,但是无法获得 printJobCompleted 状态。下面是一些可能的解决方案:

    1. 使用 PrinterJob.print() 方法的返回值

    你可以使用 PrinterJob.print() 方法的返回值来判断打印是否完成。这个方法返回一个 boolean 值,表示打印是否成功。如果返回 true,则表示打印成功;否则,表示打印失败。

    PrinterJob job = PrinterJob.getPrinterJob();
    if (job.print()) {
        System.out.println("Print job completed successfully.");
    } else {
        System.out.println("Print job failed.");
    }
    
    1. 使用 PrintJob.addPrintJobListener() 方法

    你可以使用 PrintJob.addPrintJobListener() 方法添加一个打印作业监听器,监听打印作业的状态变化。这个方法可以让你在打印作业完成时收到通知。

    PrinterJob job = PrinterJob.getPrinterJob();
    job.addPrintJobListener(new PrintJobListener() {
        @Override
        public void printJobCompleted(PrintJobEvent e) {
            System.out.println("Print job completed.");
        }
    });
    
    1. 使用 PrintJob.waitForJobToComplete() 方法

    你可以使用 PrintJob.waitForJobToComplete() 方法等待打印作业完成。这个方法会阻塞当前线程,直到打印作业完成。

    PrinterJob job = PrinterJob.getPrinterJob();
    job.print();
    job.waitForJobToComplete();
    System.out.println("Print job completed.");
    

    这些解决方案都可以帮助你解决使用 Java 调用打印机打印文件,无法获得 printJobCompleted 状态的问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月25日