【问题标题】:Send data to Com port from a web page从网页向 Com 端口发送数据
【发布时间】:2011-05-23 00:03:05
【问题描述】:

我是网络开发的新手,请问您能帮我了解一下我的工作方向是否正确吗?

将有一个专供我们的客户使用的网页(不是 Intranet),他们可以从中打印标签。一些较大的客户将拥有特殊的标签打印机,其中使用 COM 端口进行配置和打印是唯一可接受的选项。基本上我们对他们的环境了解和控制非常有限。

网页本身将是一个非常简单的 html 页面或更复杂的 AJAX。

在客户输入所有数据并碰巧选择了这种打印类型后,我们有以下任务: 1) 获取有关安装到 comport 的客户系统上的打印机的数据,并在可能的情况下获取打印机设置(如纸张尺寸和方向)。理想情况下希望能够调整设置,但如果这很痛苦,可以提出要求,您的打印机必须安装到 COM1 并正确配置。 2)发送命令并读取答案并将PCL代码发送到选定的com端口

据我了解,我需要在客户的机器上安装一些东西才能与 com 端口通信并获得任何设置。只是 HTML+Javascript 无法做到这一点。对吧?

我发现 RXTX 库似乎可以在大多数平台上与 com 端口通信。它可以从 JavaScript 调用还是我仍然需要做一个 Java 插件?除了 Java 插件,还有其他技术可以解决这个问题吗?

网页将用于不同的环境 - 平台和网络浏览器。我们希望尽量减少定制解决方案的数量。 Java 是否允许我们以最少的定制为所有环境制作相同的插件?

如果我们要求用户安装插件,是否会提示用户提供我们的凭据以确认安装?我们的网站是否需要更高的信任设置?

感谢您的帮助!

【问题讨论】:

    标签: serial-port printing-web-page


    【解决方案1】:

    嗯,我过去不得不这样做。这是我所做的事情和情况

    1) 我知道我们的客户是在 windows 环境中,所以我编写了 win32 软件来处理打印。

    2) 我创建了一种文件格式以供 win32 软件读取,它允许我指定打印参数和标签数据。 XML 适用于这样的事情。

    3) 我的网络应用程序以 win32 软件使用的格式创建了一个文件,并在用户单击“打印标签”按钮时将其返回给用户。返回文件的文件扩展名是由 win32 软件的安装程序注册的。这意味着当他们的浏览器查找该文件的默认应用程序处理程序时,它找到了我的 win32 软件。

    底线是浏览器将打印机通信交给本地应用程序,而不是直接与打印机通信。

    显然,您需要能够指示您的最终用户使用的是 Windows 机器(或 mac 或任何您可以编写本机代码的东西)。将文件扩展名与我的程序相关联并将该文件返回给用户是使该过程适合我的关键。

    您的本机代码是直接将 pcl 发送到打印机还是转换为打印 api(就像我的 win32 api 一样)是另一个考虑因素。

    您可以考虑的另一种方法是,您可以创建文档的 PDF,而不是发送 PCL 代码。将文档格式化为标签打印机的大小和方向。用户仍然需要点击打印按钮,但这可能会奏效。我这样做是为了打印到条形码打印机,它工作正常。有时让边距和方向正确有点棘手,但这是可以解决的。

    【讨论】:

    • 谢谢唐!是的,创建 PDF 是我的第一选择,因为它非常简单!但是,对于这些打印机,从 PDF 打印比从 PCL 慢 3-4 倍,并且担心从图像(如 PDF)打印的条形码可能无法扫描(PCL 将告诉打印机创建条形码而不是传递图像)。这两个原因中的任何一个都使 PDF 成为我们无法接受的选择。您没有使用小程序或类似方法有什么特别的原因吗?
    • @Yana:PDF 不仅仅是图像,它是渲染设备(显示器、打印机等)的实际格式化指令(如 PostScript)。如果扫描通过 PDF 打印的条形码时出现问题,我会感到惊讶。 (但您发现的速度问题可能对您来说仍然是个问题。)
    • @yana 我没有发现 pdf 和条形码有任何问题。但是,我正在做非常简单的条形码(没有 2d 或 3d)。它只是线条和空格。我没有做小程序,因为我从来没有做过它们,也没有使用它们的经验。我想出的解决方案效果很好。
    • @yana - 关于 pdf 网络应用程序的另一件事......我正在打印带有 GCC128 条形码的包装标签。条形码是用 pdf 库中的 line 命令打印的(不是图形)。我遇到的唯一问题是有人将标签贴在盒子上已经存在的条形码顶部。标签下的条码略显透出。所以这是用于标签的纸张质量和/或标签位置的问题,而不是标签是从 pdf 打印的事实。
    猜你喜欢
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多