C#条码生成及打印实例代码
string BarcodeString = "";//条码
int ImgWidth = ;
int ImgHeight = ;
//打印按钮
private void button1_Click(object sender, EventArgs e)
{
//实例化打印对象
PrintDocument printDocument1 = new PrintDocument();
//设置打印用的纸张,可以自定义纸张的大小(单位:mm). 当打印高度不确定时也可以不设置
//printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", 585, 800);
//注册PrintPage事件,打印每一页时会触发该事件
printDocument1.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);
//开始打印
printDocument1.Print();
//打印预览
//PrintPreviewDialog ppd = new PrintPreviewDialog();
//ppd.Document = printDocument1;
//ppd.ShowDialog();
}
//打印事件
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append("\r\n\r\n\r\n");
sb.Append("*******兴隆超市*******\r\n");
sb.Append("品名-----数量-----价格\r\n");
sb.Append("精品白沙 1 8元\r\n");
sb.Append("张新发槟榔 1 10元\r\n");
sb.Append("合计: 2 18元\r\n");
sb.Append("---收银员:张三---\r\n");
sb.Append("---技术支持:李四---\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n");
DrawPrint(e, sb.ToString(), BarcodeString, ImgWidth, ImgHeight);
}
/// <summary>
/// 绘制打印内容
/// </summary>
/// <param name="e">PrintPageEventArgs</param>
/// <param name="PrintStr">需要打印的文本</param>
/// <param name="BarcodeStr">条码</param>
public void DrawPrint(PrintPageEventArgs e, string PrintStr, string BarcodeStr, int BarcodeWidth, int BarcodeHeight)
{
try
{
//绘制打印字符串
e.Graphics.DrawString(PrintStr, new Font(new FontFamily("黑体"), ), System.Drawing.Brushes.Black, , );
if (!string.IsNullOrEmpty(BarcodeStr))
{
int PrintWidth = ;
int PrintHeight = ;
//绘制打印图片
e.Graphics.DrawImage(CreateBarcodePicture(BarcodeStr, BarcodeWidth, BarcodeHeight), , , PrintWidth, PrintHeight);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
/// <summary>
/// 根据字符串生成条码图片( 需添加引用:BarcodeLib.dll )
/// </summary>
/// <param name="BarcodeString">条码字符串</param>
/// <param name="ImgWidth">图片宽带</param>
/// <param name="ImgHeight">图片高度</param>
/// <returns></returns>
public System.Drawing.Image CreateBarcodePicture(string BarcodeString, int ImgWidth, int ImgHeight)
{
BarcodeLib.Barcode b = new BarcodeLib.Barcode();//实例化一个条码对象
BarcodeLib.TYPE type = BarcodeLib.TYPE.CODE128;//编码类型
//获取条码图片
System.Drawing.Image BarcodePicture = b.Encode(type, BarcodeString, System.Drawing.Color.Black, System.Drawing.Color.White, ImgWidth, ImgHeight);
//BarcodePicture.Save(@"D:\Barcode.jpg");
b.Dispose();
return BarcodePicture;
}
//预览条码
private void button2_Click(object sender, EventArgs e)
{
pictureBox1.Image = CreateBarcodePicture(BarcodeString, ImgWidth, ImgHeight);
}
C#条码生成及打印实例代码的更多相关文章
- 基于Metronic的Bootstrap开发框架经验总结(14)--条码和二维码的生成及打印处理
在很多项目里面,对条形码和二维码的生成和打印也是一种很常见的操作,在Web项目里面,我们可以利用JS生成条形码和二维码的组件有很多.本文引入两个比较广泛使用的JS组件,用来处理条形码和二维码的生成处理 ...
- asp.net中生成缩略图并添加版权实例代码
这篇文章介绍了asp.net中生成缩略图并添加版权实例代码,有需要的朋友可以参考一下 复制代码代码如下: //定义image类的对象 Drawing.Image image,newimage; //图 ...
- Java生成MD5加密字符串代码实例
这篇文章主要介绍了Java生成MD5加密字符串代码实例,本文对MD5的作用作了一些介绍,然后给出了Java下生成MD5加密字符串的代码示例,需要的朋友可以参考下 (1)一般使用的数据库中都会保存用 ...
- ThinkPHP5.0图片上传生成缩略图实例代码
很多朋友遇到这样一个问题,图片上传生成缩略图,很多人在本机(win)测试成功,上传到linux 服务器后错误. 我也遇到同样的问题.网上一查,有无数的人说是服务器临时文件目录权限问题. 几经思考后,发 ...
- C#-利用ZPL语言完毕条形码的生成和打印
近期由于公司项目的须要,研究了一项对我来说算是新的技术-条形码的生成和打印.由于之前没有接触过这方面的知识,所以刚開始还有点小迷茫和小兴奋,只是一步一步来,问题总会解决的.如今来总结一下做条形码 ...
- 使用FastReport报表工具生成标签打印文档
在我们实际开发报表的时候,我们需要按一定的业务规则组织好报表的模板设计,让报表尽可能的贴近实际的需求,在之前的随笔中<使用FastReport报表工具生成报表PDF文档>介绍了FastRe ...
- python 解析XML python模块xml.dom解析xml实例代码
分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...
- [条形码] BarCodeToHTML条码生成类 (转载)
点击下载 BarCodeToHTML.zip 过多的我就不多说了大家直接看代码吧,这是一个帮助大家生成条码的类,大小大家可以自由的设定 /// <summary> /// 类说明:条码生成 ...
- java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例
java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍 我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream ou ...
随机推荐
- 解决debugJDK源码看不到局部变量的值
背景:使用的jdk1.8.0_201 问题描述:在eclispe中调试代码进入到JDK源码中,想看到某个变量的值得变化,发现此变量的值没法看到 解决方案: 1.进入到你安装本机的jdk目录下,找到sr ...
- springmvc多环境配置-profiles
1 pom.xml 添加 profiles 标签 <profiles> <!--pro 线上环境--> <profile> <id>hdapp_pro& ...
- 【转】Pandas学习笔记(五)合并 concat
Pandas学习笔记系列: Pandas学习笔记(一)基本介绍 Pandas学习笔记(二)选择数据 Pandas学习笔记(三)修改&添加值 Pandas学习笔记(四)处理丢失值 Pandas学 ...
- Consul 学习资料
资料 网址 Consul 入门指南 https://book-consul-guide.vnzmi.com/
- 20180610模拟赛T4——木棍
有\(N\)根木棍,每根的长度\(L\)和重量\(W\)已知.这些木棍将被一台机器一根一根地加工.机器需要一些启动时间来做准备工作,启动时间与木棍被加工的具体情况有关.启动时间遵循以下规则: 加工第一 ...
- python操作mysql(增、删、改、查)
用python操作数据库,特别是做性能测试造存量数据时特别简单方便,比存储过程方便多了. 连接数据库 前提:安装mysql.python,参考:https://www.cnblogs.com/Uncl ...
- 07-cmake语法-MATCHES
如果给定的字串或变量值域给定的正则表达式匹配的话,表达式返回真. IF (CMAKE_SYSTEM_NAME MATCHES "Linux") MESSAGE(STATUS &qu ...
- JDOJ 1133 分段公司利润
JDOJ 1133: 分段公司利润 JDOJ传送门 Description 企业发放的奖金根据利润提成.利润低于或等于100000元的,奖金可提10%; 利润高于100000元,低于200000元(1 ...
- 【java异常】org.springframework.web.util.NestedServletException: Handler processing failed;Can't connect to X11 window server using 'localhost:10.0' as the value of th
tomcat工程中创建二维码失败.抛出异常Can't connect to X11 window server using 'localhost:10.0' as the value of th 因为 ...
- Browser cannot find PAC because wpad hostname cannot be resolved
Enterprise Network administrator may faultly forget to configure wpad hostname to DNS server. If use ...