Я ищу способ преобразовать SKDocument, который создал PDF-файл, такой же SKDocument.CreatePdf(ManagedStreamForPdfMemoryStream);
, в эквивалент изображения, например SKBitmap
Есть ли способ конвертировать SKDocument в SKbitmap?
Ответы (1)
Это невозможно, SKDocument.CreatePdf
создает файл PDF, который нельзя прочитать как растровое изображение с помощью SkiaSharp.
Как я упоминал в этом ответе, я бы предложил поискать способы загрузки PDF-файлов без связи со SkiaSharp - это разные задачи. https://stackoverflow.com/a/59513162/1117914
НО...
Если вы создаете PDF-файл с помощью SkiaSharp, просто используйте ту же логику, которую вы использовали для создания PDF-файла для создания растровых изображений.
Вы даже можете использовать что-то вроде SKNWayCanvas
для параллельного рисования: https://docs.microsoft.com/dotnet/api/skiasharp.sknwaycanvas.
var pdf = document.BeginPage();
var bmp = imageSurface.Canvas;
var canvas = new SKNWayCanvas(100, 100);
canvas.AddCanvas(pdf);
canvas.AddCanvas(bmp);
canvas.DrawRect(...);
В конце у вас будет PDF-файл и набор растровых изображений, которые можно отобразить на экране. Никакой дополнительной работы и загрузки файлов не требуется.