FixedDocument всегда печатать первую страницу

У меня проблема при попытке печати многостраничного FixedDocument, например, мой предварительный просмотр показывает 3 разные страницы, но когда я нажимаю на печать или используя Printdialog(fixedDoc.DocumentPaginator,"namefile"), он всегда печатает 3 страницы с содержимым страницы 1. Вот мой код для фиксированного документа. lstBitMap представляет собой список BitmapEncoder

FixedDocument fixedDoc = new FixedDocument();
fixedDoc.DocumentPaginator.PageSize = pageSize;

foreach (var bitmap in lstBitMapEncode)
{
    ImageSource imageSource;

    using (var stream = new MemoryStream())
    {
        bitmap.Save(stream);
        stream.Position = 0;
        imageSource = BitmapFrame.Create(stream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.OnLoad);
    }

    Canvas canvas = new Canvas();
    canvas.Width = pageSize.Width;
    canvas.Height = pageSize.Height;
    canvas.Background = new ImageBrush(imageSource);
    FixedPage.SetLeft(canvas, capabilities.PageImageableArea.OriginWidth);
    FixedPage.SetTop(canvas, capabilities.PageImageableArea.OriginHeight);

    //add canvas include image to page
    FixedPage page = new FixedPage();
    page.Width = fixedDoc.DocumentPaginator.PageSize.Width;
    page.Height = fixedDoc.DocumentPaginator.PageSize.Height;
    page.Children.Add(canvas);

    // add the page to the document
    PageContent pageContent = new PageContent();
    ((IAddChild)pageContent).AddChild(page);
    fixedDoc.Pages.Add(pageContent);
}

0 ответов

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