在wpf中打印时内容未旋转

时间:2013-01-24 18:01:04

标签: wpf printing landscape xps

我正在使用System.Windows.Controls.PrintDialog打印XPS文档。当我在打印对话框中选择横向方向时,生成的页面将旋转为横向,但实际内容将保持纵向模式并被剪裁。

这是我打印的方式。我还试图在PrintDialog.PrintQueue上使用AddJob方法,在PrintQueue.CreateXpsDocumentWriter(...)上使用重载。写(...)所有结果相同或更差。我试图将DocumentPaginator.PageSize,printDialog.PrintTicket.PageMediaSize和第一个FixedPage的宽度和高度设置为正确的lanscape大小而没有结果。 PrintDialog.PrintTicket.PageOrientation在横向上,PrintDialog.PrintableAreaWidth和PrintDialog.PrintableAreaHeight在显示PrintDialog后选择lanscape时应该是这样。

var printDialog = new PrintDialog
        {
            MaxPage = (uint)pageCount,
            MinPage = 1,
            PageRange = new PageRange(1, pageCount),
            UserPageRangeEnabled = true
        };

if (printDialog.ShowDialog() != true) return;
using (var doc = new XpsDocument(filename, FileAccess.Read)) 
{
    var paginator = doc.GetFixedDocumentSequence().DocumentPaginator;
    printDialog.PrintDocument(fds.paginator , "myPrintJob");
}

0 个答案:

没有答案