在我的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文件,它在纸上看起来也不错。