添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

When you need to test printing processes in Java, it may be easier to print to files rather than printing to a printer.

In the sample Java program below, we are finding the Microsoft XPS Document Writer, but you could find any other printer drivers installed on your machine, such as a Postscript driver or a PDF printer driver and print to it. To set the print output to be redirected to a file rather than paper, you need to use the HashPrintRequestAttribute and set the output file as a destination.

// lookup printers available on this machine
PrintService[] services = PrinterJob.lookupPrintServices();
// loop through the printers
for (int index = 0; index < services.length; index++) 
 // find the Microsoft XPS Document Writer 
 if (services[index].getName().equalsIgnoreCase("Microsoft XPS Document Writer"))
   // create a new PrinterJob
   PrinterJob pjob = PrinterJob.getPrinterJob();
   // set the print service as the Microsoft XPS Document Writer
   pjob.setPrintService(services[index]);
   // create a new HashPrintRequestAttributeSet
   HashPrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
   // set the output file as a destination 
   attributes.add(new Destination(new File("c:/output.xps").toURI()));
   // set the attributes to the printerjob
   pjob.print(attributes);
   // MyPrintable will have to be defined to implement the print method
   pjob.setPrintable(new MyPrintable(), new PageFormat());
}

// lookup printers available on this machine PrintService[] services = PrinterJob.lookupPrintServices(); // loop through the printers for (int index = 0; index < services.length; index++) // find the Microsoft XPS Document Writer if (services[index].getName().equalsIgnoreCase("Microsoft XPS Document Writer")) // create a new PrinterJob PrinterJob pjob = PrinterJob.getPrinterJob(); // set the print service as the Microsoft XPS Document Writer pjob.setPrintService(services[index]); // create a new HashPrintRequestAttributeSet HashPrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); // set the output file as a destination attributes.add(new Destination(new File("c:/output.xps").toURI())); // set the attributes to the printerjob pjob.print(attributes); // MyPrintable will have to be defined to implement the print method pjob.setPrintable(new MyPrintable(), new PageFormat());