WPF打印 - PrintableAreaWidth&高度陷入景观?

时间:2014-09-05 15:03:49

标签: wpf printing

我使用以下代码打印FlowDocument: -

var printDialog = new PrintDialog();
var result = printDialog.ShowDialog();
if (!result.Value)
{
    return;
}

var pageWidth = printDialog.PrintableAreaWidth;
var pageHeight = printDialog.PrintableAreaHeight;

flowDoc.ColumnWidth = pageWidth;
flowDoc.PageWidth = pageWidth;
flowDoc.PageHeight = pageHeight;

var paginator = ((IDocumentPaginatorSource)flowDoc).DocumentPaginator;
printDialog.PrintDocument(paginator, "Name");

打印对话框将页面显示为A4纵向,但printDialog.PrintableAreaWidth.PrintableAreaHeight的值为1122&分别为793,即 landscape

通过对话框更改方向或纸张尺寸对这些值没有影响。发生了什么事?

更新 我添加了一个显示PrintDialog属性的屏幕截图。请注意PrintTicket属性如何反映正确的页面大小和方向,但两个PrintableArea ...属性是错误的。

我开始认为这是一个有趣的"与打印机/驱动程序。我已经尝试过打印到" XPS Document Writer"打印机,并在查看创建的文件时正确呈现页面。 (如果我查看PrintDialog的属性,PrintableArea ...属性会正确反映A4纵向页面。)

enter image description here

0 个答案:

没有答案