Смешайте альбомную и портретную печать в wpf / C#

В приложении WPF / C# я печатаю некоторые страницы с помощью DocumentPaginator. Тем не менее, я хочу смешать в 1 задание печати в альбомном и портретном режимах: например, Страница 1 в книжной ориентации, Страница 2 в альбомной ориентации и Страница 3 в книжной.

Однако, если я изменю PageSize (переопределить из DocumentPaginator), чтобы отразить ландшафт, страница останется в портретном режиме.

Другими словами в

public class PrintPaginator : DocumentPaginator
    {
        public override Size PageSize { get; set; }
        public override DocumentPage GetPage(int pageNumber)
        {
            // size values
            Size theSizeOfThePage;
            // make size orientation correct
            if (pageNumber == 2)
            {
                // landscape: width is larger then height
                theSizeOfThePage = new Size(Math.Max(PageSize.Width, PageSize.Height), Math.Min(PageSize.Width, PageSize.Height));
            }
            else
            {
                // portrait: height is larger then width
                theSizeOfThePage = new Size(Math.Min(PageSize.Width, PageSize.Height), Math.Max(PageSize.Width, PageSize.Height));
            }
            PageSize = theSizeOfThePage;

            // set the grid as the page to print
            thePage = new Grid();
            thePage.Width = PageSize.Width;
            thePage.Height = PageSize.Height;

            [...]

            // return a documentpage wrapping the grid
            return new DocumentPage(thePage);
        }

Я считаю, что я не могу установить Ориентацию или Размер страницы в Пейзаж раньше, так как это зависит от номера страницы, которая печатается...

Любые идеи, предложения, обходные пути, чтобы смешать портрет и пейзаж в 1 принт-джобе?

Спасибо! Р.

1 ответ

Я давно знаю, что вы спросили, но пытались ли вы установить PageSize непосредственно в конструкторе вызова new DocumentPage()?

Более подробная информация в моем блоге: http://wieser-software.blogspot.co.uk/2012/07/landscape-printing-and-preview-in-wpf.html

Другие вопросы по тегам