using IronPdf;var renderer = new ChromePdfRenderer();renderer.RenderingOptions.EnableJavaScript = true;renderer.RenderingOptions.JavaScript = @" var target = document.querySelector('#invoice-summary'); document.body.innerHTML = target.outerHTML;";renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);pdf.SaveAs("invoice-summary.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.JavaScript = @"
var target = document.querySelector('#invoice-summary');
document.body.innerHTML = target.outerHTML;
";
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);
var pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary.pdf");
using IronPdf;string fullPageHtml = @"<html><body> <header><h1>Acme Corp Invoice</h1></header> <nav>Navigation links...</nav> <div id='invoice-summary'> <h2>Invoice #12345</h2> <table> <tr><td>Widget A</td><td>$49.99</td></tr> <tr><td>Widget B</td><td>$29.99</td></tr> <tr><td><strong>Total</strong></td><td><strong>$79.98</strong></td></tr> </table> </div> <footer>Footer content...</footer></body></html>";var renderer = new ChromePdfRenderer();renderer.RenderingOptions.EnableJavaScript = true;// Replace the body with only the target elementrenderer.RenderingOptions.Javascript = @" var el = document.querySelector('#invoice-summary'); if (el) { document.body.innerHTML = el.outerHTML; }";// Wait for the target element to exist before JS executesrenderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);PdfDocument pdf = renderer.RenderHtmlAsPdf(fullPageHtml);pdf.SaveAs("invoice-summary-only.pdf");
using IronPdf;
string fullPageHtml = @"
<html>
<body>
<header><h1>Acme Corp Invoice</h1></header>
<nav>Navigation links...</nav>
<div id='invoice-summary'>
<h2>Invoice #12345</h2>
<table>
<tr><td>Widget A</td><td>$49.99</td></tr>
<tr><td>Widget B</td><td>$29.99</td></tr>
<tr><td><strong>Total</strong></td><td><strong>$79.98</strong></td></tr>
</table>
</div>
<footer>Footer content...</footer>
</body>
</html>";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
// Replace the body with only the target element
renderer.RenderingOptions.Javascript = @"
var el = document.querySelector('#invoice-summary');
if (el) {
document.body.innerHTML = el.outerHTML;
}
";
// Wait for the target element to exist before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(fullPageHtml);
pdf.SaveAs("invoice-summary-only.pdf");
ImportsIronPdfDim fullPageHtml AsString = "<html><body> <header><h1>Acme Corp Invoice</h1></header> <nav>Navigation links...</nav> <div id='invoice-summary'> <h2>Invoice #12345</h2> <table> <tr><td>Widget A</td><td>$49.99</td></tr> <tr><td>Widget B</td><td>$29.99</td></tr> <tr><td><strong>Total</strong></td><td><strong>$79.98</strong></td></tr> </table> </div> <footer>Footer content...</footer></body></html>"Dim renderer As New ChromePdfRenderer()renderer.RenderingOptions.EnableJavaScript = True' Replace the body with only the target elementrenderer.RenderingOptions.Javascript = " var el = document.querySelector('#invoice-summary'); if (el) { document.body.innerHTML = el.outerHTML; }"' Wait for the target element to exist before JS executesrenderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(fullPageHtml)pdf.SaveAs("invoice-summary-only.pdf")
Imports IronPdf
Dim fullPageHtml As String = "
<html>
<body>
<header><h1>Acme Corp Invoice</h1></header>
<nav>Navigation links...</nav>
<div id='invoice-summary'>
<h2>Invoice #12345</h2>
<table>
<tr><td>Widget A</td><td>$49.99</td></tr>
<tr><td>Widget B</td><td>$29.99</td></tr>
<tr><td><strong>Total</strong></td><td><strong>$79.98</strong></td></tr>
</table>
</div>
<footer>Footer content...</footer>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
' Replace the body with only the target element
renderer.RenderingOptions.Javascript = "
var el = document.querySelector('#invoice-summary');
if (el) {
document.body.innerHTML = el.outerHTML;
}
"
' Wait for the target element to exist before JS executes
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("#invoice-summary", 10000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(fullPageHtml)
pdf.SaveAs("invoice-summary-only.pdf")
renderer.RenderingOptions.JavaScript = @" var el = document.querySelector('#invoice-summary'); if (el) { var head = document.head.innerHTML; document.body.innerHTML = el.outerHTML; document.head.innerHTML = head; }";
renderer.RenderingOptions.JavaScript = @"
var el = document.querySelector('#invoice-summary');
if (el) {
var head = document.head.innerHTML;
document.body.innerHTML = el.outerHTML;
document.head.innerHTML = head;
}
";
renderer.RenderingOptions.JavaScript = " var el = document.querySelector('#invoice-summary'); if (el) { var head = document.head.innerHTML; document.body.innerHTML = el.outerHTML; document.head.innerHTML = head; }"
renderer.RenderingOptions.JavaScript = "
var el = document.querySelector('#invoice-summary');
if (el) {
var head = document.head.innerHTML;
document.body.innerHTML = el.outerHTML;
document.head.innerHTML = head;
}
"
using IronPdf;using AngleSharp;using AngleSharp.Html.Parser;string fullPageHtml = @"<html><head> <style> table { border-collapse: collapse; width: 100%; } td, th { border: 1px solid #ddd; padding: 8px; text-align: left; } </style></head><body> <header><h1>Dashboard</h1></header> <div id='revenue-widget'> <h3>Q4 Revenue</h3> <table> <tr><th>Month</th><th>Revenue</th></tr> <tr><td>October</td><td>$1.2M</td></tr> <tr><td>November</td><td>$1.5M</td></tr> <tr><td>December</td><td>$1.8M</td></tr> </table> </div> <div id='other-content'>Other widgets...</div></body></html>";// Parse and extract the target elementvar parser = new HtmlParser();var document = parser.ParseDocument(fullPageHtml);var targetElement = document.QuerySelector("#revenue-widget");if (targetElement is null){Console.WriteLine("Target element not found."); return;}// Wrap the fragment in a minimal HTML document to preserve stylesstring fragmentHtml = $@"<html><head> <style> table {{ border-collapse: collapse; width: 100%; }} td, th {{ border: 1px solid #ddd; padding: 8px; text-align: left; }} </style></head><body> {targetElement.OuterHtml}</body></html>";var renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf(fragmentHtml);pdf.SaveAs("revenue-widget.pdf");
using IronPdf;
using AngleSharp;
using AngleSharp.Html.Parser;
string fullPageHtml = @"
<html>
<head>
<style>
table { border-collapse: collapse; width: 100%; }
td, th { border: 1px solid #ddd; padding: 8px; text-align: left; }
</style>
</head>
<body>
<header><h1>Dashboard</h1></header>
<div id='revenue-widget'>
<h3>Q4 Revenue</h3>
<table>
<tr><th>Month</th><th>Revenue</th></tr>
<tr><td>October</td><td>$1.2M</td></tr>
<tr><td>November</td><td>$1.5M</td></tr>
<tr><td>December</td><td>$1.8M</td></tr>
</table>
</div>
<div id='other-content'>Other widgets...</div>
</body>
</html>";
// Parse and extract the target element
var parser = new HtmlParser();
var document = parser.ParseDocument(fullPageHtml);
var targetElement = document.QuerySelector("#revenue-widget");
if (targetElement is null)
{
Console.WriteLine("Target element not found.");
return;
}
// Wrap the fragment in a minimal HTML document to preserve styles
string fragmentHtml = $@"
<html>
<head>
<style>
table {{ border-collapse: collapse; width: 100%; }}
td, th {{ border: 1px solid #ddd; padding: 8px; text-align: left; }}
</style>
</head>
<body>
{targetElement.OuterHtml}
</body>
</html>";
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(fragmentHtml);
pdf.SaveAs("revenue-widget.pdf");
ImportsIronPdfImportsAngleSharpImportsAngleSharp.Html.ParserDim fullPageHtml AsString = "<html><head> <style> table { border-collapse: collapse; width: 100%; } td, th { border: 1px solid #ddd; padding: 8px; text-align: left; } </style></head><body> <header><h1>Dashboard</h1></header> <div id='revenue-widget'> <h3>Q4 Revenue</h3> <table> <tr><th>Month</th><th>Revenue</th></tr> <tr><td>October</td><td>$1.2M</td></tr> <tr><td>November</td><td>$1.5M</td></tr> <tr><td>December</td><td>$1.8M</td></tr> </table> </div> <div id='other-content'>Other widgets...</div></body></html>"' Parse and extract the target elementDim parser As New HtmlParser()Dim document = parser.ParseDocument(fullPageHtml)Dim targetElement = document.QuerySelector("#revenue-widget")If targetElement Is Nothing ThenConsole.WriteLine("Target element not found.") ReturnEnd If' Wrap the fragment in a minimal HTML document to preserve stylesDim fragmentHtml AsString = $"<html><head> <style> table {{ border-collapse: collapse; width: 100%; }} td, th {{ border: 1px solid #ddd; padding: 8px; text-align: left; }} </style></head><body> {targetElement.OuterHtml}</body></html>"Dim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(fragmentHtml)pdf.SaveAs("revenue-widget.pdf")
Imports IronPdf
Imports AngleSharp
Imports AngleSharp.Html.Parser
Dim fullPageHtml As String = "
<html>
<head>
<style>
table { border-collapse: collapse; width: 100%; }
td, th { border: 1px solid #ddd; padding: 8px; text-align: left; }
</style>
</head>
<body>
<header><h1>Dashboard</h1></header>
<div id='revenue-widget'>
<h3>Q4 Revenue</h3>
<table>
<tr><th>Month</th><th>Revenue</th></tr>
<tr><td>October</td><td>$1.2M</td></tr>
<tr><td>November</td><td>$1.5M</td></tr>
<tr><td>December</td><td>$1.8M</td></tr>
</table>
</div>
<div id='other-content'>Other widgets...</div>
</body>
</html>"
' Parse and extract the target element
Dim parser As New HtmlParser()
Dim document = parser.ParseDocument(fullPageHtml)
Dim targetElement = document.QuerySelector("#revenue-widget")
If targetElement Is Nothing Then
Console.WriteLine("Target element not found.")
Return
End If
' Wrap the fragment in a minimal HTML document to preserve styles
Dim fragmentHtml As String = $"
<html>
<head>
<style>
table {{ border-collapse: collapse; width: 100%; }}
td, th {{ border: 1px solid #ddd; padding: 8px; text-align: left; }}
</style>
</head>
<body>
{targetElement.OuterHtml}
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(fragmentHtml)
pdf.SaveAs("revenue-widget.pdf")
using HtmlAgilityPack;using IronPdf;var htmlDoc = new HtmlDocument();htmlDoc.LoadHtml(fullPageHtml);var targetNode = htmlDoc.DocumentNode.SelectSingleNode("//*[@id='revenue-widget']");if (targetNode is null){Console.WriteLine("Target element not found."); return;}string fragmentHtml = $"<html><body>{targetNode.OuterHtml}</body></html>";var renderer = new ChromePdfRenderer();PdfDocument pdf = renderer.RenderHtmlAsPdf(fragmentHtml);pdf.SaveAs("revenue-widget-hap.pdf");
using HtmlAgilityPack;
using IronPdf;
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(fullPageHtml);
var targetNode = htmlDoc.DocumentNode.SelectSingleNode("//*[@id='revenue-widget']");
if (targetNode is null)
{
Console.WriteLine("Target element not found.");
return;
}
string fragmentHtml = $"<html><body>{targetNode.OuterHtml}</body></html>";
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(fragmentHtml);
pdf.SaveAs("revenue-widget-hap.pdf");
ImportsHtmlAgilityPackImportsIronPdfDim htmlDoc As New HtmlDocument()htmlDoc.LoadHtml(fullPageHtml)Dim targetNode = htmlDoc.DocumentNode.SelectSingleNode("//*[@id='revenue-widget']")If targetNode Is Nothing ThenConsole.WriteLine("Target element not found.") ReturnEnd IfDim fragmentHtml AsString = $"<html><body>{targetNode.OuterHtml}</body></html>"Dim renderer As New ChromePdfRenderer()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(fragmentHtml)pdf.SaveAs("revenue-widget-hap.pdf")
Imports HtmlAgilityPack
Imports IronPdf
Dim htmlDoc As New HtmlDocument()
htmlDoc.LoadHtml(fullPageHtml)
Dim targetNode = htmlDoc.DocumentNode.SelectSingleNode("//*[@id='revenue-widget']")
If targetNode Is Nothing Then
Console.WriteLine("Target element not found.")
Return
End If
Dim fragmentHtml As String = $"<html><body>{targetNode.OuterHtml}</body></html>"
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(fragmentHtml)
pdf.SaveAs("revenue-widget-hap.pdf")
PdfDocument pdf = renderer.RenderHtmlAsPdf(fragmentHtml, @"C:\templates\assets\");
PdfDocument pdf = renderer.RenderHtmlAsPdf(fragmentHtml, @"C:\templates\assets\");
Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(fragmentHtml, "C:\templates\assets\")
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(fragmentHtml, "C:\templates\assets\")
using IronPdf;var renderer = new ChromePdfRenderer();renderer.RenderingOptions.EnableJavaScript = true;// Wait for the dashboard widget to render (async content)renderer.RenderingOptions.WaitFor.HtmlQuerySelector("[data-widget='revenue-chart']", 15000);// Isolate the widget after it rendersrenderer.RenderingOptions.Javascript = @" var widget = document.querySelector('[data-widget=""revenue-chart""]'); if (widget) { // Preserve computed styles by cloning into a clean body document.body.innerHTML = ''; document.body.appendChild(widget); }";PdfDocument pdf = renderer.RenderUrlAsPdf("https://dashboard.example.com/q4-report");pdf.SaveAs("revenue-chart-export.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
// Wait for the dashboard widget to render (async content)
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("[data-widget='revenue-chart']", 15000);
// Isolate the widget after it renders
renderer.RenderingOptions.Javascript = @"
var widget = document.querySelector('[data-widget=""revenue-chart""]');
if (widget) {
// Preserve computed styles by cloning into a clean body
document.body.innerHTML = '';
document.body.appendChild(widget);
}
";
PdfDocument pdf = renderer.RenderUrlAsPdf("https://dashboard.example.com/q4-report");
pdf.SaveAs("revenue-chart-export.pdf");
ImportsIronPdfDim renderer As New ChromePdfRenderer()renderer.RenderingOptions.EnableJavaScript = True' Wait for the dashboard widget to render (async content)renderer.RenderingOptions.WaitFor.HtmlQuerySelector("[data-widget='revenue-chart']", 15000)' Isolate the widget after it rendersrenderer.RenderingOptions.Javascript = " var widget = document.querySelector('[data-widget=""revenue-chart""]); if (widget) { // Preserve computed styles by cloning into a clean body document.body.innerHTML = ''; document.body.appendChild(widget); }"Dim pdf AsPdfDocument = renderer.RenderUrlAsPdf("https://dashboard.example.com/q4-report")pdf.SaveAs("revenue-chart-export.pdf")
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
' Wait for the dashboard widget to render (async content)
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("[data-widget='revenue-chart']", 15000)
' Isolate the widget after it renders
renderer.RenderingOptions.Javascript = "
var widget = document.querySelector('[data-widget=""revenue-chart""]);
if (widget) {
// Preserve computed styles by cloning into a clean body
document.body.innerHTML = '';
document.body.appendChild(widget);
}
"
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://dashboard.example.com/q4-report")
pdf.SaveAs("revenue-chart-export.pdf")