Closed scattered-code closed 1 year ago
No, decoding and rendering PDFs has a level of complexity that is extremely exploit prone (2046 exploits so far), and you probably don't want that happening on your servers.
ImageResizer simply ran third-party programs for the rendering, but in practice people never updated those programs either, leaving it a rather bad option I wish had never existed.
It's also unpredictably slow - I would use a web service or sandboxed container if you need this kind of conversion done.
Thanks, I went with converting the PDF on upload to a JPG using Syncfusion / skia sharp
Leaving this in case anyone else needs it
PdfRenderer.ReferencePath = "/usr/lib/x86_64-linux-gnu/";
using (var memStream = new MemoryStream())
using (PdfRenderer pdfExportImage = new PdfRenderer())
{
pdfExportImage.Load(item.OpenReadStream());
var bitmapimage = pdfExportImage.ExportAsImage(0);
var img = bitmapimage.Encode(SkiaSharp.SKEncodedImageFormat.Jpeg, 100).ToArray();
await memStream.WriteAsync(img, 0, img.Length);
memStream.Position = 0;
await _storageService.UploadOrderDocument(docName, memStream);
}
Any way to render PDFs like ImageResizer.Plugins.PdfRenderer did?