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 ConvertMultipleUrlsToPdfModel : PageModel { public void OnGet() { DdlRenderingEngine = "Chromium"; } [BindProperty] public string TxtUrl1 { get; set; } [BindProperty] public string TxtUrl2 { get; set; } [BindProperty] public string TxtUrl3 { get; set; } [BindProperty] public string DdlRenderingEngine { get; set; } = "Chromium"; public List<SelectListItem> RenderingEngines { get; } = new List<SelectListItem> { new SelectListItem { Value = "Chromium", Text = "Chromium" }, }; public IActionResult OnPost() { RenderingEngine renderingEngine = SampleForm.ParseEnum(DdlRenderingEngine, RenderingEngine.Chromium); // create a new pdf document PdfDocument doc = new PdfDocument(); // add a new page to the document PdfPage page = doc.AddPage(); // add the first url PdfHtmlElement html1 = new PdfHtmlElement(TxtUrl1); html1.NavigationTimeout = Startup.NavigationTimeout; PdfRenderingResult result = page.Add(html1); // get the last page of the previous conversion PdfPage page2 = doc.Pages[result.PdfPageLastIndex]; // add the second url PdfHtmlElement html2 = new PdfHtmlElement(result.PdfPageLastRectangle.Left, result.PdfPageLastRectangle.Bottom, TxtUrl2); html2.NavigationTimeout = Startup.NavigationTimeout; result = page2.Add(html2); // get the last page of the previous conversion PdfPage page3 = doc.Pages[result.PdfPageLastIndex]; // add the third url PdfHtmlElement html3 = new PdfHtmlElement(result.PdfPageLastRectangle.Left, result.PdfPageLastRectangle.Bottom, TxtUrl3); html3.NavigationTimeout = Startup.NavigationTimeout; result = page3.Add(html3); // 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; } } }