我在java中编写了以下代码,用于打印一个简单的pdf文件,
public class Test {
public static void main(String[] args) throws PrinterException, IOException {
PrinterJob pj= PrinterJob.getPrinterJob();
List<PrintService> plist= new ArrayList<PrintService>();
for (PrintService ps: pj.lookupPrintServices()) {
plist.add(printService);
}
for (PrintService ps: plist) {
if (printService.getName().contains("MyPrinterName")) {
pj.setJobName("test");
pj.setPrintService(printService);
print(pj, "C:\\Users\\been\\Desktop\\hi.pdf", MediaTray.TOP);
}
}
}
private static void print(final PrinterJob pj, final String path, final MediaTray tray) throws IOException, PrinterException {
PrintRequestAttributeSet pas= new HashPrintRequestAttributeSet();
pas.add(tray);
PDDocument document = PDDocument.load(path);
pj.setPageable(document);
pas.add(new PageRanges(1, 2));
pj.print(printRequestAttributeSet);
}
}
我正在使用pdfbox 1.8.0 jar来读取pdf文件。我使用eclips和JDK1.6.0_43作为开发平台。我能够在 Windows OS 中获得打印,但是当我在 solaris os 中运行相同的代码时,我没有得到打印输出。我的打印得到一个零页面的工作。你能帮忙吗?非常感谢。