2013-12-16 61 views
1

我想打印test3.doc文件。我已經用java.awt.print.PrinterJob嘗試了這個;這裏是代碼我曾嘗試:如何使用PrinteJob打印.doc文件?

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");} 

但它不打印任何file.Does人有任何想法,爲什麼不工作?或者,如何更改代碼以打印test3.doc文件。

回答

1

就我所瞭解的Java API文檔而言,setJobName(String)設置了要打印的文檔的名稱,但是這並沒有引用文檔,而是它只是作業的名稱,可以是任何類似「MyPrintJobName 「

在打印文檔時,需要這個文件被繪製併爲這裏所描述的產生的「圖形」,然後發送到打印機:http://docs.oracle.com/javase/tutorial/2d/printing/printable.html

因此,以打印純Java代碼.doc文件,你需要一個能夠相應呈現文檔的引擎。看看類似的問題,似乎沒有Oracle提供的Java提供的引擎,因此您需要使用第三方組件來處理.doc文件。