[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");
推荐阅读
