EVO HTML to PDF Converter allows you select directly in HTML the elements to exclude from rendering to PDF by setting the data-exclude attribute on HTML elements you want to exclude. The converter does not reflow the HTML content when you exclude an element from rendering and the place where the element would be normally rendered remains blank. If you want to reflow the HTML content when the HTML element is hidden, you have to set display:none style for HTML element, eventually creating two separate stylesheets for screen and for print.
Code Sample - Select in HTML the Elements to Hide in Generated PDF
C#
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Http; // Use EVO PDF Namespace using EvoPdfClient; namespace EvoHtmlToPdfDemo.Controllers.HTML_to_PDF.HTML_Elements_Visibility { public class Select_in_HTML_Elements_to_HideController : Controller { [HttpPost] public ActionResult ConvertHtmlToPdf(IFormCollection collection) { // Get the server options string serverIP = collection["textBoxServerIP"]; uint serverPort = uint.Parse(collection["textBoxServerPort"]); string servicePassword = collection["textBoxServicePassword"]; bool useServicePassword = servicePassword.Length > 0; bool useTcpService = collection["ServerType"] == "radioButtonUseTcpService"; string webServiceUrl = collection["textBoxWebServiceUrl"]; // Create the HTML to PDF converter object HtmlToPdfConverter htmlToPdfConverter = null; if (useTcpService) htmlToPdfConverter = new HtmlToPdfConverter(serverIP, serverPort); else htmlToPdfConverter = new HtmlToPdfConverter(true, webServiceUrl); // Set optional service password if (useServicePassword) htmlToPdfConverter.ServicePassword = servicePassword; // Set license key received after purchase to use the converter in licensed mode // Leave it not set to use the converter in demo mode htmlToPdfConverter.LicenseKey = "4W9+bn19bn5ue2B+bn1/YH98YHd3d3c="; // Set an adddional delay in seconds to wait for JavaScript or AJAX calls after page load completed // Set this property to 0 if you don't need to wait for such asynchcronous operations to finish htmlToPdfConverter.ConversionDelay = 2; byte[] outPdfBuffer = null; if (collection["HtmlPageSource"] == "convertHtmlRadioButton") { string htmlWithBookmarkAttributes = collection["htmlStringTextBox"]; string baseUrl = collection["baseUrlTextBox"]; // Convert a HTML string with exclude attributes to a PDF document in a memory buffer outPdfBuffer = htmlToPdfConverter.ConvertHtml(htmlWithBookmarkAttributes, baseUrl); } else { string url = collection["urlTextBox"]; // Convert a HTML page with exclude attributes to a PDF document in a memory buffer outPdfBuffer = htmlToPdfConverter.ConvertUrl(url); } // Send the PDF file to browser FileResult fileResult = new FileContentResult(outPdfBuffer, "application/pdf"); fileResult.FileDownloadName = "Select_in_HTML_Elements_to_Hide.pdf"; return fileResult; } } }
HTML String with Exclude Attributes
XML
<!DOCTYPE html> <html> <head> <title>Select in HTML the Elements to Hide in Generated PDF</title> </head> <body style="font-family: 'Times New Roman'; font-size: 14px"> <span style="font-size: 24px; font-weight: bold; color: navy">Select the HTML Elements to Hide Using 'Data-Exclude' Attribute</span><br /> <br /> <span style="font-size: 14px; color: black">The following image will be excluded from rendering in the generated PDF: </span> <br /> <br /> <!-- HTML element for to exclude from rendering --> <img data-exclude="true" alt="Logo Image" style="width: 350px" src="img/logo.jpg" id="imageHtmlID" /> <br /> <br /> <a style="font-size: 18px; font-weight: bold; color: navy" href="http://www.evopdf.com" id="linkHtmlID">Visit EVO HTML to PDF Converter Website</a> </body> </html>