Как я могу напечатать каждую панель стека на странице формата А4 в приложении WPF - PullRequest
0 голосов
/ 13 сентября 2018

Я работаю над WYSIWYG-приложением. В моем приложении десять панелей стека. Каждая панель стека имеет отформатированный, выровненный текст. Я хочу напечатать каждую панель стека на каждой странице. Пользователь, когда нажимает на кнопку PRINT, каждая панель стека печатает точно так, как она находится на странице.

С моим текущим кодом проблема в том, что он печатает только визуальную часть, а также вместо одного PDF-файла с десятью страницами он создает десять разных файлов только с одной страницей.

Пожалуйста, посмотрите на следующий код:

private void PrintDocument() {
    PrintDialog printDialog = new PrintDialog();
    foreach (StackPanel spnl in rootStackPanel.Children) {
        printDialog.PrintVisual(spnl,"");
    }       
}

Я не могу использовать печатный документ, потому что каждый текст отформатирован и выровнен. (некоторые тексты будут выровнены по левому краю, другие - по правому краю, а некоторые - с дополнительным полем, и в печатном документе это тоже необходимо сохранить) Каждый размер панели составляет 500 по ширине и 800 по высоте.

Пожалуйста, посмотрите на изображения ниже: stackpanel page

enter image description here

...