gpt4 book ai didi

zpl - 使用 ZPL 将上标/下标打印到斑马打印机

转载 作者:行者123 更新时间:2023-12-04 14:34:58 34 4
gpt4 key购买 nike

我正在尝试找到使用 ZPL 打印上标的解决方案。

例如,如果我有这串 ZPL:

string ZPLString =
"^XA" +
"^FO50,50" +
"^A0N50,50" +
"^FDHello, World!^FS" +
"^XZ";

sendToZebraPrinter(ZPLString);

因为没有任何上标字符,我可以毫无问题地将它发送到我的打印机。但是如果我想使用这个字符串:

string ZPLString =
"^XA" +
"^FO50,50" +
"^A0N50,50" +
"^FDe = mc²^FS" +
"^XZ";

sendToZebraPrinter(ZPLString);

native 不会打印上标。我想我需要访问国际字符集或其他东西,但我不确定如何执行此操作,特别是如果我只需要一个字符。我是否需要更改我的整个字符集,或者对其进行某种“替换”?

请注意,我们正在手动生成 ZPL 代码并直接在打印机上拍摄(不幸的是这是我们的系统),绕过任何驱动程序或任何类型的第 3 方开发组件。

最佳答案

Mark 的回答给了我解决问题所需的确切信息。以下是进一步阐明解决方案的附加信息:

  1. 要在您的数据中使用十六进制代码,您需要在 ^FD 命令前加上 ^FH_(其中 ^FH 告诉打印机 ^FD 中的数据将包含十六进制值,而 _ 定义十六进制代码标识符,因此它知道哪些数据是或不是定义为十六进制代码而不是标准文本)

  2. 我完全按照您提到的那样立即使它工作。然后针对其他打印机进行测试,我发现(但不确定为什么)我不需要实际发送 ^CI13 来指定代码页 850。即使我没有发送 ^CI13

  3. 在我的 .NET 应用程序中,出于某种原因,² 没有映射到 ZPL 代码页预期的正确十六进制代码(.NET 应用程序将 ² 转换为十六进制代码 b2 而不是 fd,但对于大多数标准字符转换为与 ZPL 映射相同的代码)所以在我的应用程序中,我创建了一个转换表,其中我在表中定义的任何字符都映射到 ZPL 十六进制代码,而我未定义的任何字符都允许保持转换后的状态由应用程序)。

我从来没有使用过来自非默认代码页的信息,而且在使用 ^FH 时我没有意识到您可以将标准文本与十六进制混合(我认为如果您使用 ^FH 则 ^ 中的“所有”信息FD 必须是十六进制)。所以 Mark 提供的信息让我走上了正确的道路。

使用 Mark 提供的信息解决问题的最后一个例子是:

string ZPLString =
"^XA" +
"^FO50,50" +
"^A0N50,50" +
"^FH_" +
"^FDe = mc_fd^FS" +
"^XZ";

sendToZebraPrinter(ZPLString);

关于zpl - 使用 ZPL 将上标/下标打印到斑马打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23618005/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com