如何使用虛擬視口和縮放

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

在將 HTML 轉換為 PDF 的渲染過程中,視口在決定網頁佈局如何在生成的 PDF 文件中呈現方面起著至關重要的作用。具體來說,它指的是瀏覽器應將網頁渲染成的虛擬屏幕尺寸。

縮放,在 HTML 到 PDF 渲染的上下文中,控制 PDF 文件中網頁內容的比例。微調縮放級別的能力提供了一種調整生成的 PDF 中內容大小的方法,確保其符合您期望的佈局和格式。


C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 PDF

安裝與 NuGet

Install-Package IronPdf
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronPDFNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變PDF。

C# NuGet 程式庫用于 PDF 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 毫米。

通過使用 'width' 和 'margin' 參數來自定義頁面寬度和邊距的能力提供了靈活性,使其成為創建簡明、單頁文檔的便捷選擇。

: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#