使用PrintService API java打印文本文件(* .txt)

时间:2015-10-08 15:50:45

标签: java printing

在我的Java应用程序中,我创建了一个文本文件并将其保存到特定目录中。 我希望用户可以打印此文件,因此我遵循以下步骤:

if (reportFile.exists())
{
  PrintService [] printServices = PrintServiceLookup.lookupPrintServices(null, null);
  PrintService chosenPrinter = JOPtionPane.... //choice it with a JOptionPane
  DocFlavor [] flavors = chosenPrinter.getSupportedDocFlavors();
  DocFlavor printFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
  FileInputStream fis = new FileInputStream(reportFile);
  Doc document = new SimpleDoc (fis, printFormat, null);
  PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
  aset.add(new Copies(1)); 
  aset.add(Sides.ONE_SIDED); 
  DocPrintJob job = chosenPrinter.createPrintJob(); 
  try 
    { 
      job.print(document, aset); 
    } 
    catch (PrintException pe) 
    {
      System.out.println("====PrintException======="+pe);
    }                   
}

使用DocFlavor.INPUT_STREAM_AUTOSENSE,我也不例外,但我得到的是一个空白页面(我目前正在使用PDF创建者打印机),如果我尝试设置不同的DocFlavor,我会得到无效的味道异常。

有谁能告诉我如何解决这个问题?

0 个答案:

没有答案