zoukankan      html  css  js  c++  java
  • C# 毕业证书打印《三》

    打印很关键的方法,打印方法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         }
    DataPrint

    如果要手动选择打印机

     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         }
    DataPreView

    这里为打印预览的界面加上了图片,通过图片来控制打印的边界,但是这个地方值得注意的是打印机中的尺寸和C#程序中的尺寸的规格不一样,C#中是以图片的像素为基本单位,而打印机中则是以毫米为基本单位,而且像素是不能直接转换为毫米的,所以这个地方就会有问题。我的做法是,先在ps中定好尺寸,然后再将大小和像素统一,这样就没问题了。而到时候打印的具体设置只要在控制面板中将默认设置为横向,大小设置为你证书的大小就行了。

    打印解决了,接下来将是数据的存储和信息的读取。敬请期待,谢谢你的关注。。。

  • 相关阅读:
    maven
    shell脚本--循环结构
    vi编辑器的使用
    数据对象映射模式
    shell脚本--逻辑判断与字符串比较
    shell脚本--分支、条件判断
    shell脚本--数值比较
    shell脚本--文件测试
    sublime text3修改默认配置文件是失败的解决方法
    shell脚本--显示文本内容
  • 原文地址:https://www.cnblogs.com/bindot/p/zsdy3.html
Copyright © 2011-2022 走看看