c# - 如何将 png 文件转换为用于斑马打印机的 .GRF 文件

标签 c# zebra-printers zpl zpl-ii epl

我使用 Zebraprinter 来打印标签。我的打印机是203dpi。过去几天我在互联网上搜索,发现有 Zebraprint 实用程序..可以转换为 DFR 格式..这很糟糕..他们没有完全解释如何做到这一点..他们只是说转换为 ~ DG 格式。任何打印它,这都没有发生! 相反,我想将 png 文件转换为 .GRF 文件并发送到打印机进行打印。互联网上是否有任何致命的可用免费软件可以满足我的需求, 另外,我厌倦了开发一个可以打印字母的软件......它的接线很好。我不知道如何使用这台打印机打印照片。 我需要转换此图像 https://imageshack.com/i/pb0BArbep.GRF 格式。我怎样才能在按下一个按钮的情况下完成所有这一切..任何帮助..

非常感谢。

代码片段:-

private void button2_Click(object sender, EventArgs e)
    {
        string s = Print();
        PrintFactory.sendTextToLPT1(s);
    }

 private string Print()
    {
        string s = "";
        s += "^XA^LH"+ text.textbox + ".GRF,1,1^FS";

        s += "^FO250,294^FD^FS";
        s += "^XZ";
        return s;
    }

最佳答案

距离提出这个问题已经一个月了,所以我不知道是否还需要答案,但我会尝试一下。实际上,我最近一直在对 ZPL 进行大量研究(这是我遇到这个问题的原因之一),并且我必须做类似的事情。实际上,还有 203 dpi 打印机。我不知道如何将 PNG 转换为 GRF,但我能够仅使用 PNG 打印出图形:

^XA
^MNY
^LL203
~DYE:{name},P,P,{file size},,{data}
^XZ

^MN 与媒体跟踪有关,您可能需要对其进行一些更改以满足您的需求,具体取决于标签。与 ^LL 相同,它指定标签长度。对于 8 点/毫米 (203 dpi),用作参数的值通过 203.2 * 标签长度(以英寸为单位)计算得出。之后,有几个值可以插入 ~DY(下载图形,手册第 112 页),第一个值是您要用来引用文件的名称。我没有添加文件扩展名,因为打印机似乎为我添加了文件扩展名,因为我在参数中指定它是 PNG。第二个是 PNG 文件的大小(以字节为单位)。最后,文件中的实际数据采用 ASCII 十六进制形式。现在,文件已保存在打印机上,我就可以使用以下命令在脚本中打印图形:

^IME:{name}.PNG
^FS

注意:将文件上传到打印机后,我可以通过在浏览器中通过 IP 连接到打印机并转到“目录列表”来确认它是否保存为 PNG 文件。我不确定是否所有这些打印机都有此功能,但我使用的打印机有。如果是,您可以使用它来确认文件是否已正确上传。 (应该在板载闪存中)

希望这有帮助!

我使用的手册是here 。 我还遇到了许多其他 StackOverflow 问题,以及其他论坛上的一些帖子,这些问题对我有所帮助。可以在 C# 中找到一个对我有很大帮助的问题 here .

关于c# - 如何将 png 文件转换为用于斑马打印机的 .GRF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26226845/

相关文章:

c# - 将 ZPL 发送到 Zebra 打印机的 .NET 代码

在一个字段中打印反斜杠和 unicode 字符

c# - 如何删除一条记录?

c# - 如何格式化 C# 字符串以换行以适应特定的列宽?

qr-code - Zebra ZPL II 代码可缩放 QR 代码 (^BQ)

javascript - qz.jZebra 多页打印问题

c# - 在自定义位置打开标题栏/程序图标上下文菜单 [WPF]

c# - 如何阻止 C# 用它们的值替换 const 变量?

java - 通过各种设备的浏览器进行 Zebra 打印

utf-8 - 在 ZPL 中打印带有尖号的字符