ImportsIronPdfDim renderer As New ChromePdfRendererWith { .RenderingOptions = New ChromePdfRenderOptionsWith { .WaitFor = WaitFor.RenderDelay(3000) }}renderer.RenderUrlAsPdf("https://example.com").SaveAs("output.pdf")
Imports IronPdf
Dim renderer As New ChromePdfRenderer With {
.RenderingOptions = New ChromePdfRenderOptions With {
.WaitFor = WaitFor.RenderDelay(3000)
}
}
renderer.RenderUrlAsPdf("https://example.com").SaveAs("output.pdf")
預設情況下,渲染會在頁面載入完成後立即發生。 正常渲染不需要調用 PageLoad 方法。 這種方法適合不包含複雜 JavaScript 或外部資源的簡單 HTML 內容。
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();// Render as soon as the page is loadedrenderer.RenderingOptions.WaitFor.PageLoad();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render as soon as the page is loaded
renderer.RenderingOptions.WaitFor.PageLoad();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
ImportsIronPdfDim renderer As New ChromePdfRenderer()' Render as soon as the page is loadedrenderer.RenderingOptions.WaitFor.PageLoad()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Render as soon as the page is loaded
renderer.RenderingOptions.WaitFor.PageLoad()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
如何在 PDF 渲染前新增自定義延遲?
當需要特定延遲來渲染 PDF 時,您可以設定一個任意毫秒數作為延遲。 這為特定時間要求提供了靈活性,特別是當處理JavaScript 內容繁重時。
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();// Render after 3000msrenderer.RenderingOptions.WaitFor.RenderDelay(3000);PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render after 3000ms
renderer.RenderingOptions.WaitFor.RenderDelay(3000);
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
ImportsIronPdfPrivate renderer As New ChromePdfRenderer()' Render after 3000msrenderer.RenderingOptions.WaitFor.RenderDelay(3000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
Imports IronPdf
Private renderer As New ChromePdfRenderer()
' Render after 3000ms
renderer.RenderingOptions.WaitFor.RenderDelay(3000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
當您的 HTML 包含動畫、延遲載入內容或需要動態內容生成的時間時,延遲機制很有用。 對於複雜的渲染情況,探索自定義渲染選項。
如何在渲染之前等待所有字體載入?
在 WaitFor 類別中的 AllFontsLoaded 方法暫停 PDF 渲染,直到所有字體從外部資源(如 Google 字體)載入完成。 這確保了最終的 PDF 包含所有必要字體,保留了文件的預期排版和視覺外觀。 此功能維持專業的 PDF 輸出品質。
using IronPdf;string htmlContent = @"<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Test Registration of Extension</title> <!-- for google web fonts --> <link rel=""preconnect"" href=""https://fonts.googleapis.com""> <link rel=""preconnect"" href=""https://fonts.gstatic.com"" crossorigin> <link rel=""stylesheet"" href=""https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap"" > <style> /* for remote fonts */ @font-face { font-family: 'CustomFont'; src: url('https://stage.gradfinale.co.uk/tcpdf/fonts/avgr65wttf.ttf'); } p#p1 { font-family: CustomFont, sans-serif; } /* for local fonts */ @font-face { font-family: 'LocalCustomFont'; src: local('Arial'); } p#p3 { font-family: LocalCustomFont, sans-serif; } </style></head><body> <h1>This is Delayed Render Test!</h1> <p style=""font-family: Roboto, monospace;"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p> <p id=""p1"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p> <p id=""p3"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p></body></html>)";ChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.WaitFor.AllFontsLoaded(10000);PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
using IronPdf;
string htmlContent = @"
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Test Registration of Extension</title>
<!-- for google web fonts -->
<link rel=""preconnect"" href=""https://fonts.googleapis.com"">
<link rel=""preconnect"" href=""https://fonts.gstatic.com"" crossorigin>
<link rel=""stylesheet"" href=""https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap"" >
<style>
/* for remote fonts */
@font-face {
font-family: 'CustomFont';
src: url('https://stage.gradfinale.co.uk/tcpdf/fonts/avgr65wttf.ttf');
}
p#p1 { font-family: CustomFont, sans-serif; }
/* for local fonts */
@font-face {
font-family: 'LocalCustomFont';
src: local('Arial');
}
p#p3 { font-family: LocalCustomFont, sans-serif; }
</style>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<p style=""font-family: Roboto, monospace;"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p>
<p id=""p1"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p>
<p id=""p3"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p>
</body>
</html>)";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.AllFontsLoaded(10000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
ImportsIronPdfDim htmlContent AsString = "<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Test Registration of Extension</title> <!-- for google web fonts --> <link rel=""preconnect"" href=""https://fonts.googleapis.com""> <link rel=""preconnect"" href=""https://fonts.gstatic.com"" crossorigin> <link rel=""stylesheet"" href=""https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap"" > <style> /* for remote fonts */ @font-face { font-family: 'CustomFont'; src: url('https://stage.gradfinale.co.uk/tcpdf/fonts/avgr65wttf.ttf'); } p#p1 { font-family: CustomFont, sans-serif; } /* for local fonts */ @font-face { font-family: 'LocalCustomFont'; src: local('Arial'); } p#p3 { font-family: LocalCustomFont, sans-serif; } </style></head><body> <h1>This is Delayed Render Test!</h1> <p style=""font-family: Roboto, monospace;"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p> <p id=""p1"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p> <p id=""p3"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p></body></html>"Dim renderer As New ChromePdfRenderer()renderer.RenderingOptions.WaitFor.AllFontsLoaded(10000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
Imports IronPdf
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Test Registration of Extension</title>
<!-- for google web fonts -->
<link rel=""preconnect"" href=""https://fonts.googleapis.com"">
<link rel=""preconnect"" href=""https://fonts.gstatic.com"" crossorigin>
<link rel=""stylesheet"" href=""https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap"" >
<style>
/* for remote fonts */
@font-face {
font-family: 'CustomFont';
src: url('https://stage.gradfinale.co.uk/tcpdf/fonts/avgr65wttf.ttf');
}
p#p1 { font-family: CustomFont, sans-serif; }
/* for local fonts */
@font-face {
font-family: 'LocalCustomFont';
src: local('Arial');
}
p#p3 { font-family: LocalCustomFont, sans-serif; }
</style>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<p style=""font-family: Roboto, monospace;"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p>
<p id=""p1"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p>
<p id=""p3"">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla scelerisque ligula venenatis erat <strong>scelerisque</strong> auctor.</p>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.AllFontsLoaded(10000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
usingIronPdf;string html = @"<!DOCTYPE html><html><body><h1>Testing</h1><script type='text/javascript'>// Set delaysetTimeout(function() { window.ironpdf.notifyRender();}, 1000);</script></body></html>";ChromePdfRenderOptions renderingOptions = new ChromePdfRenderOptions();// Set rendering to wait for the notifyRender functionrenderingOptions.WaitFor.JavaScript(5000);PdfDocument pdf = ChromePdfRenderer.StaticRenderHtmlAsPdf(html, renderingOptions);
using IronPdf;
string html = @"<!DOCTYPE html>
<html>
<body>
<h1>Testing</h1>
<script type='text/javascript'>
// Set delay
setTimeout(function() {
window.ironpdf.notifyRender();
}, 1000);
</script>
</body>
</html>";
ChromePdfRenderOptions renderingOptions = new ChromePdfRenderOptions();
// Set rendering to wait for the notifyRender function
renderingOptions.WaitFor.JavaScript(5000);
PdfDocument pdf = ChromePdfRenderer.StaticRenderHtmlAsPdf(html, renderingOptions);
JavaScript
當與 AJAX 請求結合使用,或確保動態生成的內容在渲染之前完全載入時,這種方法效果很好。 有關高級 JavaScript 場景,請參閱在 PDF 中執行自定義 JavaScript指南。
如何在渲染之前等待特定的 HTML 元素?
使用此選項,渲染過程會等待特定的 HTML 元素,例如元素 ID、名稱、標籤名和查詢選擇器來定位元素。 此功能在處理單頁應用程式(SPAs)或異步載入的內容時很有幫助。
如何通過 ID 等待元素?
在下方程式碼範例中,渲染會等待特定元素 ID。
using IronPdf;string htmlContent = @"<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Delayed render tests</title> <script type=""text/javascript""> setTimeout(function() { var h1Tag = document.createElement(""h1""); h1Tag.innerHTML = ""bla bla bla""; h1Tag.setAttribute(""id"", ""myid""); var block = document.querySelector(""div#x""); block.appendChild(h1Tag); }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>";ChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000);PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
using IronPdf;
string htmlContent = @"
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Delayed render tests</title>
<script type=""text/javascript"">
setTimeout(function() {
var h1Tag = document.createElement(""h1"");
h1Tag.innerHTML = ""bla bla bla"";
h1Tag.setAttribute(""id"", ""myid"");
var block = document.querySelector(""div#x"");
block.appendChild(h1Tag);
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
ImportsIronPdfDim htmlContent AsString = "<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Delayed render tests</title> <script type=""text/javascript""> setTimeout(function() { var h1Tag = document.createElement(""h1""); h1Tag.innerHTML = ""bla bla bla""; h1Tag.setAttribute(""id"", ""myid""); var block = document.querySelector(""div#x""); block.appendChild(h1Tag); }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>"Dim renderer As New ChromePdfRenderer()renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
Imports IronPdf
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Delayed render tests</title>
<script type=""text/javascript"">
setTimeout(function() {
var h1Tag = document.createElement(""h1"");
h1Tag.innerHTML = ""bla bla bla"";
h1Tag.setAttribute(""id"", ""myid"");
var block = document.querySelector(""div#x"");
block.appendChild(h1Tag);
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
如何通過姓名屬性等待元素?
在下方程式碼範例中,渲染過程會等待特定元素名稱。
using IronPdf;string htmlContent = @"<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Delayed render tests</title> <script type=""text/javascript""> setTimeout(function() { var h1Tag = document.createElement(""h1""); h1Tag.innerHTML = ""bla bla bla""; h1Tag.setAttribute(""id"", ""myid""); var block = document.querySelector(""div#x""); block.appendChild(h1Tag); }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>";ChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000);PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
using IronPdf;
string htmlContent = @"
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Delayed render tests</title>
<script type=""text/javascript"">
setTimeout(function() {
var h1Tag = document.createElement(""h1"");
h1Tag.innerHTML = ""bla bla bla"";
h1Tag.setAttribute(""id"", ""myid"");
var block = document.querySelector(""div#x"");
block.appendChild(h1Tag);
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
ImportsIronPdfDim htmlContent AsString = "<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Delayed render tests</title> <script type=""text/javascript""> setTimeout(function() { var h1Tag = document.createElement(""h1""); h1Tag.innerHTML = ""bla bla bla""; h1Tag.setAttribute(""id"", ""myid""); var block = document.querySelector(""div#x""); block.appendChild(h1Tag); }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>"Dim renderer As New ChromePdfRenderer()renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
Imports IronPdf
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Delayed render tests</title>
<script type=""text/javascript"">
setTimeout(function() {
var h1Tag = document.createElement(""h1"");
h1Tag.innerHTML = ""bla bla bla"";
h1Tag.setAttribute(""id"", ""myid"");
var block = document.querySelector(""div#x"");
block.appendChild(h1Tag);
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.HtmlElementById("myid", 5000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
如何通過標籤名等待元素?
在下方程式碼範例中,渲染過程會等待特定元素的標籤名。
using IronPdf;string htmlContent = @"<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Delayed render tests</title> <script type=""text/javascript""> setTimeout(function() { var newElem = document.createElement(""h2""); newElem.innerHTML = ""bla bla bla""; var block = document.querySelector(""div#x""); block.appendChild(newElem); }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>";ChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.WaitFor.HtmlElementByTagName("h2", 5000);PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
using IronPdf;
string htmlContent = @"
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Delayed render tests</title>
<script type=""text/javascript"">
setTimeout(function() {
var newElem = document.createElement(""h2"");
newElem.innerHTML = ""bla bla bla"";
var block = document.querySelector(""div#x"");
block.appendChild(newElem);
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.HtmlElementByTagName("h2", 5000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
ImportsIronPdfDim htmlContent AsString = "<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Delayed render tests</title> <script type=""text/javascript""> setTimeout(function() { var newElem = document.createElement(""h2""); newElem.innerHTML = ""bla bla bla""; var block = document.querySelector(""div#x""); block.appendChild(newElem); }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>"Dim renderer As New ChromePdfRenderer()renderer.RenderingOptions.WaitFor.HtmlElementByTagName("h2", 5000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
Imports IronPdf
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Delayed render tests</title>
<script type=""text/javascript"">
setTimeout(function() {
var newElem = document.createElement(""h2"");
newElem.innerHTML = ""bla bla bla"";
var block = document.querySelector(""div#x"");
block.appendChild(newElem);
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.HtmlElementByTagName("h2", 5000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
如何使用查詢選擇器等待元素?
在下方程式碼範例中,渲染過程會等待使用查詢選擇器選擇的元素。 HtmlQuerySelector 方法等待有 img tag 和 id of 'myid' 的 class of 'blablastyle'。
using IronPdf;string htmlContent = @"<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Test Registration of Extension</title> <script type=""text/javascript""> setTimeout(function() { var img = document.createElement(""img""); img.onload = function() { img.setAttribute(""id"", ""myid""); img.setAttribute(""class"", ""blablastyle""); var block = document.getElementById(""x""); block.appendChild(img); }; img.src = ""https://www.w3schools.com/images/picture.jpg""; // .src after .onload to ignore cached, if any }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>";ChromePdfRenderer renderer = new ChromePdfRenderer();renderer.RenderingOptions.WaitFor.HtmlQuerySelector("img#myid.blablastyle", 5000);PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
using IronPdf;
string htmlContent = @"
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Test Registration of Extension</title>
<script type=""text/javascript"">
setTimeout(function() {
var img = document.createElement(""img"");
img.onload = function() {
img.setAttribute(""id"", ""myid"");
img.setAttribute(""class"", ""blablastyle"");
var block = document.getElementById(""x"");
block.appendChild(img);
};
img.src = ""https://www.w3schools.com/images/picture.jpg""; // .src after .onload to ignore cached, if any
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>";
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("img#myid.blablastyle", 5000);
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
ImportsIronPdfDim htmlContent AsString = "<!DOCTYPE html><html lang=""en""><head> <meta charset=""UTF-8""> <title>Test Registration of Extension</title> <script type=""text/javascript""> setTimeout(function() { var img = document.createElement(""img""); img.onload = function() { img.setAttribute(""id"", ""myid""); img.setAttribute(""class"", ""blablastyle""); var block = document.getElementById(""x""); block.appendChild(img); }; img.src = ""https://www.w3schools.com/images/picture.jpg""; // .src after .onload to ignore cached, if any }, 1000); </script></head><body> <h1>This is Delayed Render Test!</h1> <div id=""x""></div></body></html>"Dim renderer As New ChromePdfRenderer()renderer.RenderingOptions.WaitFor.HtmlQuerySelector("img#myid.blablastyle", 5000)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
Imports IronPdf
Dim htmlContent As String = "
<!DOCTYPE html>
<html lang=""en"">
<head>
<meta charset=""UTF-8"">
<title>Test Registration of Extension</title>
<script type=""text/javascript"">
setTimeout(function() {
var img = document.createElement(""img"");
img.onload = function() {
img.setAttribute(""id"", ""myid"");
img.setAttribute(""class"", ""blablastyle"");
var block = document.getElementById(""x"");
block.appendChild(img);
};
img.src = ""https://www.w3schools.com/images/picture.jpg""; // .src after .onload to ignore cached, if any
}, 1000);
</script>
</head>
<body>
<h1>This is Delayed Render Test!</h1>
<div id=""x""></div>
</body>
</html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.HtmlQuerySelector("img#myid.blablastyle", 5000)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();// Render unless there has been no network activity for at least 500msrenderer.RenderingOptions.WaitFor.NetworkIdle0();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render unless there has been no network activity for at least 500ms
renderer.RenderingOptions.WaitFor.NetworkIdle0();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
ImportsIronPdfDim renderer As New ChromePdfRenderer()' Render unless there has been no network activity for at least 500msrenderer.RenderingOptions.WaitFor.NetworkIdle0()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Render unless there has been no network activity for at least 500ms
renderer.RenderingOptions.WaitFor.NetworkIdle0()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();// Render unless there are at most 2 network activities for at least 500msrenderer.RenderingOptions.WaitFor.NetworkIdle2();PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render unless there are at most 2 network activities for at least 500ms
renderer.RenderingOptions.WaitFor.NetworkIdle2();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
ImportsIronPdfDim renderer As New ChromePdfRenderer()' Render unless there are at most 2 network activities for at least 500msrenderer.RenderingOptions.WaitFor.NetworkIdle2()Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Render unless there are at most 2 network activities for at least 500ms
renderer.RenderingOptions.WaitFor.NetworkIdle2()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
using IronPdf;ChromePdfRenderer renderer = new ChromePdfRenderer();// Render unless there are at most 5 network activities for at least 1000msrenderer.RenderingOptions.WaitFor.NetworkIdle(1000, 5);PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render unless there are at most 5 network activities for at least 1000ms
renderer.RenderingOptions.WaitFor.NetworkIdle(1000, 5);
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
ImportsIronPdfPrivate renderer As New ChromePdfRenderer()' Render unless there are at most 5 network activities for at least 1000msrenderer.RenderingOptions.WaitFor.NetworkIdle(1000, 5)Dim pdf AsPdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
Imports IronPdf
Private renderer As New ChromePdfRenderer()
' Render unless there are at most 5 network activities for at least 1000ms
renderer.RenderingOptions.WaitFor.NetworkIdle(1000, 5)
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
How can I set a maximum waiting time for rendering a PDF in IronPDF?
You can set a maximum waiting time when using methods like `JavaScript`, `NetworkIdle`, `NetworkIdle0`, and `NetworkIdle2` in IronPDF. This prevents indefinite waiting by specifying a maximum duration to wait for conditions to be met.
Is it possible to customize network activity thresholds in IronPDF?
Yes, IronPDF allows you to customize the number of allowable network activities and the duration before considering the network idle. This flexibility is particularly useful for handling complex web applications with persistent network connections.
What happens when using the default `PageLoad` method in IronPDF?
The `PageLoad` method in IronPDF initiates rendering immediately after the HTML page finishes loading, without any delays. This approach is best for simple HTML content without additional asynchronous resources.
How does IronPDF handle PDF rendering for JavaScript-heavy content?
For JavaScript-heavy content, IronPDF allows setting explicit delays and waiting for specific JavaScript events to ensure all scripts and dynamic elements are fully processed and available before rendering the PDF.