Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在solaris操作系统中使用Java静默打印程序获取打印输出?_Java_Api_Ubuntu_Operating System_Solaris - Fatal编程技术网

无法在solaris操作系统中使用Java静默打印程序获取打印输出?

无法在solaris操作系统中使用Java静默打印程序获取打印输出?,java,api,ubuntu,operating-system,solaris,Java,Api,Ubuntu,Operating System,Solaris,我已经用java编写了下面的代码来打印一个简单的pdf文件 public class Test { public static void main(String[] args) throws PrinterException, IOException { PrinterJob pj= PrinterJob.getPrinterJob(); List<PrintService> plist= new ArrayList<PrintSer

我已经用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);


    }

}
公共类测试{
公共静态void main(字符串[]args)抛出PrinterException、IOException{
PrinterJob pj=PrinterJob.getPrinterJob();
List plist=new ArrayList();
for(PrintService ps:pj.lookupPrintServices()){
plist.add(打印服务);
}
用于(打印服务ps:plist){
if(printService.getName()包含(“MyPrinterName”)){
pj.setJobName(“测试”);
pj.设置打印服务(打印服务);
打印(pj,“C:\\Users\\been\\Desktop\\hi.pdf”,MediaTray.TOP);
}
}
}
私有静态无效打印(最终PrinterJob pj、最终字符串路径、最终MediaTray托盘)引发IOException、PrinterException{
PrintRequestAttributeSet pas=新的HashPrintRequestAttributeSet();
添加(托盘);
PDDocument document=PDDocument.load(路径);
pj.可设置页面(文件);
添加(新页面范围(1,2));
pj.打印(打印请求属性集);
}
}

我正在使用PDFBOX1.8.0JAR读取pdf文件。我使用eclips和JDK1.6.043作为开发平台。我可以在windows操作系统中获得打印,但是在solaris操作系统中运行相同的代码时,我没有得到打印。我的打印得到一份零页的工作。你能帮忙吗。非常感谢。

“C:\\Users\\been\\Desktop\\hi.pdf”
看起来不像是可移植文件路径。很抱歉,这是一个虚拟路径。您需要提供真实的路径和打印机名称