3

有没有人有在网络浏览器中直接打印到照片 ID 卡打印机的经验?

我有一个管理用户数据、照片等的 Web 应用程序。我想为其添加打印身份证功能。Web 应用程序是一个单页 javascript 应用程序,它通过 JSON 与 RESTful Web 服务通信。我想在用户单击打印按钮之前在正面和背面显示打印卡的外观以供批准。

我正在考虑如何做到这一点:

  • 生成前后JPG或PNG图像在服务器上打印,将它们发送到客户端进行显示和批准,然后以某种方式将图像发送到打印机。
  • 使用带有 SVG 或 Canvas 的 javascript 在 UI 中显示要打印的卡片以供批准,然后以某种方式将 SVG/canvas 数据发送到打印机。
  • 生成 PDF 并将 PDF 打印到打印机。
  • 使用 Flash 显示和打印
  • 使用 Java 小程序显示和打印
  • 还有什么?

我正在寻找任何人都可以在这样做的任何方面提供的任何类型的指导。如果您以前曾走过这条路,我会很高兴收到您的来信。尤其是:

  • 你找到了哪些资源来学习如何做这件事?
  • 是否有任何特定的打印机品牌比其他品牌的打印机效果更好?
  • 我上面描述的任何一种方式更好吗,为什么?
  • 我还可以打印条形码、磁条数据、SIM 卡数据等吗?

我知道这个问题可能是在黑暗中拍摄,但任何信息都会有所帮助。谢谢!

4

3 回答 3

2

我的公司使用选项“2”执行此操作,例如,在连接了卡片打印机的机器上运行的代理(实际上是 MFC 应用程序)。

代理定期检查互联网 URL 以寻找新的打印作业;打印作业是使用 Web 服务器上生成的脚本定义的,该脚本包括要编码的磁条数据、用户名/图片以及在卡片纸上打印的位置等详细信息。打印作业成功后,代理将回传到服务器。回传到服务器很重要,因为证卡打印机往往会经常出现故障。

这种方法的最大好处是多个用户可以共享一台打印机,因此您无需为每个进行卡注册的工作站购买打印机。证卡打印机可能很繁琐,需要大量维护,因此支持单台打印机更容易。

另一个好处是您不必为要支持的所有浏览器平台编写插件。最后,它允许使用 Linux/MacOS 打印卡的用户使用该系统(只要他们愿意设置 Windows 机器来驱动打印机。)

于 2010-11-04T22:38:07.533 回答
2

从 40,000 英尺的角度看。我可以想到两种以 Microsoft 为中心的方式……都涉及浏览器之外的进程。

1) 使用 Internet Explorer,编写一个 IE Plugin 应用程序,通过对象声明插入浏览器,并传递数据、图像等的 Javascript 字段值。与打印机/打印驱动程序的所有通信都由远程处理。 dll。我想你也可以用 Firefox 插件做类似的事情。我使用这种方法将来自信用卡读卡器的数据直接处理到浏览器屏幕中。

2) 如果数据来自数据库,请编写一个独立的代理程序,该代理程序在连接到打印机的工作站上运行。当您单击浏览器表单上的“打印”按钮时,它会在数据库中设置一个标志。代理会定期扫描此标志,并打印结果记录。我用这种方法在 Eltron 或 Zebra 证卡打印机上打印。事实上,我使用 MS-Access 作为代理。

于 2010-10-28T21:26:45.807 回答
0

从另一个 40,000 英尺的视图来看 - 如果它的布局简单(一张照片和几行文本)并且您确实知道将使用哪个浏览器进行打印 - 您可以通过 css 设置所有样式。

我假设实际打印卡的用户已将打印机安装到他的计算机上。

打印条形码也没有什么问题(它只是一个图像 - 如果使用了可靠的好打印机)

于 2010-10-28T21:41:58.863 回答