Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 固定文档始终打印第一页_C#_Wpf_Fixeddocument - Fatal编程技术网

C# 固定文档始终打印第一页

C# 固定文档始终打印第一页,c#,wpf,fixeddocument,C#,Wpf,Fixeddocument,我在尝试打印多页FixedDocument时遇到问题,例如,我的预览显示了3个不同的页面,但当我单击打印或使用Printdialog(fixedDoc.DocumentPaginator,“namefile”)时,它总是打印3个包含第1页内容的页面。 这里是我的固定文档代码。LSTMBitmap是BitmapEncoder的列表 FixedDocument fixedDoc = new FixedDocument(); fixedDoc.DocumentPaginator.PageSize =

我在尝试打印多页FixedDocument时遇到问题,例如,我的预览显示了3个不同的页面,但当我单击打印或使用Printdialog(fixedDoc.DocumentPaginator,“namefile”)时,它总是打印3个包含第1页内容的页面。 这里是我的固定文档代码。LSTMBitmap是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);
}