3

现在我正在为 Seam 2 中的一家公司开发销售点应用程序,我的客户希望直接从应用程序打印发票。目前,我只生成发票的 PDF,用户选择打印机并按下打印按钮,但他们希望更快地做到这一点,他们也有 2 台打印机:用于门票的 EPSON TM U220 和用于发票的普通打印机. 所以,我想调查一下直接从网页打印。

我听说过最准确的替代方案:Java Web Start 和 Applets,但我不知道哪个是最好的。我读到,对于小程序,您必须处理身份验证内容或权限(好吧,也许 JWS 也有,但要少一点),并且小程序已停产;另一方面,使用 Java Web Start,我基本上可以开发一个简单的应用程序,在打印机中打印一些东西,但我不知道这是否可以通过 JWS 实现。

我不知道 JWS 是否可行的一件事是,如果我可以从 Web 应用程序(一个 bean,因为我使用 Seam 2)传递数据,例如,传递打印流或PDF,到 JWS 应用程序,并传递打印机的名称,我的意思是,我只想在 JWS 应用程序/Applet 中有打印发票或票证的逻辑,我想从我的 Web 应用程序生成 PDF 或流,所以我不知道这是否可能。

您认为最好的选择是什么?JWS 还是小程序?关于印刷图书馆,我阅读了有关 JAVA POS 的信息,但我可以使用任何图书馆,即使有必要也可以使用付费图书馆。

问候。

4

3 回答 3

1

您认为最好的选择是什么?

对于“最少点击”,请使用完全受信任的小程序或 JWS 应用程序。使用由 CA(例如 Verisign)颁发的数字证书进行签名。

系统将提示用户一次接受代码,并可以选择始终记住“始终信任”决定的复选框。

无论是 JWS 应用程序。或者小程序然后可以使用Java AWT 打印API。

至于嵌入式小程序或自由浮动 JWS 之间的选择。使用最适合用例的方法,但请注意小程序需要更高的维护。

于 2012-08-29T23:51:14.250 回答
0

您是否没有考虑将纯 html/jsp 中的 JavaScript 作为选项?在这里阅读更多

于 2012-08-29T14:00:45.623 回答
0

基本上,JWS 允许用户使用 Web 浏览器直接从本地计算机使用 Java 平台启动应用程序。该技术的一些主要优势包括全球分布式应用程序的无缝版本更新和对 Java 虚拟机内存分配的更大控制。换句话说,您将 Jar 文件放在 1 处,因此很容易对其进行更新。

您只需创建一个带有 JNLP 扩展名的特殊 XML 文件。此文件与 Java 虚拟机相关联,因此它会执行它并启动从 URL 下载的桌面应用程序(Jar 文件)。

我建议您使用它而不是小程序,因为如果您使用小程序,您将不得不处理来自浏览器的打印权限。另一方面,由于您使用的是桌面应用程序,您不再需要在地下打印的权限。但是您必须处理打印机配置,因为每台电脑可能有不同的打印机设置。我使用这项技术开发了各种应用程序,这些应用程序在没有弹出窗口的情况下打印,它只是使用默认打印机然后发送它。首先,它创建 PDF 文件,然后将其保存在本地,然后打印。

于 2012-08-29T15:22:07.277 回答