将Windows打印机驱动程序与“本机”打印机上的条形码渲染结合使用吗?

时间:2020-06-26 06:09:39

标签: c# zebra-printers zpl xtrareport epl

我需要从我的.NET Windows应用程序中打印带有条形码(通常为Code 128)的标签。由于客户拥有不同的打印机-不同的Eltron / Zebra型号和不同的制造商(例如GoDEX,Sato等)-我希望我的应用程序与实际的打印机型号完全(或至少在很大程度上)无关。

因此,我尝试使用打印机的Windows驱动程序使用条形码打印此类标签。在这种方法中,条形码显然在PC上呈现为图像,而打印机只是将其输出为像素图像。也许整个标签都呈现为图像,但是我不确定。 附带说明:实际上,我实际上是在使用XtraReports来打印标签,但这本身不会导致以下问题。

但是,这种方法产生的条形码质量很差。我不得不通过调整打印机驱动程序设置(例如温度,速度等)来对输出进行多次故障排除,但随后的系统仍然无法接受一定比例的条形码。

我知道我可以将“原始” EPL / ZPL命令发送到Zebra打印机,它会呈现条形码本身-从而产生更好的质量。

但是,这种方法有两个缺点:

  • 首先,原始命令在打印机型号之间可能会有所不同,并且制造商之间可能会有所不同。不能确定EPL / ZPL是否会得到如此广泛支持的“通用法语”
  • 第二,如果客户希望更改/重新排列标签内容,那么这将变得非常不直观-特别是与仅在XtraReports中重新设计标签相比。我知道有Z-Designer,但是它没有集成到我的应用程序中,(大概)特定于Zepra打印机。

有没有一种方法可以将两全其美的方法基本结合起来。基本上是使用Windows驱动程序绘制/打印整个标签,但是让打印机以最佳质量呈现条形码吗?

我隐约意识到使用可以从打印机加载或加载到打印机上的条形码字体,但是不确定质量有多好,在PC上需要多少设置以及在各种打印机型号上支持的程度如何和制造商。在我看来,似乎又是另一种蠕虫。

1 个答案:

答案 0 :(得分:1)

我在 MS ACCESS 中构建了一个仓库调度应用程序,使用 VBA 将条码标签打印到 Zebra 打印机。这里没有简单的答案。 3 种常见途径:最坏的选择:使用第 3 方软件(如 BarTender)但通常无法有效集成和有效的两步过程,导致打印错误文件、重新打印的问题重复标签和欺诈; 更好的选择: 原始打印(通过 Windows 通用文本驱动程序)使用 ZPL 直接打印到打印机,这比您预期的更常见(或 EPL 或 CPCL 或其他一些兔子洞)最好的标签结果,但问题是它是高度技术性的,标签布局更改很痛苦(你似乎已经熟悉这些问题),很多支持电话; 最佳选择(对我而言):让打印机的供应商打印驱动程序完成工作(需要配置),在 MS ACCESS(或您的 .NET 应用程序)中将布局作为报告),将条码文本格式化为用户定义的字体,在 zebra 打印机驱动程序中将该字体映射到所需的条码(驱动程序中的配置类型、大小、方向、可选文本等),调整驱动程序设置的速度等. 直到标签质量与 raw/zpl 相似,将驱动程序配置设置保存/导出到文件(最常见的支持调用我只是重新加载这个文件,节省时间)。不利的一面是,需要进行一些前期规划来协调布局,尤其是条形码与通过用户字体映射到所需条形码的驱动程序。多年来,通过多个版本的 MS ACCESS 和打印机更改,这对我有用。

相关问题