在 windows phone 8.1 上阅读 pdf 时无法添加翻转视图图像

Cannot add flipview image when reading pdf on windows phone 8.1

我在 windows phone 8.1 上申请使用 xfinium 阅读 pdf。我在阅读 pdf 时添加 flipview 时遇到问题。 图像不显示并显示错误消息,例如 link

代码:

async private void LoadFile(string name)
        {
            StorageFolder installedLocation = ApplicationData.Current.LocalFolder;
            StorageFolder koleksibuku = await installedLocation.CreateFolderAsync("koleksibuku", CreationCollisionOption.OpenIfExists);
            IReadOnlyList<StorageFile> files = await koleksibuku.GetFilesAsync();
            StorageFolder thumbfolder = await installedLocation.CreateFolderAsync("thumb", CreationCollisionOption.OpenIfExists);
            foreach (StorageFile file in files)
            {
                if (file.DisplayName == name)
                {
                    var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
                    Stream fileStream = stream.AsStreamForRead();

                    PdfFixedDocument document = new PdfFixedDocument(fileStream);
                    //fileStream.Dispose();
                    (Application.Current as App).Document = document;

                    int i = 0;



                    for (i = 0; i < document.Pages.Count; i++)
                    {
                        int index = i;

                        var t = Task<PdfBgraByteRenderingSurface>.Factory.StartNew(() =>
                        {
                            PdfPageRenderer renderer = new PdfPageRenderer(document.Pages[index]);
                            PdfBgraByteRenderingSurface rs = renderer.CreateRenderingSurface<PdfBgraByteRenderingSurface>(96, 96);
                            PdfRendererSettings settings = new PdfRendererSettings(thumbnailDpi, thumbnailDpi, rs);
                            renderer.ConvertPageToImage(settings);

                            return rs;
                        })
                            .ContinueWith(value =>
                            {

                                PdfBgraByteRenderingSurface rs = value.Result;
                                WriteableBitmap pageBitmap = new WriteableBitmap(rs.Width, rs.Height);
                                Stream imageStream = pageBitmap.PixelBuffer.AsStream();
                                imageStream.Write(rs.Bitmap, 0, rs.Bitmap.Length);

                                flipView.SelectionChanged += flipView_SelectionChanged;
                                flipView.Loaded += flipView_Loaded;
                                flipView.ItemsSource = pageBitmap;


                            }, TaskScheduler.FromCurrentSynchronizationContext());
                    }
                }

            }
        }

如何处理?

我的建议是检查 imageStream 的长度及其位置。位置应为 0,imageStream.Length 应等于 rs.Bitmap.Length。如果它们不同,请将示例项目发送给 XFINIUM.PDF 支持。
免责声明:我在开发 XFINIUM.PDF 库的公司工作。