百度空间 | 百度首页 
 
查看文章
 
C#条码打印经验整理
2009-04-09 18:38

条码长度过长可以使用Code128或Ean128码制压缩条码长度
生成条码图形使用了第三方组件BCEncode.dll版本2.20
需要设置图形的分辨率为打印分辨率,方法:Bitmap.SetResolution(PRINTER_RESOLUTION_X, PRINTER_RESOLUTION_Y);。否则图形为默认分辨率,打印时会被放大。
需要使用如下方法对Graphics对象进行处理
private void SetGraphics(Graphics g)
{
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
    g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixel;
}
否则绘制的图形会被做圆滑处理,添加很多黑白之外的颜色在图形上,且肉眼无法分辨。导致打印出来的图形有锯齿或虚线。
组件生成图形的色深为1-bit,而如果将其绘制到另一图形上会产生一个32-bit的图形(因为Bitmap对象默认是32位色深)。将该图形强制转换为1位色深后,文件大小基本可压缩10倍以上。
将打印机设置中切纸功能开启,且应设置打印的页边距,使每一个条码内容准确打印在条码标签上。
在打印机设置中设置打印的密度,以使打印出更清晰的条码便于扫描识别。
最后,不要打印长的横直线,容易使碳带被扯断。


类别:Public | 添加到搜藏 | 浏览() | 评论 (7)
 
最近读者:
 
网友评论:
2
2009-06-09 21:36 | 回复
回复匿名网友:相当的号
 
3
2009-08-10 09:19 | 回复
第三方组件能否提供个?
 
4
2009-08-22 19:20 | 回复
回复tdskee:可以 你留下邮箱 我发给你
 
5
2009-08-22 19:36 | 回复
回复tdskee:组件已发送
 
6
2009-08-23 11:41 | 回复
回复412858310:email:tdskee@qq.com
谢谢,已经收到,感激.
 
7
2009-09-24 13:50 | 回复
第三方打印组件可以给我一份吗?我以前用的是水晶报表,但新的打印机和水晶报表连接,打印速度比较慢,需要一个新的打印组件替换水晶报表.Email:herry.wang@expotec.com.cn.谢谢
 
8
2009-10-01 13:14 | 回复
回复herry:哦 对不住 很久不来看了 组件已发送至herry.wang@expotec.com.cn
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu