从EC2上的Web应用程序不可见的本地打印机Amazon(ubuntu)

问题描述:

我们有一个托管在amazon ec2(ubuntu)上的java-web应用程序。从EC2上的Web应用程序不可见的本地打印机Amazon(ubuntu)

我无法将我的打印重定向到本地默认打印机。 事实上,当我尝试使用下面的代码 被列在有“PDF”

javax.print.PrintService[] service = (javax.print.PrintService[]) PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.AUTOSENSE, null) 
     javax.print.PrintService service= null; 
     for(javax.print.PrintService service1 : services){ 
      service = service1; 
      System.out.println(service1.getName()); 
     } 

任何建议/提示是没有真正认识到只有打印机服务来获得可见的打印机列表。

+0

这是一个网络问题,您需要连接您的本地网络和VPC。也许你需要VPN,或者你可以看看https://aws.amazon.com/directconnect/ – Tarlog

+0

Tarlog,谢谢你的回复,我只想说清楚,它只是没有连接到我们的本地系统,我们想要当他们在浏览器上加载我们的网站时,它可以打印给任何人的本地打印机。 – user1751510

+1

如果你希望人们能够从他们的浏览器打印,你应该给他们一个可下载的文件,并让他们使用浏览器的内置打印功能。您将无法从Web应用程序服务器访问其硬件。 – RaceYouAnytime

你不能用Java做它,因为它在服务器端运行,但是你可以在浏览器中用JavaScript来完成。

鉴于您希望打印整个网页,请添加将调用JavaScript的HTML按钮“打印”:window.print()

另一个选项可以打开弹出窗口,在页面加载后调用window.print()。如果您想在打印前修改页面的内容,这可能很有用。例如删除“打印”按钮。