экран печати wpf - PullRequest
       23

экран печати wpf

0 голосов
/ 11 ноября 2011

У меня есть окно WPF, которое я хочу выгрузить на принтер.Я нашел этот код, и это хорошее начало, но есть пара проблем с ним, и я не знаю, что я делаю.

PrintDialog printDialog = new PrintDialog ( );
if ( printDialog.ShowDialog ( ) == true )
{
    PrintCapabilities capabilities = printDialog.PrintQueue.GetPrintCapabilities ( printDialog.PrintTicket );

    double scale = Math.Min ( capabilities.PageImageableArea.ExtentWidth / this.ActualWidth,
        capabilities.PageImageableArea.ExtentHeight / this.ActualHeight );

    this.LayoutTransform = new ScaleTransform ( scale, scale );
    Size size = new Size ( capabilities.PageImageableArea.ExtentWidth, capabilities.PageImageableArea.ExtentHeight );

    this.Measure ( size );
    this.Arrange ( new Rect 
        ( new Point ( capabilities.PageImageableArea.OriginWidth, capabilities.PageImageableArea.OriginHeight ), 
            size ) );

    printDialog.PrintVisual ( this, "Well Information" );
}

Я печатаю на обычную страницу 8,5x11, портрет,Я получаю страницу высотой около 9 дюймов (около 1 дюйма серые полосы сверху и снизу) и примерно половину экрана (слева направо).В идеале, я хочу получить альбомную печать (по умолчанию я понимаю, что пользователь может это изменить), которая показывает весь экран, масштабированный по мере необходимости.

...