Java 如何使用PrinteJob打印.doc文件?

Java 如何使用PrinteJob打印.doc文件?,java,Java,我想打印test3.doc文件。我已经用java.awt.print.PrinterJob尝试过了;以下是我尝试过的代码: PrinterJob printerjob= PrinterJob.getPrinterJob(); PageFormat pageformat=new PageFormat(); Paper paper=new Paper(); paper.setSize(8.27, 11.69); pageformat.setPa

我想打印test3.doc文件。我已经用java.awt.print.PrinterJob尝试过了;以下是我尝试过的代码:

    PrinterJob printerjob= PrinterJob.getPrinterJob();        
    PageFormat pageformat=new PageFormat();
    Paper paper=new Paper();
    paper.setSize(8.27, 11.69);
    pageformat.setPaper(paper);
    printerjob.defaultPage(pageformat);
    text.setText(printerjob.getUserName());
    printerjob.pageDialog(pageformat);
    printerjob.printDialog();
    String file="C:/test3.doc";
    printerjob.setJobName(file);
    try{
    printerjob.print();
    text.setText("success");
    }
    catch (PrinterException e){text.setText("error");}

但是它不打印任何文件。有人知道它为什么不工作吗?或者如何更改代码以打印test3.doc文件。

据我对Java API文档的理解,
setJobName(String)
设置要打印的文档的名称,但这并不引用文档,而是作业的名称,可以是类似“MyPrintJobName”的任何名称

打印文档时,需要呈现此文档,然后将生成的“图形”发送到打印机,如下所述:

因此,要从纯Java代码打印.doc文件,您需要一个能够相应地呈现文档的引擎。看看类似的问题,Oracle似乎没有提供Java引擎,因此您需要使用第三方组件来处理.doc文件