打印系统开发(24)——WinForm开发(45)——winform打印,自己设置打印纸张大小例如500*800px。应该怎么做呢?

这是在论坛上看到的帖子,整理了一下。文章末尾给出论坛地址。

======================================================

winform打印,自己设置打印纸张大小例如500*800px。应该怎么做呢?
网上的资料找到有:
using System.Drawing.Printing;

PrintDocument pd = new PrintDocument();
PaperSize p=null;
foreach(PaperSize ps in pd.PrinterSettings.PaperSizes)
{   if(ps.PaperName.Equals("A3"))
  p = ps;

pd.DefaultPageSettings.PaperSize = p;
pd.Print();



pd.DefaultPageSettings.PaperSize = new PaperSize("自定义名称",宽,长)

但是我运行了没有用。

====================================================

以下是我的总结,要是你也遇到相似问题可以参考,欢迎回帖交流
1、先在click事件里写代码
this.pageSetupDialog1.Document = this.printDocument1;


                        try
                        {
                            if (this.pageSetupDialog1.ShowDialog() == DialogResult.OK)
                            {
                                foreach (PaperSize paper in this.printDocument1.PrinterSettings.PaperSizes)
                                {
                                    if (paper.PaperName == "新格式")
                                    {
                                        this.printDocument1.DefaultPageSettings.PaperSize = paper;
                                        break;
                                    }
                                }
                                this.printDocument1.Print();
                            }
                        }
                        catch (Exception excep)
                        {
                            MessageBox.Show(excep.Message, "print error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
2、在控制面板/打印机和传真/文件/服务器属性/
3、在创建新格式复选框前打钩
4、在表格名里填写你格式的名字(我写的新格式)
5、设置宽度、高度、边距
6、保存格式,确定
然后连接上打印机,在页面设置选项框里,选择你格式的名字(新格式),最后打印就好了。
每次重新运行后都要重新在页面设置选项框里,选择你格式的名字(新格式),最后打印,要是想默认为你设置的格式,要继续以下步骤:
1、在控制面板/打印机和传真的窗口里选择打印机,右键,属性
2、在属性窗口里,常规/打印首选项,选高级,纸张规格的下拉框里选择你的格式名字(新格式),确定
3、回到属性窗口里,高级(刚刚是常规)/打印默认值,选高级,纸张规格的下拉框里选择你的格式名字    (新格式),确定
好了,现在就已经全部结束了。
要是我有错误欢迎指出,或者有更好的办法也欢迎大家回帖!
我的5*8问题最后还有一点小BUG,有的时候会连续走好几张纸,第一张正确,但是后面会带出好几张空白纸,现在没有什么好的解决办法,有谁知道问题出在哪里吗?

=======================================

你的最后还有一点小BUG,估计是分页上有问题。

=======================================

总结自:https://bbs.csdn.net/topics/340246412/

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值