В приложении WPF/С# я печатаю некоторые страницы с помощью 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);
}
Я считаю, что не могу установить ориентацию или размер страницы в альбомную ранее, так как это зависит от печатаемого номера страницы...
Любые идеи, предложения, обходные пути, чтобы смешать книжную и альбомную ориентацию в одном задании на печать?
Спасибо! Р.