我是网络开发的新手,所以,请你能帮我理解我是否朝着正确的方向努力?
我们的客户(非内联网)将有一个网页,可以打印标签。一些较大的客户将拥有特殊的标签打印机,其中使用COM端口进行配置和打印是唯一可接受的选项。基本上我们对他们的环境知之甚少。
网页本身将是一个非常简单的html页面或更复杂的AJAX。
在客户输入所有数据并碰巧选择此类印刷后,我们有以下任务: 1)获取有关安装在客户系统上的打印机的数据,如果可能,获取打印机设置(如纸张尺寸和方向)。理想情况下,希望能够调整设置,但如果是痛苦,可以将您的打印机必须安装到COM1并正确配置。 2)发送命令并读取答案并将PCL代码发送到所选的COM端口
据我了解,我需要在客户的机器上安装一些东西才能与com端口通信并进行任何设置。只是HTML + Javascript无法做到这一点。正确?
我发现RXTX库似乎可以在大多数平台上与com端口通信。它可以从JavaScript调用,还是我还需要做一个Java插件?是否有Java插件以外的技术可以解决这个问题?
网页将用于不同的环境 - 平台和网络浏览器。我们希望尽量减少定制解决方案的数量。 Java是否允许我们以最少的自定义为所有环境执行相同的插件?
如果我们要求用户安装插件,系统会提示用户使用我们的凭据来确认安装吗?我们的网站是否需要更高的信任设置?
谢谢你的帮助!
答案 0 :(得分:1)
好吧,我过去必须这样做。这就是我所做的和情况
1)我知道我们的客户是在Windows环境中,因此我编写了win32软件来处理打印。
2)我创建了一个由win32软件读取的文件格式,允许我指定打印参数和标签数据。 XML适合这样的事情。
3)我的网络应用程序以win32软件使用的格式创建了一个文件,并在用户点击“打印标签”按钮时将其返回给用户。返回文件的文件扩展名由win32软件的安装程序注册。这意味着当他们的浏览器查找该文件的默认应用程序处理程序时,它找到了我的win32软件。
底线是浏览器将打印机通信切换到本机应用程序,而不是直接与打印机通信。
显然,您需要能够指示您的最终用户正在使用Windows机器(或Mac或任何您可以编写本机代码的东西)。将文件扩展名与我的程序相关联并将该文件返回给用户是使该过程适合我的关键。
您的本机代码是将pcl直接发送到打印机还是转换为print api(就像我的win32 api一样)是另一个考虑因素。
您可以考虑的另一种方法是,您可以创建文档的PDF,而不是发送PCL代码。将文档格式化为标签打印机的大小和方向。用户仍然必须按下打印按钮,但这可能有效。我已经这样做了打印到条形码打印机,它工作正常。有时候获得正确的边距和方向有点棘手,但这可以解决。