Sample code · C#
using System.IO; using System; using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; using SelectPdf.Universal; namespace SelectPdf.Samples.Pages { public class PdfToImageConverterModel : PageModel { public void OnGet() { } [BindProperty] public string DdlImageFormat { get; set; } public List<SelectListItem> ImageFormats { get; } = new List<SelectListItem> { new SelectListItem { Value = "PNG", Text = "PNG" }, new SelectListItem { Value = "JPEG", Text = "JPEG" }, new SelectListItem { Value = "BMP", Text = "BMP" }, new SelectListItem { Value = "TIFF", Text = "TIFF" }, }; [BindProperty] public string TxtStartPage { get; set; } [BindProperty] public string TxtEndPage { get; set; } public IActionResult OnPost() { // the test file string filePdf = Path.Combine(Startup.ServerPath, "wwwroot", "files", "selectpdf.pdf"); // settings string imgFormat = DdlImageFormat; int startPage = 1; try { startPage = Convert.ToInt32(TxtStartPage); } catch { } int endPage = 0; try { endPage = Convert.ToInt32(TxtEndPage); } catch { } // instantiate a pdf rasterizer (pdf to image converter) object PdfRasterizer rasterizer = new PdfRasterizer(); // load PDF file rasterizer.Load(filePdf); // set the properties rasterizer.StartPageNumber = startPage; rasterizer.EndPageNumber = endPage; // other properties that can be set rasterizer.Resolution = 150; rasterizer.ColorSpace = PdfRasterizerColorSpace.RGB; // convert pages to images byte[] imgBytes; string httpHeader; string fileName; if (imgFormat == "TIFF") { // TIFF: a single multi-frame file holding every selected page. imgBytes = rasterizer.ConvertToTiff(); httpHeader = "image/tiff"; fileName = "Image.tiff"; } else { // PNG / JPEG / BMP: the rasterizer returns the bytes already encoded in ImagesFormat, // so no re-encoding is needed in the sample. The browser downloads one file, so we // return the first rendered page. if (imgFormat == "JPG" || imgFormat == "JPEG") { rasterizer.ImagesFormat = PdfImageFormat.Jpeg; httpHeader = "image/jpeg"; fileName = "Image.jpg"; } else if (imgFormat == "BMP") { rasterizer.ImagesFormat = PdfImageFormat.Bmp; httpHeader = "image/bmp"; fileName = "Image.bmp"; } else { rasterizer.ImagesFormat = PdfImageFormat.Png; httpHeader = "image/png"; fileName = "Image.png"; } byte[][] images = rasterizer.ConvertToImages(); imgBytes = images[0]; } // return resulted image FileResult fileResult = new FileContentResult(imgBytes, httpHeader); fileResult.FileDownloadName = fileName; return fileResult; } } }