Chrome PDF 渲染引擎

查克尼思·賓
查克尼思·賓
2023年1月25日
已更新 2025年2月5日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

利用Chrome的PDF渲染引擎創建高品質的PDF渲染!

Chromium 是由 Google 開發和維護的開源網頁瀏覽器專案。 它是包括Google Chrome、Microsoft Edge、Opera等多個流行網頁瀏覽器的基礎。


高品質改進,經過充分測試

高品質渲染

最新的 "Blink!" HTML 渲染。 選擇Chrome Identical rendering或Enhanced Rendering(我們發現這比Chrome更準確且更易於編碼)。

渲染速度提高 20%

提供輕鬆的多線程和異步處理,可以使用您希望的任意數量的CPU核心。 對於 SAAS 和高負載應用程序,這可能會 快 5-20 倍,超越直接使用瀏覽器和網絡驅動程序。

全面支持

完全支援(真的是完全支援)JavaScript響應式佈局和CSS3

Azure 作為一等公民。 它就是有效。

持續維護並改進對 .NET 8、7、6、5、Core 和 Framework 4.6.2+ 的全面支持。

嚴格測試

此次發佈通過了1156個綠色的單元和整合測試(且無紅色測試)。 我們認為這個 EAP 與我們的主要版本一樣穩定,而且每天都有我們最優秀的團隊在積極改進它。

第508節無障礙合規性

使用 PDF(UA) 標記的 PDF 標準生成易於訪問的 PDF。

持續改進

我們希望聽到您的反饋。 如有想法或需要任何幫助以使專案運行,請聯絡 support@ironsoftware.com


實現在您的專案中

1. 安裝 IronPDF

首先,您必須從名為 IronPdf 的 NuGet 套件管理器中將 IronPDF 安裝到您的專案中。

Install-Package IronPdf

2. 嘗試新的 API

我們沒有破壞您目前正在使用的先前IronPDF C#和 VB.NET API。 這將會保留! 然而,舊有的風格正被一種更好的風格所取代,以賦予您更多的控制權。

例如,您現在有針對您的渲染器的 RenderingOptions 和 HttpLoginCredentials。

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-new-api.cs
using IronPdf;

// Instantiate renderer class
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Apply rendering options
renderer.RenderingOptions.PaperFit.UseFitToPageRendering();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello world!</h1>");
// PdfDocument pdf = Renderer.RenderUrlAsPdf("https://www.google.com/");
// PdfDocument pdf = Renderer.RenderHtmlFileAsPdf("example.html");
pdf.SaveAs("google_chrome.pdf");
Imports IronPdf

' Instantiate renderer class
Private renderer As New ChromePdfRenderer()

' Apply rendering options
renderer.RenderingOptions.PaperFit.UseFitToPageRendering()
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' Render to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello world!</h1>")
' PdfDocument pdf = Renderer.RenderUrlAsPdf("https://www.google.com/");
' PdfDocument pdf = Renderer.RenderHtmlFileAsPdf("example.html");
pdf.SaveAs("google_chrome.pdf")
$vbLabelText   $csharpLabel

3. 套用像素完美的 Chrome 渲染

此範例將提供與最新 Chrome 桌面版瀏覽器的「列印成 PDF」功能像素完美對應的 PDF 文件。

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-pixel-perfect.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = false;
renderer.RenderingOptions.CreatePdfFormsFromHtml = false;

PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = False
renderer.RenderingOptions.CreatePdfFormsFromHtml = False

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.google.com/")
$vbLabelText   $csharpLabel

建議改進

我们建议使用一些Iron特定的改进。

  • 使用螢幕樣式表來列印PDF。 它們開發起來較不繁瑣,且更貼近現有的網絡資產。
  • 響應式佈局支持。
  • 從您的 HTML 表單元素創建 PDF 表單。
:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-recommended.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderingOptions.ViewPortWidth = 1080;  //pixels

PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderingOptions.ViewPortWidth = 1080 'pixels

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.google.com/")
$vbLabelText   $csharpLabel

4. 多線程與異步支持

我們的 Chrome 渲染引擎的多線程和異步支援在與之前的版本相比是不同級別的。

  • 若需企業級多執行緒,請在現有執行緒中使用我們的ChromePdfRenderer,即可正常運作。 對於網路應用程式,這也不需要任何設定。
  • 對於批次處理 HTML 到 PDF,我們建議使用內建的 .NET Parallel.ForEach 模式。
  • 我們喜歡非同步,並為我們所有的渲染方法提供了非同步變體,例如ChromePdfRenderer.RenderHtmlAsPdfAsync

5. 接下來是什麼?

即將推出的功能

  • 超薄部署,適用於Azure functionsAWS Lambda。 我們旨在提供部署選項,以產生盡可能小的磁碟占用空間。
  • 移動渲染支持:支持iOS和Android應用開發者。
  • IE 和 Firefox 渲染選項。
  • 適用於大型企業用戶的多伺服器分散式渲染架構。
  • 重新構想的內部PDF文檔對象模型,以支持最廣泛的PDF標準。 我们希望能够优雅地处理阅读和自动修复损坏及编码不良的PDF文件。
  • 「{YourIdeaHere}」功能請求和錯誤報告,我們的客戶將排在最前面。

    如有任何建議或問題,請聯絡我們進一步查詢

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。