2013-05-21 48 views
3

我想从我的JSF Web应用程序中打印PDF文档。JBoss AS 7中的PrintServiceLookup.lookupPrintService解决方案

当我从主要方法调用findPrinter()的方法时,发现PrintServices,但是当我从网页PrintService找不到这种方法时。下面的代码中提到..

public static void main(final String[] args) throws Exception { 
    PrintTest printTest = new PrintTest(); 
    printTest.findPrinter(); 
} 

public void findPrinter() { 

    PrintService[] printServices = PrinterJob.lookupPrintServices(); 
    System.out.println("Print Services Length :: " + printServices.length); 
    for (PrintService printService : printServices) { 
     System.out.println("PrintService :: " + printService); 
} 

    <h:form> 
    <p:commandButton value="Print" action="#{printTest.findPrinter()}"/> 
    </h:form> 

任何建议...

+0

在Web应用程序的情况下,您将搜索连接到服务器的打印机,不是吗? –

+0

是的,我会搜索打印机的配置到服务器.. –

+0

它是如何“不工作”你有任何错误或只是一个空的列表? –

回答

6
  1. 添加额外的标签模块/阳光/ JDK /主/ jbossAs的module.xml提到: 路径名=”太阳/打印”

  2. 从JRE打开resources.jar,并提取
    META-INF /服务/ javax.print.PrintServiceLookup中并复制到位置 modules/sun/jdk/main/service-loader-resources/META-INF/JbossAS的服务。

  3. 重新启动JBoss并运行应用程序。

+0

这对我有效 –