Sample code · C#
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 PdfCompressionModel : PageModel { public void OnGet() { DdlPdfCompressionLevel = "Normal"; } [BindProperty] public string DdlPdfCompressionLevel { get; set; } public List<SelectListItem> CompressionLevels { get; } = new List<SelectListItem> { new SelectListItem { Value = "NoCompression", Text = "No Compression" }, new SelectListItem { Value = "Normal", Text = "Normal" }, new SelectListItem { Value = "Best", Text = "Best" }, }; public IActionResult OnPost() { // create a new pdf document PdfDocument doc = new PdfDocument(); doc.Margins = new PdfMargins(20, 20, 20, 20); // set compression level doc.CompressionLevel = SampleForm.ParseEnum(DdlPdfCompressionLevel, PdfCompressionLevel.Normal); // create a new pdf font PdfFont font = doc.Fonts.Add(PdfStandardFont.Helvetica); font.Size = 16; // add a new page to the document PdfPage page = doc.AddPage(); // create a new text element and add it to the page PdfTextElement text = new PdfTextElement(0, 0, Helper.SomeVeryLongText(), font); page.Add(text); // save pdf document byte[] pdf = doc.Save(); // close pdf document doc.Close(); // return resulted pdf document FileResult fileResult = new FileContentResult(pdf, "application/pdf"); fileResult.FileDownloadName = "Document.pdf"; return fileResult; } } }