Chrome PDF 渲染引擎

查克尼特·宾
查克尼特·宾
2023年一月25日
更新 2025年二月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 完全相同的渲染 或增强渲染(我们发现增强渲染比 Chrome 的渲染更准确并且更易于编码)。

渲染速度提高 20

提供轻松的多线程和异步处理,可根据您的需求使用多个CPU核心。 对于SAAS和高负载应用程序,这可能会< b>快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

首先,您必须通过NuGet软件包管理器将IronPdf安装到您的项目中。

Install-Package IronPdf

尝试新的 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函数AWS Lambda。 我们旨在提供部署选项,以实现尽可能小的磁盘占用空间。
  • 移动渲染支持:支持 iOS 和 Android 应用开发者。
  • IE和Firefox渲染选项。
  • 多服务器分布式渲染架构,适用于大型企业用户。
  • 重新构想的内部PDF文档对象模型,以支持最广泛的PDF标准。 我们希望能够优雅地处理读取并自动修复损坏和编码不良的PDF文档。
  • "{YourIdeaHere}" 功能请求和客户的错误报告将优先处理。

    如有任何建议或问题,请联系我们以获取进一步查询

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。