打印很关键的方法,打印方法DataPrint(),将你要打印的数据信息发送到打印机就可以了,打印机将自动处理。

1 public void DataPrint()
2 {
3 try
4 {
5 PrintDocument pd = new PrintDocument();
6 PrintDialog pdlg = new PrintDialog();
7 pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
8 pdlg.Document = pd;
9 pd.Print();
10
11 }
12 catch
13 {
14 //选择打印机
15 MessageBox.Show("请选择打印机");
16 DialogPrint();
17 }
18 finally
19 {
20 //MessageBox.Show("打印成功");
21 }
22 }
如果要手动选择打印机

1 PrintDocument pd = new PrintDocument();
2 PrintDialog pdlg = new PrintDialog();
3 pd.DefaultPageSettings.PaperSize = new PaperSize("B5", image.Height, image.Width);//定义纸张大小
4 pd.DefaultPageSettings.Landscape = true; //横向
5 pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
6 pdlg.Document = pd;
7 DialogResult res = pdlg.ShowDialog();
8 if (res == DialogResult.OK)
9 {
10 pd.Print();
11 }
打印预览的方法

1 /// <summary>
2 /// 预览打印
3 /// </summary>
4 /// <param name="p_ShowPageSetup"></param>
5 public void Preview(bool p_ShowPageSetup)
6 {
7 try
8 {
9 if (File.Exists(@"123.jpg"))
10 {
11 PrintDocument pd = new PrintDocument();
12
13 PaperSize ps = new PaperSize("B5", image.Height, image.Width);
14 pd.DefaultPageSettings.PaperSize = ps;
15 pd.DefaultPageSettings.Landscape = true; //横向
16 pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
17 if (p_ShowPageSetup)
18 {
19 PageSetupDialog pageSetup = new PageSetupDialog();
20 pageSetup.Document = pd;
21 DialogResult Rc = pageSetup.ShowDialog();
22 if (Rc == DialogResult.Cancel)
23 {
24 return;
25 }
26 }
27 PrintPreviewDialog previewDialog = new PrintPreviewDialog();
28 previewDialog.Document = pd;
29 previewDialog.ShowInTaskbar = true;
30 previewDialog.ShowDialog();
31
32 }
33
34 else
35 {
36 MessageBox.Show("图片不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
37 }
38
39 }
40 finally
41 {
42 }
43 }
这里为打印预览的界面加上了图片,通过图片来控制打印的边界,但是这个地方值得注意的是打印机中的尺寸和C#程序中的尺寸的规格不一样,C#中是以图片的像素为基本单位,而打印机中则是以毫米为基本单位,而且像素是不能直接转换为毫米的,所以这个地方就会有问题。我的做法是,先在ps中定好尺寸,然后再将大小和像素统一,这样就没问题了。而到时候打印的具体设置只要在控制面板中将默认设置为横向,大小设置为你证书的大小就行了。
打印解决了,接下来将是数据的存储和信息的读取。敬请期待,谢谢你的关注。。。
来源:http://www.cnblogs.com/bindot/p/zsdy3.html
