用户登录
用户注册

分享至

[WPF 学习] 7.1 多页打印

  • 作者: 爱如凉水
  • 来源: 51数据库
  • 2021-08-21

1.自定义打印类

  public class mydocumentpaginator : documentpaginator
        {
            private int _pagecount;
            public override bool ispagecountvalid => true;

            public override int pagecount => _pagecount;

            public override size pagesize { get; set; }

            public override idocumentpaginatorsource source => null;

            public override documentpage getpage(int pagenumber)
            {
                drawingvisual visual = new drawingvisual();
                using (drawingcontext dc = visual.renderopen())
                {
                    dc.drawtext(new formattedtext($"第{pagenumber}页", system.globalization.cultureinfo.currentculture, flowdirection.lefttoright, new typeface("仿宋体"), 14, brushes.black, 1), new point(96, 96));
                }
                return new documentpage(visual,pagesize, new rect(pagesize),new rect(pagesize));
            }

            public mydocumentpaginator(size pagesize, int pagecount)
            {
                this.pagesize = pagesize;
                _pagecount = pagecount;
            }
        }

2.调用

            printdialog pd = new printdialog();
            mydocumentpaginator doc = new mydocumentpaginator(new size(pd.printableareawidth, pd.printableareaheight), 3);
            pd.printdocument(doc, "mydoc");
软件
前端设计
程序设计
Java相关