如何使用虚拟视口和缩放

This article was translated from English: Does it need improvement?
Translated
View the article in English

在 HTML 到 PDF 的渲染过程中,视口在决定如何在生成的 PDF 文档中捕捉网页布局方面起着至关重要的作用。具体来说,它指的是浏览器应将网页渲染到的虚拟屏幕尺寸。

缩放,在 HTML 到 PDF 的渲染中,指的是网页内容在 PDF 文档中的缩放。微调缩放级别的功能为调整生成的 PDF 中内容的大小提供了一种方法,可确保其与所需的布局和格式保持一致。


适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronPDFNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。

适用于PDF的C# NuGet库 nuget.org/packages/IronPdf/
Install-Package IronPdf

考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip

手动安装到你的项目中

下载DLL

适合纸张模式

访问 RenderingOptions(渲染选项)中的 PaperFit 字段可调用预设方法,该方法可用于特定的渲染类型和模式。让我们通过渲染著名的维基百科页面来比较,详细了解每种 PaperFit 模式。

Chrome 浏览器默认渲染

以与在 Google Chrome 浏览器打印预览中相同的方式显示 PDF 页面。此方法可配置呈现选项,以模仿从 Google Chrome 浏览器的打印预览中打印时的网页外观。指定纸张尺寸的响应 CSS 视口将根据该纸张尺寸的宽度进行解释。请使用 UseChromeDefaultRendering 方法进行配置。

:path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-default-chrome.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

pdf.SaveAs("chromeDefault.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering()

' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

pdf.SaveAs("chromeDefault.pdf")
VB   C#

响应式 CSS 渲染

在响应式 CSS 模式下,可以通过向 UseResponsiveCssRendering 方法传递一个值来指定视口宽度。默认视口宽度为 1280 像素。您可能已经注意到,视口单位是基于像素的,代表响应式 CSS 设计的虚拟浏览器视口。

响应式 CSS 用于根据ViewPortWidth参数定义 HTML 的渲染,缩放内容以适应指定纸张大小的宽度。

:path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-responsive-css.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Responsive CSS rendering
renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280);

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

pdf.SaveAs("responsiveCss.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Responsive CSS rendering
renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1280)

' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

pdf.SaveAs("responsiveCss.pdf")
VB   C#

缩放渲染

UseScaledRendering"(使用缩放渲染)方法会采用一种布局,模仿 "Chrome 浏览器打印预览 "在指定纸张尺寸下的行为。它还提供了一个额外的缩放级别,开发人员可以手动调整。该方法可根据输入的缩放百分比缩放内容。

:path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-scaled.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Scaled rendering
renderer.RenderingOptions.PaperFit.UseScaledRendering(180);

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

pdf.SaveAs("scaled.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Scaled rendering
renderer.RenderingOptions.PaperFit.UseScaledRendering(180)

' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

pdf.SaveAs("scaled.pdf")
VB   C#

适合页面渲染

与此相反,"适合页面 "渲染会根据指定的纸张大小对内容进行缩放。它会在呈现后测量 HTML 内容的最小宽度,并尽可能将其缩放至适合一张纸的宽度。可配置的最小像素宽度被用作文档基于像素的最小宽度,以确保正确显示和响应 CSS3 布局规则。

:path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-fit-to-page.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Fit to page rendering
renderer.RenderingOptions.PaperFit.UseFitToPageRendering();

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

pdf.SaveAs("fitToPage.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Fit to page rendering
renderer.RenderingOptions.PaperFit.UseFitToPageRendering()

' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

pdf.SaveAs("fitToPage.pdf")
VB   C#

连续进纸渲染

连续进纸渲染可创建单页 PDF,强制要求整个内容的宽度和高度适合在一页上,因此适用于消费账单或收据等文档。PDF 页面的默认宽度为 80.0 毫米,默认页边距为 5 毫米。

使用 "宽度 "和 "页边距 "参数自定义页面宽度和页边距的功能提供了灵活性,使其成为创建简洁的单页文档的便捷选择。

:path=/static-assets/pdf/content-code-examples/how-to/viewport-zoom-continuous-feed.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Continuous feed rendering
renderer.RenderingOptions.PaperFit.UseContinuousFeedRendering();

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

pdf.SaveAs("continuousFeed.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

' Continuous feed rendering
renderer.RenderingOptions.PaperFit.UseContinuousFeedRendering()

' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

pdf.SaveAs("continuousFeed.pdf")
VB   C#