首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从Rails应用程序中打印(条形码)标签?

如何从Rails应用程序中打印(条形码)标签?
EN

Stack Overflow用户
提问于 2011-04-03 14:33:42
回答 4查看 7.6K关注 0票数 6

我在RoR中开发的第一个应用程序是为我们库存中使用的Kiosk触摸屏PC开发的。当存货工人拿起一些材料时,他会以一种形式输入数量。

现在我想打印一个标签,包括:客户名称,材料描述,数量,和条形码在我们的斑马打印机。

我如何在Rails应用程序中做到这一点?

  • 从控制器直接发送ZPL (Zebra Printer )所需的控制字符?(不太舒服)
  • 在HTML中创建一个视图,将其发送到客户端,客户端必须打印它。(由于库存员工需要执行额外的步骤,可能选择了错误的打印机或根本不打印标签,因此不太容易控制和错误。)
  • 从控制器创建一个pdf文档并从服务器发送到打印机(哦,打印机不懂pdf,所以我必须控制一个pdf阅读器来打印吗?)这样做不会很快,因为它会将标签作为图形图像发送给打印机。
  • 创建一个宝石,它将隐藏打印所需的所有逻辑?(有没有宝石已经这么做了?)

我很感谢你的每一个评论。

谢谢

克劳斯

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-07 01:05:40

我会把原始的ZPL送到打印机。您可以使用像酒保这样的工具(我建议您只从该链接安装酒保。您基本上可以在这个工具中设计您的标签。在您设计好标签之后,您将下载斑马打印机的调酒师打印机驱动程序,并使用这些驱动程序设置一个虚拟打印机,并将您设计的标签打印到文件中。这将给您提供原始的zpl。从这一点出发,您基本上可以将所有动态数据替换到您在上一步中打印的zpl文件中,并通过串口、tcp/ip或usb直接将其发送到打印机。

票数 4
EN

Stack Overflow用户

发布于 2011-04-11 02:20:53

编辑:我找到了一个更好的解决方案,因为我继续挖掘这个。对于我最后使用的Java解决方案,这是非常重要的编辑。

基本上,您将把标签生成为原始的ZPL文本。然后,您需要将该纯文本发送到打印机,它将生成标签。

如果服务器可以访问打印机的IP地址,则可以将ZPL直接从服务器进程复制到打印机。如果它是一个远程web应用程序,您需要让客户端为您发送ZPL。浏览器沙箱使得这很难做到--司机们想要帮上忙。有几个选项;最常见的是使用小型Java或Flash进行实际复制。如果您可以获得用户用于打印到纯文本打印机而不添加任何内容的特定web浏览器,则可以使用本地打印,但通常最健壮的方法是使用helper Java applet。

我所使用的Java是jZebra:http://code.google.com/p/jzebra/

这是一种非常干净和简单的方法,查看下载包中的HTML示例,然后用几行代码打印标签。我只是编辑了这个示例,并计划使用它作为我的生产代码弹出。真的很简单。

这种方法有两个注意事项:

  • 您的用户必须安装JRE。
  • jZebra根据打印机名称查找斑马打印机。有非常具体的指南(他们有关于Mac、Windows和Linux安装的详细说明)来说明您需要做什么--但是它已经有了很好的文档,您只需要让您的用户遵循这些说明。一旦设置正确,它就会工作得很好。
票数 2
EN

Stack Overflow用户

发布于 2013-12-07 08:33:44

更简单的解决方案,我相信也更好,通常大多数浏览器和机器都安装了PDF查看器。所以只需将标签创建为PDF文档并将其发送到浏览器即可。

我们已经实现了标签打印使用斑马打印机在ROR以下方式。

  1. 在html中创建精确格式的标签页。
  2. 使用wickedPDF将html转换为pdf。

通常标签也包含条形码。

所以整体的解决办法是,

  1. 使用芭比宝石创建条形码。
  2. 使用条形码和需要在标签上显示的所有数据创建html。
  3. 将html视图转换为PDF。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5530194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档