2013-12-16 2 views
1

Я хочу распечатать файл test3.doc. Я пробовал это с помощью java.awt.print.PrinterJob; Вот код, который я попробовал:Как распечатать .doc файл с помощью PrinteJob?

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

Насколько я понимаю документы API Java API, setJobName(String) задает имя печатаемого документа, но это не относится к документу, но вместо этого это просто имя для задания, которое может быть чем-то вроде «MyPrintJobName ".

При печати документа, этот документ должен быть оказан и в результате «график», затем отправляются на принтер, как описано здесь: http://docs.oracle.com/javase/tutorial/2d/printing/printable.html

Таким образом, чтобы напечатать .doc файл из чистого кода Java, вы нужен двигатель, способный соответствующим образом отобразить документ. Рассмотрев аналогичные вопросы, похоже, не существует такого механизма, предоставляемого Oracle с Java, поэтому вам нужно использовать сторонний компонент для обработки файлов .doc.

Смежные вопросы