C#打印条码一般是通过图片方式或指令方式来打印,图片形式主要有fastreport。这里我们使用LPT端口控件来实现,而实际上绝大多数的条码打印机厂商都有一套他们自己的打印指令语言,通过这种语言,可以不需要驱动,支持直接打印,并且操作简单,仅仅将指令送入打印机中就好。
公司主营业务:成都网站设计、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出台州免费做网站回馈大家。
VS中存在Com口操作的控件,却未有现成的LPT端口控件,而相对COM口来说,LPT的速度要快,所以在打印的时候客户一般选择LPT通讯方式,经过网上的一些查阅,终于实现了LPT口的打印,打印机为Zebra,写出来与大家分享。
C#打印条码操作的实例:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- //C#打印条码操作的实例
- namespace PrintDemo
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- tbBarCode.Focus();
- }
- //C#打印条码操作的实例
- private void tbBarCode_KeyDown(object sender,
- KeyEventArgs e)
- {
- switch (e.KeyCode)
- {
- case Keys.Enter:
- PrintBarcode(tbBarCode.Text.Trim());
- tbBarCode.Text = "";
- tbBarCode.Focus();
- break;
- default:
- break;
- }
- }
- private void PrintBarcode(string Barcode)
- {
- Barcode = "^XA^FO48,12^BY4^BCN,152,N,N^FD>;" +
- //C#打印条码操作的实例
- Barcode.Trim() + "^FS^FT62,220^CI0^ABN,44,28^FD" +
- Barcode.Trim() + "^FS^PQ1,0,1,Y^XZ";
- PrintDemo.POSPrinter prn = new
- PrintDemo.POSPrinter("LPT1");
- string strmsg = prn.PrintLine(Barcode);
- if (strmsg != "")
- {
- MessageBox.Show(strmsg);
- }
- }
- }
- }
C#打印条码操作之类POSPrinter定义如下
- namespace PrintDemo
- {
- class POSPrinter
- {
- const int OPEN_EXISTING = 3;
- string prnPort = "LPT1";
- [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
- private static extern IntPtr CreateFile(string
- lpFileName,
- int dwDesiredAccess,
- int dwShareMode,
- int lpSecurityAttributes,
- int dwCreationDisposition,
- int dwFlagsAndAttributes,
- int hTemplateFile);
- public POSPrinter()
- {
- //
- // TODO: 在此处添加构造函数逻辑
- //
- }
- public POSPrinter(string prnPort)
- {
- this.prnPort = prnPort;//打印机端口
- }
- public string PrintLine(string str)
- {
- IntPtr iHandle = CreateFile(prnPort, 0x40000000,
- 0, 0, OPEN_EXISTING, 0, 0);
- if (iHandle.ToInt32() == -1)
- {
- return "LPT1 Port Open Failed";
- }
- else
- {
- FileStream fs = new FileStream(iHandle,
- FileAccess.ReadWrite);
- StreamWriter sw = new StreamWriter(fs,
- System.Text.Encoding.Default);//C#打印条码操作之写数据
- sw.WriteLine(str);
- sw.Close();
- fs.Close();
- return "";
- }
- }
- }
- }
C#打印条码操作的实例浅析就向你介绍到这里,希望对你了解和学习C#打印条码操作有所了解。
本文题目:C#打印条码操作的实例浅析
本文链接:http://www.shufengxianlan.com/qtweb/news21/270521.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联