printing - 从网页将条形码打印到Zebra打印机

标签 printing web barcode

我们正在尝试将条形码从网页上打印到Zebra打印机上。

我想知道是否有办法使用打印机自己的字体(也许使用网络字体)来打印它们,或者我是否知道所使用的字体名称?

我一直在尝试使用php条形码生成器,该生成器基本上生成包含条形码的图像。实际上,我已经尝试这种方法几天了,但没有成功。

问题是当我打印它们时,扫描仪无法读取它们。我试图更改图像分辨率以使其与打印机的分辨率(203dpi)相匹配,还尝试播放图像的大小和格式,但是打印后的条形码仍然无法扫描。

那么有人有经验吗?

打印机:Zebra TLP 2844

每页所需的条形码:

  • 01水平的Code39(仅当以非常特定的尺寸和浏览器进行打印时才可扫描)
  • 01 Code128垂直(仍然无法正常工作,打印始终非常模糊并且不会被扫描)

  • ===========

    我已经取得了一些进步,我发现这台打印机支持EPL2语言,因此我试图用它来打印条形码。

    首先,我需要启用直通模式,我在打印机选项>高级设置>杂项上进行了设置。

    现在,使用此命令,可以使用打印机的内置字体:D完美地打印条形码:

    ZPL:
    B10,10,0,1,2,2,60,N,“TEXT-GOES-HERE”
    :ZPL

    但是我只能从记事本中打印它,但仍然无法从浏览器中打印它... LF被CR + LF替换可能是一个问题...

    如何克服这个问题?

    ===========

    我要打印的标签实际上在条形码之前有一些文本,一些html表格对其进行了很好的格式化。因此,我需要先打印此文本,然后在中间粘贴一个不错的标签,然后添加更多文本。

    所以我不能使用纯EPL2来打印整个内容,我想知道我是否可以同时使用html + EPL2 + html中的一些来实现我的目标? = /

    最佳答案

    您遇到了一些障碍:

    1)当您通过操作系统安装的打印机驱动程序进行打印时,打印机驱动程序正在尝试获取发送给它的数据,并对输出设备(Zebra打印机)进行(重新)光栅化或缩放。由于打印机的分辨率为203dpi,因此分辨率相对较低,因此缩放打印驱动程序不必花太多时间,以使打印机在条形码质量上失去一些完整性。这就是使用直接ZPL命令生成的条形码更可靠,为什么的原因。

    2)由于Web浏览器通过不允许访问客户端计算机有意提供的安全性,因此您无法直接与连接客户端的打印机进行通信。该沙箱有助于保护用户免受恶意软件的侵害,从而使邪恶的网站无法执行诸如将文件写入客户端计算机或将输出直接发送至打印机等设备的操作。因此,您将无法通过浏览器直接将ZPL命令发送到客户端连接的打印机。

    但是,有一种方法可以做您描述的事情。通常,仅当您对客户端计算机访问尝试打印到Zebra打印机的站点的客户端计算机有一定程度的控制权时,才需要执行必要的步骤。例如,这只会由公司网络上的计算机或愿意安装您需要编写的小型应用程序的客户端使用。为此,您将需要查看以下步骤:

    A)您需要组成自己的自定义MIME类型。基本上,这只是您要使用的任何名称,不会与任何registered MIME types相冲突。

    B)接下来,您将定义一个文件名扩展名,该文件名扩展名将映射到您的自定义MIME类型。为此,通常需要配置Web服务器(此步骤取决于您使用的Web服务器)以允许您要定义的新MIME类型以及这些文件类型使用的文件扩展名。

    C)然后在您的Web应用程序上,当您想输出ZPL数据时,使用映射到您的新MIME类型的文件扩展名将其写入文件。然后,一旦生成文件,您就可以提供指向它的HTML链接,或将客户端浏览器重定向到该文件。您可以通过将直接创建的文件手动复制到原始打印机端口来测试文件在此时是否正常工作。

    D)接下来,您需要编写一个可以在客户端上安装的小型应用程序。安装该应用程序后,您需要将其自身注册为自定义MIME类型的有效使用应用程序。如果浏览器检测到存在针对指定MIME类型的文件的已安装应用程序,则仅将文件写入客户端计算机上的临时目录,然后尝试使用以下临时文件启动具有相同注册MIME类型的应用程序:应用程序的参数。因此,您的应用程序现在仅读取浏览器传递给它的文件,然后尝试将其直接转储到打印机。

    这是完成您所描述的内容所需做的概述。一些具体步骤将取决于您使用的Web服务器类型以及客户端计算机所使用的OS。但这是高级概述,可让您完成尝试的工作。

    关于printing - 从网页将条形码打印到Zebra打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967599/

    相关文章:

    Java - 测试时隐藏系统输出

    html - Netbeans 在哪个 Web 服务器上运行其 HTML5 项目?

    Laravel/Zend Barcode 渲染奇怪的代码栏

    java - 使用 Java,如何让用户在不使用打印对话框的情况下设置打印机选项?

    android - 如何在执行android仪器测试时在cmd控制台中打印日志

    html - 分页不中断

    python - Golang : Get request sends me html contents but works fine from python and curl

    javascript - 为什么需要点击才能应用我的功能?

    iOS 条码高效扫描仪

    加拿大 PostBar 条码的编码