C# 毕业证书打印《三》
打印很关键的方法,打印方法DataPrint(),将你要打印的数据信息发送到打印机就可以了,打印机将自动处理。
public void DataPrint()
{
try
{
PrintDocument pd = new PrintDocument();
PrintDialog pdlg = new PrintDialog();
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
pdlg.Document = pd;
pd.Print(); }
catch
{
//选择打印机
MessageBox.Show("请选择打印机");
DialogPrint();
}
finally
{
//MessageBox.Show("打印成功");
}
}
DataPrint
如果要手动选择打印机
PrintDocument pd = new PrintDocument();
PrintDialog pdlg = new PrintDialog();
pd.DefaultPageSettings.PaperSize = new PaperSize("B5", image.Height, image.Width);//定义纸张大小
pd.DefaultPageSettings.Landscape = true; //横向
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
pdlg.Document = pd;
DialogResult res = pdlg.ShowDialog();
if (res == DialogResult.OK)
{
pd.Print();
}
手动选择打印机的方法
打印预览的方法
/// <summary>
/// 预览打印
/// </summary>
/// <param name="p_ShowPageSetup"></param>
public void Preview(bool p_ShowPageSetup)
{
try
{
if (File.Exists(@"123.jpg"))
{
PrintDocument pd = new PrintDocument(); PaperSize ps = new PaperSize("B5", image.Height, image.Width);
pd.DefaultPageSettings.PaperSize = ps;
pd.DefaultPageSettings.Landscape = true; //横向
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
if (p_ShowPageSetup)
{
PageSetupDialog pageSetup = new PageSetupDialog();
pageSetup.Document = pd;
DialogResult Rc = pageSetup.ShowDialog();
if (Rc == DialogResult.Cancel)
{
return;
}
}
PrintPreviewDialog previewDialog = new PrintPreviewDialog();
previewDialog.Document = pd;
previewDialog.ShowInTaskbar = true;
previewDialog.ShowDialog(); } else
{
MessageBox.Show("图片不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
finally
{
}
}
DataPreView
这里为打印预览的界面加上了图片,通过图片来控制打印的边界,但是这个地方值得注意的是打印机中的尺寸和C#程序中的尺寸的规格不一样,C#中是以图片的像素为基本单位,而打印机中则是以毫米为基本单位,而且像素是不能直接转换为毫米的,所以这个地方就会有问题。我的做法是,先在ps中定好尺寸,然后再将大小和像素统一,这样就没问题了。而到时候打印的具体设置只要在控制面板中将默认设置为横向,大小设置为你证书的大小就行了。
打印解决了,接下来将是数据的存储和信息的读取。敬请期待,谢谢你的关注。。。
C# 毕业证书打印《三》的更多相关文章
- C# 毕业证书打印《一》
最近一直在做证书打印的项目,好久都没写日志了.今天将代码整理了一下,希望将自己做证书打印的一些心得写出来,也希望能和大家一起交流. 首先,证书打印必须实现打印的功能.了解打印功能是怎么实现的,打印关键 ...
- C# 毕业证书打印《六》
整理思路,从新出发. 加载模版 public void loadtemplate(Label lable) { string p_tempateFile = @"fomate.xml&quo ...
- C# 毕业证书打印《二》
当证书的打印功能得以实现,最关键的功能便是数据. 通过对打印的了解,打印中最关键的功能便是打印事件中的方法. private void pd_PrintPage(object sender, Prin ...
- C# 毕业证书打印《五》
对鼠标操作Label的方法 #region //定义一个枚举类型,描述光标状态 private enum EnumMousePointPosition { #region MouseSizeNone ...
- C# 毕业证书打印《四》
数据存储,读取控件在Panel中的位置,将控件的位置保存到xml文件中. /// <summary> /// 将当前格式写入xml /// </summary> /// < ...
- 【爆料】-《布莱顿大学毕业证书》Brighton一模一样原件
布莱顿大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...
- 毕业样本=[威尔士大学毕业证书]UWIC原件一模一样证书
威尔士大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...
- 毕业样本=[华威大学毕业证书]Warwick原件一模一样证书
华威大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...
- 毕业原版=[约克大学毕业证书]York原件一模一样证书
约克大学毕业证[微/Q:2544033233◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...
随机推荐
- JMeter 安装与使用基本教程
JMeter使用了不同技术和协议,是一款可以进行配置和执行负载测试.性能测试和压力测试的工具. 什么是JMeter? JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100% ...
- 不下载SDK启动Android Studio
一.不下载SDK启动Android Studio 给一个解决方法:Android Studio安装目录下的bin,idea.properties:idea.properties文件末尾加一行:disa ...
- Effective Objective-C 2.0 — 第12条:理解消息转发机制
11 条讲解了对象的消息传递机制 12条讲解对象在收到无法解读的消息之后会发生什么,就会启动“消息转发”(message forwarding)机制, 若对象无法响应某个选择子,则进入消息转发流程. ...
- 浅谈JavaScript中的事件
引言 Html页面与JavaScript之间的交互是通过事件来完成的.事件,就是文档或者浏览器窗口中发生的一些特定的交互瞬间.可以使用侦听器(处理程序)来预订事件,以便事件发生时执行相应的代码.这在传 ...
- kafka+zookeeper环境配置(Mac 或者 linux环境)
一.zookeeper下载与安装 1)下载 adeMacBook-Pro:zookeeper_soft apple$ wget http://mirrors.cnnic.cn/apache/zooke ...
- strtr函数的用法
http://php.net/manual/en/function.strtr.php <?php $trans = array("h" => "-" ...
- 连接到kali linux服务器上的MySQL服务器错误
前言:想把数据库什么的都放在虚拟机kali Linux里,但无奈出了好多错误. 首先:可以参照上一篇文章开启kali服务器端的远程连接功能,上一篇文章 然后:使用window端的sqlyog(MySQ ...
- Linq→join中指定多个条件
还是习惯先撸一段SQL * FROM User_Pic P AND P.Guid = R.UserPicGuid ORDER BY PicSize DESC 然后发现Linq中的join不能多条件.. ...
- Redis学习笔记九:独立功能之慢查询日志
Redis 的慢查询日志用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来监视和优化查询速度. 服务器配置有两个相关选项: slowlog-log-slower-than 选项指 ...
- Android 软键盘盖住输入框的问题
当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...