This module uses DevExpress PDF Document API to export PDF pages as images (BMP, PNG, TIFF, SVG). You can process the sample file or supply your own document. To do the latter, select Upload a File from the file selection drop-down menu.
In the Image Export Settings panel, specify required image settings and select pages to export. Use the Convert to... dropdown button to select the output format, convert document pages, and download image files.
using DevExpress.Pdf;
IReadOnlyList<Stream> ConvertToImages(Stream documentStream, string imageFormat, int resolution, IEnumerable<int> pageRange) {
using var processor = new PdfDocumentProcessor();
processor.LoadDocument(documentStream);
var pageCount = processor.Document.Pages.Count;
if(!pageRange.Any())
pageRange = Enumerable.Range(1, pageCount);
var result = new List<Stream>();
if(imageFormat == "tiff") {
var tiffStream = new MemoryStream();
processor.CreateTiff(tiffStream, pageRange.Where(x => x >= 1 && x <= processor.Document.Pages.Count), resolution);
tiffStream.Position = 0;
result.Add(tiffStream);
return result;
}
var renderingParameters = PdfPageRenderingParameters.CreateWithResolution(resolution);
foreach(var index in pageRange) {
if(index < 1 || index > pageCount)
continue;
var stream = new MemoryStream();
switch(imageFormat) {
case "bmp":
var bmpBitmap = processor.CreateDXBitmap(index, renderingParameters);
bmpBitmap.Save(stream);
break;
case "png":
var pngBitmap = processor.CreateDXBitmap(index, renderingParameters);
pngBitmap.Save(stream, DevExpress.Drawing.DXImageFormat.Png);
break;
case "svg":
var svg = processor.CreateSvgImage(index, renderingParameters);
svg.Save(stream);
break;
default: throw new ArgumentException("Incorrect image format");
}
stream.Position = 0;
result.Add(stream);
}
return result;
}