您的位置:首页 > 编程语言 > C#

C#控制条码打印机 纸张大小,间距,绘制内容(所有条码打印机通用)

2017-04-13 08:37 393 查看
其他条码知识 请访问:http://www.ybtiaoma.com ,本文仅供参考,请勿转载,谢谢

using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Runtime.InteropServices;
using System.Windows.Forms;

/*2014-3-1
* 测试打印机 新北洋BTP-2100E Plus 西铁城CLP-S631
* 测试结果:页面大小,上间距,左间距都可以正常使用
*/

namespace PrintingExample
{
public partial class frnPrinterLabel : Form
{
public frnPrinterLabel()
{
InitializeComponent();
}

private PrintDocument m_printDoc = null;//打印文档
private PrintPreviewDialog m_printPreview = null;//打印预览UI
private PrinterSettings psetting = new PrinterSettings();//实例打印设置对象

private float m_pageWidth = 70F;//纸张宽度 mm单位
private float m_pageHeight = 50F;//纸张高度 mm单位

private void Form1_Load(object sender, EventArgs e)
{
m_printDoc = new PrintDocument();//实例打印文档对象
m_printPreview = new PrintPreviewDialog();

//m_printPreview.PrintPreviewControl.AutoZoom = false;
m_printPreview.PrintPreviewControl.Zoom = 1;
m_printPreview.Width = Screen.PrimaryScreen.Bounds.Width;
m_printPreview.Height = Screen.PrimaryScreen.Bounds.Height;

//自定义纸张大小
m_printDoc.DefaultPageSettings.PaperSize = new PaperSize("newPage70X40"
, (int)(m_pageWidth / 25.4 * 100)
, (int)(m_pageHeight / 25.4 * 100));
//自定义图片内容整体上间距/左间距
m_printDoc.OriginAtMargins = true;
m_printDoc.DefaultPageSettings.Margins.Top = (int)(2 / 25.4 * 100);
m_printDoc.DefaultPageSettings.Margins.Left = (int)(2 / 25.4 * 100);
//打印事件
m_printDoc.PrintPage += new PrintPageEventHandler(m_printDoc_PrintPage);

}

private void button1_Click(object sender, EventArgs e)
{
m_printDoc.Print();//打印
}

private void btnView_Click_1(object sender, EventArgs e)
{
m_printPreview.Document = m_printDoc;//把打印文档显示到预览对话框中
m_printPreview.ShowDialog();
}

/// <summary>
/// 绘制需要打印的内容
/// </summary>
void m_printDoc_PrintPage(object sender, PrintPageEventArgs e)
{
       //创建文本信息
e.Graphics.DrawString("杭州允博条码科技有限公司", new Font("宋体", 15), Brushes.Black, 2, 2);

e.Graphics.DrawString("地址:杭州市江干区九堡家苑三区\r\n" +
"电话:0571-87298557\r\n"+
"联系方式:15158883623"

, new Font("宋体", 10), Brushes.Black, 2, 30);
//创建二维码--需要引用DLL

       DotNetBarcode QRBarcode = new DotNetBarcode();//实例二维码

       QRBarcode.Type = DotNetBarcode.Types.QRCode;

QRBarcode.QRSetTextType = DotNetBarcode.QRTextTypes.Automatic;

QRBarcode.QRWriteBar("杭州允博条码科技有限公司", 2, 100, 2, e.Graphics);
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: