Desktop.print()不会在Windows Photo Viewer中自动打印

时间:2016-04-09 20:19:51

标签: java

我使用Desktop.print()方法编写了一个自动打印文档的应用程序。对于MS Word,MS Excel,记事本和Adobe Reader,它会将应用程序闪烁一秒钟,然后进行打印,这正是我想要的。当我尝试打印图像文件(.jpeg,.png等等)时,它会打开Windows Photo Viewer,这是我的图像默认应用程序,但它不会打印它们。相反,它需要我到打印屏幕,我必须手动点击打印。知道为什么这样的行为会有所不同吗?

DefaultListModel<File> listModel = new DefaultListModel<>();
Boolean openDocsAfterPrint = false;

void openAndPrintDocs() {
    int fileIndex = 0;

    while (fileIndex < listModel.size()) {
        if (Desktop.isDesktopSupported()) {
            if (openDocsAfterPrint == true) {
                try {
                    Desktop.getDesktop().open(listModel.get(fileIndex));
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            try {
                Desktop.getDesktop().print(listModel.get(fileIndex));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        fileIndex++;
    }
}

同样,除了Photo Viewer之外,它的一切正常。感谢。

0 个答案:

没有答案