C# 使用DataMatrix.net.dll进行二维码打印
最近在做关于DM码的测试,看到有个DataMatrix.net.dll的库,拿来研究了一下。
下面做了一个测试的Demo
主要代码段
#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
/// <summary>
/// 打印预览
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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.****.net/download/jinfengdk1995/11032940
(转载请注明)