如何使用虛擬視口和縮放

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

在 HTML 轉 PDF 渲染中,視口在決定網頁布局如何捕捉到結果 PDF 文件中扮演著至關重要的角色。 它特指瀏覽器應該將網頁渲染成的虛擬螢幕大小。

Zoom,在HTML到PDF渲染的上下文中,控制PDF文件中網頁內容的縮放。 能夠微調縮放等級提供了一種調整結果 PDF 中內容大小的方法,確保其與您希望的佈局和格式對齊。

開始使用 IronPDF

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

第一步:
green arrow pointer



紙張適應模式

訪問 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 Print Preview' 的行為。它還提供了開發者可以手動調整的額外縮放級別。此方法使得可以根據輸入的縮放百分比來縮放內容。

: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毫米。 讓我們渲染 'receipt.html將文件轉換為 PDF。

使用「width」和「margin」參數自訂頁面寬度和邊距的功能提供了靈活性,使其成為創建簡潔單頁文件的方便選擇。

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

ChromePdfRenderer renderer = new ChromePdfRenderer();

int width = 90;
int margin = 0;

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

// Render web URL to PDF
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("receipt.html");

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

Private renderer As New ChromePdfRenderer()

Private width As Integer = 90
Private margin As Integer = 0

' Continuous feed rendering
renderer.RenderingOptions.PaperFit.UseContinuousFeedRendering(width, margin)

' Render web URL to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("receipt.html")

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