Я пытаюсь сохранить страницы PdfDocument
на диск в виде набора BitmapImage
, для которого я использую расширения, предоставляемые WinRTXamlToolkit.Не удается сохранить PdfPage как BitmapImage на диск
PdfPage page = pdfd.GetPage(0); // pdfd is a loaded PdfDocument
InMemoryRandomAccessStream str=new InMemoryRandomAccessStream();
await page.RenderToStreamAsync(str);
BitmapImage bmp = new BitmapImage();
await bmp.SetSourceAsync(str);
WriteableBitmap wb = await WriteableBitmapFromBitmapImageExtension.FromBitmapImage(bmp);
StorageFolder sfo;
sfo = await KnownFolders.DocumentsLibrary.CreateFolderAsync("PDFasBMP", CreationCollisionOption.OpenIfExists);
await WriteableBitmapSaveExtensions.SaveToFile(wb,sfo,"Yahooo.bmp");
Выход «Yahooo.bmp» является нечитаемым 58-байтным файлом. Что мне не хватает? Проблема не имеет ничего общего с WinRTXamlToolkit, поскольку когда BitmapImage
установлен на изображение в Интернете, оно сохраняется на диске должным образом, поэтому проблема заключается в том, как работает PdfPage.
Компилятор говорит, что 'WriteableBitmap' не имеет конструктора, который принимает 0 аргументов. Похоже, что нужно, чтобы пиксель ширины и пиксельHeight указывались при создании, что неизвестно. –
Вы можете создать его с любым размером. SetSourceAsync сбросит размер, соответствующий исходному потоку. –