C# 使用DataMatrix.net.dll进行二维码打印

最近在做关于DM码的测试,看到有个DataMatrix.net.dll的库,拿来研究了一下。
下面做了一个测试的Demo
C# 使用DataMatrix.net.dll进行二维码打印_第1张图片
C# 使用DataMatrix.net.dll进行二维码打印_第2张图片
主要代码段

        #region DM码
            //引用DataMatrix.net.dll
            //实例化DmtxImageEncoder
            DmtxImageEncoder DMCode = new DmtxImageEncoder();
            //配置DM码的参数
            DataMatrix.net.DmtxImageEncoderOptions option = new DmtxImageEncoderOptions();
            //边距距离
            option.MarginSize = 0;
            //二维码点阵大小
            option.ModuleSize = 2;
            //生成图片
            Bitmap map = DMCode.EncodeImage(PrintCode, option);
            Graphics g = Graphics.FromImage(map);
            e.Graphics.DrawImage(map, int.Parse(TbxDM_X.Text), int.Parse(TbxDM_Y.Text));//X原113
            e.Graphics.DrawString(PrintString, new Font(new FontFamily("黑体"), int.Parse(TbxStringSize.Text)), System.Drawing.Brushes.Black, int.Parse(TbxString_X.Text), int.Parse(TbxString_Y.Text));//X原95
            pictureBox1.Image = map;
            #endregion
 /// 
        /// 打印预览
        /// 
        /// 
        /// 
        private void BtnPrintView_Click(object sender, EventArgs e)
        {
            PrintCode = TbxCodeContent.Text;
            PrintString = TbxStringContent.Text;
            //设置纸张大小,“Custom”属性可设置成自定义大小
            this.DMprinter.DefaultPageSettings.PaperSize = new PaperSize("Custom", int.Parse(TbxLabelWidth.Text), int.Parse(TbxLabelHeight.Text));
            PrintPreviewDialog PrintPreview = new PrintPreviewDialog();
            //指定打印机对象
            PrintPreview.Document = DMprinter;
            try
            {
                PrintPreview.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "打印错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

源码地址:https://download.csdn.net/download/jinfengdk1995/11032940
(转载请注明)

你可能感兴趣的:(C#)