4

有谁知道如何从 Windows Compact Framework 应用程序将条形码打印到 Intermec PB20 蓝牙打印机?我们目前正在使用 Intermec LinePrinter API,但无法找到打印条形码的方法。

4

5 回答 5

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 的部分介绍了如何打印各种条码。

于 2008-08-26T14:21:16.973 回答
0

上次我不得不打印 Barcode(尽管有打印机或框架),我使用了 True Type 字体和我需要的 Barcode。(在我的例子中是 EAN-13 的东西),一个欧洲条形码。

有些字体你只需写数字(和/或支持的字母),你就会得到一个完美的条形码,任何扫描仪都可以读取:)

谷歌是你的朋友。不知道有没有免费的。

于 2008-08-25T16:36:47.657 回答
0

谢谢您的回答。有可用的免费字体——但是,PB20 是一款带有一些内置字体的手持打印机。它具有打印条码的能力,可以通过串口直接操作。Intermec 提供了一个 .Net CF API 以使打印“轻松”,正是使用此 API,我们无法弄清楚如何告诉打印机打印条形码。

于 2008-08-25T16:45:36.857 回答
0

抛弃所有 API 并直接使用串行端口 API。

说打印机语言,您可以获得不错的结果。任何其他方法都会导致挫败感。不是很漂亮,但这就是我的旧工厂的工作方式。每天 4k 打印作业,从未错过。

于 2008-08-25T22:59:55.100 回答
0

免费 3 个,共 9 个

这是 3 of 9(有时称为“代码 39”),一种广泛使用的条形码标准,包括大写字母、数字和多个符号。这不是商店产品上的 UPC(通用价格代码)条形码。但是,大多数类型的条码扫描器都可以识别 9 个中的 3 个。

于 2008-08-25T23:03:14.967 回答