private async Task <Stream> GetThumbnailPng(byte[] pdfBytes, int size) { try { var inputFile = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); var outputFile = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); await File.WriteAllBytesAsync(inputFile, pdfBytes); GhostscriptWrapper.GenerateThumbnail(inputFile, outputFile); var resultStream = new MemoryStream(); using (var image = Image.Load(outputFile)) { image.Mutate(ctx => ctx.Resize(size, size * image.Height / image.Width)); image.SaveAsJpeg(resultStream); } File.Delete(inputFile); File.Delete(outputFile); resultStream.Seek(0, SeekOrigin.Begin); return(resultStream); } catch (Exception ex) { this.logger.LogWarning(ex.Message); return(Stream.Null); } }