【问题标题】:Paper stopping in Printer - Java Print Issues纸张在打印机中停止 - Java 打印问题
【发布时间】:2015-04-27 00:44:28
【问题描述】:

该类用于打印文件。我有一个运行此代码并打开打印对话框的 JButton(未在下面的代码中显示)。但是,当我点击打印时,它开始打印,但是如果文本没有占据整个页面,它就会停止并且不会将其从打印机中弹出。我是否遗漏了可能导致此问题的某些内容?

try{
        FileInputStream textStream;
        PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
        textStream = new FileInputStream(testFileName);
        DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
        Doc test = new SimpleDoc(textStream, flavor, null);

        PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor, aset);

        PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService();

        if(services.length == 0){
            if(defaultService==null){
                System.out.println("NO PRINTERS");
            }else{
                DocPrintJob job = defaultService.createPrintJob();
                job.print(test, aset);
            }
        }else{

            PrintService service = ServiceUI.printDialog(null, 200, 200, services, defaultService, flavor, aset);


            if(service != null){
                DocPrintJob job = service.createPrintJob();
                job.print(test, aset);
            }
        }

    }catch (IOException | PrintException e){
        e.printStackTrace();
    }

【问题讨论】:

  • 您是否收到错误消息 - 打印机本身或程序?这方面的任何其他信息都可能会有所帮助。
  • 不,根本没有错误消息。它只是在打印机中停止。我去打印了其他东西(不是来自我的程序),它开始在打印机剩下的页面的底部打印。
  • 我必须说这是我听说过的最奇怪的打印机参与行为。您是否可以使用另一台打印机或有朋友可以通过他们自己的打印机运行该程序?这听起来可能是打印机的问题,而不是 java 的问题。
  • 我会试试看的。感谢您的帮助
  • 你的问题解决了吗?

标签: java printing


【解决方案1】:

javax.print 你的代码是这样工作的:

读取某些(未指定 = INPUT_STREAM.AUTOSENSE)格式的 InputStream(某个文件)并将 PrintJob“提交”(.print)到操作系统打印机系统。

接下来会发生什么完全取决于您的操作系统设置,例如正确安装的打印机驱动程序和打印机连接。

在您的情况下,目标队列可能不支持您尝试打印的文件格式(又名 PDL)。甚至基于文本的 PDL 也使用ESC sequences 进行打印机控制。 Windows 和 Unix/Mac 系统有不同的方法。 CUPS 默认可以处理 PDF 或 Postscript 等 PDL。

一旦 job.print() 方法结束,就由操作系统来处理打印数据。要跟踪问题,您应该检查您的操作系统打印机系统。在 Unix 上可能是 CUPS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    相关资源
    最近更新 更多