IronPDF
教學指南
使用 Chrome 除錯 HTML
How to Debug HTML in Chrome to Create Pixel Perfect PDFs in C
View the article in
English
身為 IronPDF 的開發團隊,我們深知由 IronPDF 產生的 PDF 文件不僅需要外觀完美,更必須完全符合客戶的預期。 若要讓您的 PDF 檔案呈現像素級的精準效果,您需要開發出色的 HTML 範本,或與網頁開發人員合作代為處理。 IronPDF 提供將 PDF 渲染為與 HTML 像素完美對齊的選項,並透過我們的 Chrome 渲染器,使其顯示效果與 Chrome 瀏覽器中的樣式完全一致。
快速入門:使用 IronPDF 建立像素級精準的 PDF 檔案
利用 IronPDF 強大的 Chrome 渲染器,輕鬆將您的 HTML 轉換為像素級精準的 PDF 檔案。 本快速指南將協助您透過 IronPDF 对 HTML5、CSS3 及 JavaScript 的全面支援,生成精準且可預期的 PDF 输出。 只需幾行程式碼,即可將 HTML 內容精確地呈現為 Chrome 中的顯示樣式,確保從網頁到 PDF 的無縫轉換。 非常適合希望在維持版面精準度的同時,不犧牲使用便利性的開發者。
using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf
PM > Install-Package IronPdf
請複製並執行此程式碼片段。
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.PRINT;
Renderer.RenderHtmlAsPdf("<html>Your HTML content here</html>").SaveAs("output.pdf");
部署至您的生產環境進行測試
立即透過免費 試用,在您的專案中開始使用 IronPDF
Free 30 Day Trial
什麼是 IronPDF 的 Chrome 渲染器?
這正是 IronPDF 區別於其他 .NET PDF 函式庫之處
IronPDF 在市場上獨樹一幟,因其採用 Google Chrome 渲染引擎,這意味著您在 Chrome 瀏覽器中看到的 HTML 內容,將與您在我們的 PDF 文件中看到的完全一致。 在本教學中,我們將引導您逐步設定 Chrome 和 IronPDF 中的相關選項,以達成此目標。
需要說明的是,許多競爭對手所宣稱的"HTML 轉 PDF"技術,並未遵循 W3C 標準,甚至不支援 HTML5、CSS3 或 JavaScript,而是採用 wkhtmltopdf 等底層渲染器。
IronPDF 與競爭對手的比較
<div class="competitors-sectionwrapper-even-1">
<div class="competitors card">
<img
class="competitors__image img-popup"
src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_ironpdf_p1.webp"
alt="IronPDF"
data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_ironpdf_p1.webp"
>
<p class="competitors__download-link">
<i class="fas fa-file-pdf"></i>
<a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Bootstrap_IronPDF.pdf">下載 PDF</a>
</p>
</div>
<div class="competitors__card">
<p class="competitors__header">Vanilla Chrome</p>
<img
class="competitors__image img-popup"
src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_chrome_p1.webp"
alt="Vanilla Chrome"
data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_chrome_p1.webp"
>
<p class="competitors__download-link">
<i class="fas fa-file-pdf"></i>
<a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Bootstrap_Chrome.pdf">下載 PDF</a>
</p>
</div>
<div class="competitors-section
wrapper">
<div class="competitors card">
<img
class="competitors__image img-popup"
src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_aspose_p1.webp"
alt="Aspose.PDF"
data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_aspose_p1.webp"
>
<p class="competitors__download-link">
<i class="fas fa-file-pdf"></i>
<a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Bootstrap_Aspose.pdf">下載 PDF</a>
</p>
</div>
<div class="competitors__card">
<p class="competitors__header">iText</p>
<img
class="competitors__image img-popup"
src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_itext.webp"
alt="iText"
data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_itext.webp"
>
<p class="competitors__download-link">
<i class="fas fa-file-pdf"></i>
<a href="https://raw.githubusercontent.com/iron-software/iron-nuget-assets/main/IronPDF-Tutorial/Boostrap_iText.pdf">下載 PDF</a>
</p>
</div>
<div class="competitors__card">
<p class="competitors__header">wkhtmltopdf</p>
<img
class="competitors__image img-popup"
src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_wkhtmltopdf_p1.webp"
alt="wkhtmltopdf"
data-fullsize="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/bootstrap_wkhtmltopdf_p1.webp"
>
<p class="competitors__download-link">
<i class="fas fa-file-pdf"></i>
<a href="https://github.com/iron-software/iron-nuget-assets/blob/main/IronPDF-Tutorial/Bootstrap_wkhtmltopdf.pdf">下載 PDF</a>
</p>
</div>
如需查看與其他產品的完整比較清單,請參閱我們的部落格 。
[p 功能] | IronPDF 的 Chrome 渲染器 | Aspose 與 IronPDF 比較 | iText 與 IronPDF
IronPDF 的最佳化 Chrome 渲染器比 Chrome 更出色
以下是 IronPDF 超越 Chrome 本身的兩個實例。 在 Chrome 中原本會被分割成兩頁的按鈕和文字,使用 IronPDF 時將保持完整。
Chrome 瀏覽器中按鈕與文字被截斷的範例
Chrome 中文字被截斷的另一個範例
為何要使用 HTML 轉 PDF/A?
開發者青睞 HTML 轉 PDF 功能,因為它能提供符合既有網頁品牌形象且可預期的輸出結果。 設計採用文件完備且標準化的 HTML、CSS 及 JavaScript 技術實現。
輸出內容的版面配置與設計須與網站完全一致。
網頁開發人員可以專注於以絕對精準度進行設計。
.NET 開發人員可以專注於應用程式邏輯,而非版面配置。 後端開發人員可將版面配置與設計任務委派給網頁設計師。
1. 決定使用 CSS 媒體類型 PRINT 或 畫面
IronPDF 的渲染器提供兩種媒體渲染選項:PRINT(預設) 與 畫面。 如需視覺化的並列比較,請參閱本教學指南末尾的"螢幕與PRINT範例比較"章節。
CssMediaType.PRINT 是預設的渲染選項,可針對一般列印用途優化您的 HTML 內容。 這意味著頁面上的某些背景圖片、圖示及其他大量使用墨水(ink-heavy)的元素,可能會呈現不同樣式或被省略。 此選項適用於無背景圖像的文件,且為預設的列印預覽模式。
CssMediaType.畫面 是一項渲染選項,可讓您的 PDF 檔案在螢幕上呈現與 Chrome 瀏覽器中完全一致的外觀。 您需要在 Chrome 瀏覽器中設定某些選項,以便讓列印預覽效果與 IronPDF 的實際渲染效果完全一致,以利 HTML 除錯。
:path=/static-assets/pdf/content-code-examples/tutorials/pixel-perfect-html-to-pdf-1.cs
// Pixel Perfect HTML Formatting Settings
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print; // or Screen
' Pixel Perfect HTML Formatting Settings
Dim renderer As New IronPdf.ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print ' or Screen
$vbLabelText
$csharpLabel
重複的表格標題
若您的 HTML 文件包含跨頁的表格,您可能希望表格標題在每頁 PDF 中重複顯示。
在此情況下,您只能 使用 PRINT CssMediaType。
使用 畫面 可指示 Chrome 僅列印一次頁首。
螢幕與PRINT範例之比較
許多圖片和圖示在"PRINT模式"下無法載入,但在"螢幕模式"下則可正常顯示:
2. 設定 Chrome
IronPDF 自豪地採用 Chrome 渲染引擎。請依照以下步驟操作,讓 IronPDF 將您的 HTML 渲染成與您在 Chrome 中所見完全一致的樣式。 以下是在 Chrome 中預先執行以達成此目標的幾個步驟。
若要生成包含所有圖片、圖示及背景的像素完美 PDF(這些元素在 PRINT 格式中通常會被省略),請務必使用 畫面 CSS 媒體選項。
為此,請在 Chrome 中開啟開發人員工具 。
按下 Command+Shift+P(Mac)或 Control+Shift+P(Windows、Linux、ChromeOS)以開啟命令選單。 開始輸入"rendering",選取"顯示渲染",然後按下 Enter 鍵。 開發人員工具會在開發人員工具視窗底部顯示"渲染"分頁。 更多協助
向下滾動並找到 Emulate CSS media 的下拉選單,選擇 畫面 或 PRINT 選項。 若您正在瀏覽網頁,可能需要重新載入(Ctrl+R)以使設定生效。
<div class="competitors-sectionwrapper-even-1">
<div class="competitors card" style="width: 48%;">
<img src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/view_css_print.gif" alt="Switch to CSS Media Type PRINT" class="img-responsive add-shadow" style="margin-bottom: 30px;">
PRINT
</div>
<div class="competitors__card" style="width: 48%;">
<img src="/static-assets/pdf/tutorials/pixel-perfect-html-to-pdf/view_css_screen.gif" alt="Switch to CSS Media Type 畫面" class="img-responsive add-shadow" style="margin-bottom: 30px;">
<p class="competitors__download-link" style="color: #181818; font-style: italic;">
畫面
</p>
</div>
2b. 開啟"列印預覽"視窗(Windows 系統請按 Ctrl+P)
您可能需要變更紙張尺寸,並在 Chrome 的"PRINT"對話方塊中啟用"PRINT 背景圖片"功能,以獲得準確的顯示效果。
2c. 設定正確的"列印預覽"設定
請選擇您在 IronPDF 專案中使用的紙張尺寸,例如 A4 或 Letter。
在 Margins 下拉選單中選擇 Custom,並將四邊邊距均設為 (1") 一英吋。
勾選 Background Graphics 核取方塊。
若您打算輸出橫向排版的文件,請務必將 Layout 設定為 Landscape。
以上。 現在您可以對 HTML 進行除錯,並使用列印預覽功能,精確查看 IronPDF 將如何呈現您的版面配置。
3. 設定 IronPDF
3a. 在 IronPDF 中設定 CSS 媒體類型
為了使網頁設計與原始版面完全一致,我們必須在程式碼中選用與 Chrome 設定中相同的 CSS 媒體類型。
請注意,PdfCssMediaType.畫面 格式包含背景圖及較大的圖片,這些內容在預設的 PdfCssMediaType.PRINT 格式中可能會被省略,該格式旨在協助印表機節省墨水。
:path=/static-assets/pdf/content-code-examples/tutorials/pixel-perfect-html-to-pdf-2.cs
// Example using PdfCssMediaType.Screen
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen; // or Print
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
' Example using PdfCssMediaType.Screen
Dim renderer As New IronPdf.ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen ' or Print
renderer.RenderingOptions.PrintHtmlBackgrounds = True
$vbLabelText
$csharpLabel
3b. 適當設定渲染延遲與渲染超時
IronPDF 的預設渲染超時設定為 60 秒。 任何處理時間超過此限度的內容,若未編輯渲染選項,將無法顯示。 若要覆寫預設設定,您需要調整 RenderingOptions.Timeout 選項。
請注意,若未設定超時時間,或渲染延遲超過設定的超時時間,將會引發 Unable to Render PDF 例外。 因此,若您遇到此錯誤,可能需要增加這些數值。
:path=/static-assets/pdf/content-code-examples/tutorials/pixel-perfect-html-to-pdf-3.cs
// Example of setting Timeout and RenderDelay options
renderer.RenderingOptions.Timeout = 90; // seconds (default is 60)
renderer.RenderingOptions.WaitFor.RenderDelay(30000); // milliseconds
$vbLabelText
$csharpLabel
準備好探索更多可能性了嗎? 請點此查看我們的教學頁面:其他功能
常見問題
若要實現從 HTML 生成像素級精準的 PDF 渲染效果,您可以使用 IronPDF 的 Chrome Renderer,它能確保在 Chrome 瀏覽器中顯示的 HTML 內容與生成的 PDF 完全一致。
IronPDF 讓開發人員能夠產生與網頁瀏覽器中 HTML 內容視覺外觀相符的 PDF 檔案,並支援 HTML5、CSS3 及 JavaScript,這點與許多其他函式庫不同。
您可在 IronPDF 中設定 CSS 媒體類型:對於無背景的文件,請選擇「PRINT」;若需呈現與螢幕顯示一致的外觀,則選擇「Screen」,以確保產出的 PDF 符合您的需求。
若要設定 Chrome 進行 PDF 渲染,請開啟開發人員工具,將「模擬 CSS 媒體」設為「螢幕/PRINT」,並調整列印預覽設定,以確保 PDF 符合預期版面配置。
若遇到渲染問題,例如「無法渲染 PDF」的例外狀況,請嘗試在 IronPDF 的選項中增加「渲染延遲」或「渲染超時」的設定,以獲得更好的效果。
是的,IronPDF 透過 Google Chromium Renderer 讓您能渲染與網頁設計完全吻合的 PDF 檔案,並支援所有現代網頁技術。
IronPDF 採用 Google Chrome 渲染引擎,確保在 Chrome 瀏覽器中顯示的 HTML 與生成的 PDF 完全一致,提供一致且高品質的輸出結果。
是的。IronPDF 明確支援 .NET 10(以及 .NET 9、.NET 8 及更早版本),並具備開箱即用的相容性。您可以在專案中鎖定 .NET 10,並直接使用 IronPDF 的 HTML 轉 PDF、渲染、編輯及簽名 API,無需任何特殊的變通方案。
技術撰稿人
Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。
除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。
準備開始了嗎?
Nuget 下載 19,014,616 | 版本: 2026.5 just released