Страница-диапазона - проблема на печати документа

Я пытаюсь распечатать содержимое моего редактора:

PrintDialog pd = new PrintDialog();

pd.PageRangeSelection = PageRangeSelection.AllPages;
pd.UserPageRangeEnabled = true;

FlowDocument fd = DocumentPrinter.CreateFlowDocumentForEditor(CurrentDocument.Editor);
DocumentPaginator dp = ((IDocumentPaginatorSource)fd).DocumentPaginator;

bool? res = pd.ShowDialog();

if (res.HasValue && res.Value)
{
    fd.PageHeight = pd.PrintableAreaHeight;
    fd.PageWidth = pd.PrintableAreaWidth;
    fd.PagePadding = new Thickness(50);
    fd.ColumnGap = 0;
    fd.ColumnWidth = pd.PrintableAreaWidth;

    pd.PrintDocument(dp, CurrentDocument.Editor.FileName);
}

У меня использовал этот тестовый документ, имеет около 14 страниц (с помощью этих страниц-настроек). Я проверил его: появляется printDialog, и я выбрал PageRange (я набрал «1-3» в текстовое поле) и нажал Print . Над PrintDocument () Я устанавливаю точку останова и посмотрел в объект PrintDialog. Он говорит pd.pagerangeselection = pagerangeselection.userpage и pd.pageRange = {1-3} . Я думаю, это правильно, потому что я хотел распечатать только только Page 1-3. Тогда выполняется PrintDocument () PrintDocument () , выполненная и в выходе PDF (для тестирования я использую PDF-принтер), имеет 14 страниц (весь документ был напечатан).

Где моя ошибка? Почему PageRange - не работает не работает?

Спасибо за вашу помощь

6
задан VMAtm 19 September 2011 в 08:36
поделиться