通过 LinePrinter API 将条码打印到 Intermec PB20
Posted
技术标签:
【中文标题】通过 LinePrinter API 将条码打印到 Intermec PB20【英文标题】:Print a barcode to a Intermec PB20 via the LinePrinter API 【发布时间】:2010-09-06 18:46:53 【问题描述】:有谁知道如何从 Windows Compact Framework 应用程序将条形码打印到 Intermec PB20 蓝牙打印机?我们目前正在使用 Intermec LinePrinter API,但无法找到打印条形码的方法。
【问题讨论】:
【参考方案1】:感谢大家的想法。直接打印到串口可能是最灵活的方法。在这种情况下,我们不想复制所有已经内置在 Intermec dll 中的用于处理端口、打印机错误等的工作。我们可以通过向打印机发送适当的代码以将其切换到一种不同的模式,然后以这种方式传递直接打印机命令。
这是我们的解决方案,以防其他人在使用 Intermec 打印机时遇到类似问题。下面的代码是一个不捕捉打印机错误和重试等的测试用例(见Intermec代码示例)
Intermec.Print.LinePrinter lp;
int escapeCharacter = int.Parse("1b", NumberStyles.HexNumber);
char[] toEzPrintMode = new char[] Convert.ToChar(num2), 'E', 'Z' ;
lp = new Intermec.Print.LinePrinter("Printer_Config.XML", "PrinterPB20_40COL");
lp.Open();
lp.Write(charArray2); //switch to ez print mode
string testBarcode = "PRINT:@75,10:PD417,YDIM 6,XDIM 2,COLUMNS 2, SECURITY 3|ABCDEFGHIJKL|";
lp.Write(testBarcode);
lp.Write("LP"); //switch from ez print mode back to line printer mode
lp.NewLine();
lp.Write("Test"); //verify line printer mode is working
在 Intermec 的支持网站上有一个名为“技术手册”的技术文档,其中描述了直接控制打印机的代码。 Easy Print 部分介绍了如何打印各种条码。
【讨论】:
【参考方案2】:上次我不得不打印条形码时(尽管有打印机或框架),我使用了 True Type 字体和我需要的条形码。 (在我的例子中是 EAN-13 的东西),一个欧洲条形码。
在有些字体中,您只需编写数字(和/或支持的字母)即可获得任何扫描仪都可以读取的完美条形码:)
Google 是您的朋友。不知道有没有免费的。
【讨论】:
【参考方案3】:感谢您的回答。有可用的免费字体——但是,PB20 是一款带有一些内置字体的手持打印机。它具有打印条码的能力,可以通过串口直接操作。 Intermec 提供了一个 .Net CF API 来使打印“轻松”,正是使用这个 API,我们一直无法弄清楚如何告诉打印机打印条形码。
【讨论】:
【参考方案4】:抛弃所有 API,直接使用串口 API。
使用打印机语言,您可以获得不错的结果。 任何其他方法都会导致挫败感。 不是很漂亮,但这就是我的旧工厂的工作方式。 每天 4k 打印作业,从未错过。
【讨论】:
【参考方案5】:Free 3 of 9
这是 9 个中的 3 个(有时称为“代码 39"),一种广泛使用的条码标准 包括大写字母, 数字和几个符号。这是 不是 UPC 的条形码(通用 价格代码)在产品上发现 店铺。然而,大多数类型的条码 扫描仪将仅识别 9 个中的 3 个 很好。
【讨论】:
以上是关于通过 LinePrinter API 将条码打印到 Intermec PB20的主要内容,如果未能解决你的问题,请参考以下文章