以页面为中心打印FlowDocument

时间:2013-01-11 14:19:59

标签: wpf printing

在我的WPF应用程序中,我想打印一个自定义生成的FlowDocument,但是在将页面放在纸张中心时遇到了很大的问题。每个页面都与左上角对齐。即使这么近,打印机也无法到达。缺少文档的小部分。在下侧和右侧有足够的空白空间,因此文档可以轻松地放在纸上。如果它会居中!

是否可以设置PrintTicket或Paginator的边框/边距/偏移量?

我找不到任何可行的方法。

这就是我的所作所为:

// selectedDocument is a FlowDocument

private const double PAGE_HEIGHT = 728;
private const double PAGE_WIDTH = 1024;

var paginator 
= ((IDocumentPaginatorSource)this .selectedDocument).DocumentPaginator;
paginator.PageSize = new Size(PAGE_WIDTH, PAGE_HEIGHT); 
printDialog.PrintTicket.PageOrientation 
= System.Printing.PageOrientation.Landscape;
printDialog.PrintDocument(paginator, "Report");

我也尝试了不同的页面大小,但没有区别。

如果我通过XpsSerializationManager将我的FlowDocument保存为XpsDocument,则创建的文件看起来很完美。边界和边距都是应有的。在稍后的步骤中,我使用此文件来创建pdf文件。如果我然后打印pdf文件,它在纸上看起来也不错。

0 个答案:

没有答案