C#条码生成及打印实例代码


string BarcodeString = "13043404455";//条码
        int ImgWidth = 520;
        int ImgHeight = 120;

        //打印按钮
        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("黑体"), 10), System.Drawing.Brushes.Black, 1, 1);

                if (!string.IsNullOrEmpty(BarcodeStr))
                {
                    int PrintWidth = 175;
                    int PrintHeight = 35;
                    //绘制打印图片
                    e.Graphics.DrawImage(CreateBarcodePicture(BarcodeStr, BarcodeWidth, BarcodeHeight), 0, 0, 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);
        }
时间: 2024-08-16 09:09:05

C#条码生成及打印实例代码的相关文章

添加条码生成和打印功能到SQL Server Reporting Services report 中

Barcode Professional for Reporting Services 是一款灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加条码生成和打印功能到您的SQL Server Reporting Services report 中.支持几乎所有当前常用的条码:Code 39, Code 128, GS1-128, GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Austra

Barcode Professional for ASP.NET ASP.NET条码生成和打印功控件介绍

Barcode Professional for ASP.NET是最灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加先进的条码生成和打印功能到您的ASP.NET Web解决方案(包括ASP.NET Mobile Web站点). 具体功能: Neodynamic Barcode Professional for ASP.NET是最灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加先进的条码生成和打印功能到您的ASP.NET Web解决方案(包括ASP.NET

Barcode Professional for Silverlight条码生成和打印控件下载及使用介绍

Barcode Professional for Silverlight是一款轻量级的.NET程序集,为你的SilverLight应用程序生成高质量的基于矢量的条形码,支持条码生成和打印,支持当前大多数1维和2维条形码,包含:Code 39, Code 128, GS1-128, GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Australia Post, DHL, etc.), Data Matrix

php+highchats生成动态统计图实例代码

今天有幸被召回母校给即将毕业的学弟学妹们讲我这两年的工作史,看了下母校没啥特别的变化,就是寝室都安了空调,学妹们都非常漂亮而已..好了不扯蛋了,说下今天的主题吧.这些天我在深度定制语法高亮功能的同时发现了博客园提供的一些有意思的函数,甚至有几个博客园都没用到,我也不知道怎么才能触发那些功能..打开这个js就可以看到很多好用的东西了,虽然写的不怎么样,但是至少有这些功能. ps: 推荐安装一个代码格式化的插件,否则一坨看着蛋疼.比如第一个就是 log,方便调试. http://www.qidian

数组应用实例(生成并打印随机数和统计随机数的分布)

一.生成并打印随机数 代码如下: <span style="font-size:18px;">#include <stdio.h> #include <stdlib.h> #define N 20 int a[N]; void gen_random(int upper_bound) //生成随机数在0-upper_bound之间 { int i; for(i = 0;i<N;i++) { a[i] = rand()%upper_bound; }

jQuery打印json格式对象实例代码

jQuery打印json格式对象实例代码:所谓的json格式对象其实就是对象直接量,很多教程多说这是json对象,其实这是不正确.下面是一段打印json格式对象的实例代码,希望能够对初学者有所帮助.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.soft

java随机动态生成汉字验证码图片的实例代码分享

原创不易,转载请注明出处:java随机动态生成汉字验证码图片的实例代码分享 代码下载地址:http://www.zuidaima.com/share/1809721113234432.htm 汉字验证码实现原理 将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成验证码图片并用文本框值和session值比较,功能相对来说还是比较简单的. 效果图,如下: 验证成功后: java随机动态生成汉字验证码图片的实例代码分享

Python文件和目录操作实例代码

对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这些函数无论是在Unix.Windows还是Macintosh平台上,它们的使用方式是完全一致的. 本文将详细解释这些函数的使用方法.首先,介绍Python语言中类似于Windows系统的dir命令的列出文件功能,然后描述如何测试一个文件名对应的是一个标准文件.目录还是链接,以及提取文件大小和日期的方法.之后,还将介绍如何删除文件和目录

MyBatis 源码分析——生成Statement接口实例

JDBC的知识对于JAVA开发人员来讲在简单不过的知识了.PreparedStatement的作用更是胸有成竹.我们最常见用到有俩个方法:executeQuery方法和executeUpdate方法.这俩个方法之外还有一个execute方法.只是这个方法我们很少用.但是mybatis框架就是却用这个方法来实现的.不管mybatis用是哪一个方法来实现.有一点可以肯定--那就是必须得到Statement接口实例.你可以这样子理解mybatis把如何获得Statement接口实例做了一个完美的封装.