【问题标题】:asp.net c# Barcode issueasp.net c#条码问题
【发布时间】:2012-01-25 03:01:14
【问题描述】:

在 asp.net c# 中生成条形码,使用位图对象将图像保存为 jpeg(还检查了更改图像扩展名 gif 和 dpi)。但问题是当我们打印条形码时,条形码质量不好(它显示褪色打印)。虽然打印机“Zebra GK420”质量不错。我在谷歌上做了一些研发,并使用了一些演示 dll 来制作条形码,但条形码质量问题仍然存在。这里是代码sn -p和打印输出文件;

   Bitmap objBmpImage = new Bitmap(192, 96);
   Font CR10BP = new Font("Courier New", 10, FontStyle.Bold, GraphicsUnit.Pixel);
   Font TR10NP = new Font("Times New Roman", 10, FontStyle.Regular, GraphicsUnit.Pixel);
   Font ID12NP = new Font("IDAutomationHC39M", 12, FontStyle.Regular, GraphicsUnit.Point);

   Graphics objGraphics = Graphics.FromImage(objBmpImage);

   objGraphics.Clear(Color.White);

   objGraphics.DrawString(line1, TR10NP, new SolidBrush(Color.Black), 10, 2);
   objGraphics.DrawString(line2, TR10NP, new SolidBrush(Color.Black), 10, 12);
   objGraphics.DrawString(line3, TR10NP, new SolidBrush(Color.Black), 10, 22);

   objGraphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;

   objGraphics.DrawString(line4, ID12NP, new SolidBrush(Color.Black), 10, 36);

   objGraphics.Flush();

   return objBmpImage;

【问题讨论】:

  • 试试 BMP 或 PNG,gif 和 jpeg 是有损格式。另外,尝试一种非自动化的方法来创建和打印条形码,以确认它不是打印机设置/打印方法等。
  • 我一直认为 Zebra 打印机接受条形码的 ASCII 字符串并自己生成条形码图像。
  • @GeorgeDuckett:我不认为 GIF 是有损的(除非你需要超过 256 个调色板)。尽管您正在撰写有关 jpeg 的文章,但这肯定会在图像中引入伪影。
  • @Chris:你可能就在那儿。 GIF 仅在颜色方面是有损的,因此不应影响结果,因为只有 2 种颜色。
  • @ChrisBD:您可以打印 ascii,也可以给它一个要打印的图像。我自己用过后一种方法。

标签: c# asp.net


【解决方案1】:

尝试从 Zebra 打印机打印条码时,最好使用 ZPL 告诉它有关条码的信息并将其呈现在打印机上。这是 420d 打印机的 ZPL guide(仅在 IE 中为我打开)。阅读有关您发送到打印机以使其正常工作的文本的指南。您可以从命令行发送一个文本文件来使用标准打印命令测试打印机,这样您就不必在学习语言时不断地重新编译。

由于您使用的是 3of9 字体,因此您可能会使用 ^B3,这是 ZPL 的 3 of 9 命令。像这个命令(PDF 中的一个例子)这样简单的东西,将呈现一个条形码:

^XA
^FO100,100^BY3
^B3N,N,100,Y,N
^FD123ABC^FS
^XZ

【讨论】:

  • Keorner- 如果我错了,请纠正我。我的理解是,在其中写入这些代码行后发送文本文件进行打印。它会设置斑马打印机字体等。
  • @zeshanahmad - 正确。您可以使用 print /D:lpt1 filename.txt 从命令行打印(以确保记事本等程序不会添加标题),其中 LPT1 是打印机的设备。
  • @Keorner- 我们不能手动设置这些打印机属性(通过右键单击类似的打印机属性)吗?上面的脚本是用 ZP 语言编写的,但是我们怎么能用 C# 呢?
  • 脚本运行后,您可以使用标准 C# 打印代码来打印 ZPL。它只是发送到打印机的文本。
  • @Keorner- 我们不能手动设置这些打印机属性(通过右键单击类似的打印机属性)吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-30
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多