Jak używać opcji renderowania w IronPDF z C

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

Opcje renderowania w IronPDF dostosowują generowanie PDF za pomocą klasy ChromePdfRenderer, kontrolując ustawienia takie jak marginesy, nagłówki, stopki, rozmiar papieru, wykonywanie JavaScript i typy mediów CSS, aby tworzyć precyzyjnie sformatowane dokumenty PDF z HTML, CSS i innych źródeł treści.

Szybki start: Zastosowanie opcji renderowania w C#

  1. Zainstaluj IronPDF za pomocą Menedżera Pakietów NuGet
  2. Utwórz instancję ChromePdfRenderer
  3. Skonfiguruj opcje renderowania poprzez właściwość RenderingOptions
  4. Renderuj swoją zawartość (HTML, Markdown itp.) do PDF
  5. Zapisz wynikowy dokument PDF
  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { PrintHtmlBackgrounds = true, MarginTop = 0, MarginBottom = 0, CssMediaTyp = IronPdf.Rendering.PdfCssMediaTyp.Print, HtmlHeader = new IronPdf.HtmlHeaderFooter { HtmlFragment = "<div>My Header</div>" }, Language = "en-US", Timeout = 120000 } }
        .RenderHtmlStringAsPdf("<h1>Hello Options</h1>")
        .SaveAs("renderingOptions.pdf");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Opcje renderowania podczas generowania PDF to ustawienia, które określają, w jaki sposób dokument PDF jest tworzony, wyświetlany i drukowany. Te opcje obejmują renderowanie elementów formularza, włączanie JavaScript, generowanie spisów treści, dodawanie nagłówków i stopek, dopasowywanie marginesów, ustawianie rozmiarów papieru i inne.

Klasa ChromePdfRenderer w IronPDF oferuje różne opcje renderowania dla dostosowywania generowania PDF. Zawiera PaperFit, menedżera kontrolującego układ zawartości na stronach PDF, oferującego różne style, takie jak responsywne układy CSS3 lub ciągłe podawanie danych. Pracując ze złożonymi dokumentami, można potrzebować połączyć lub podzielić pliki PDF po zastosowaniu opcji renderowania.


Jak używać opcji renderowania w IronPDF?

Chociaż wiele właściwości opcji renderowania jest zaprojektowanych do konwersji HTML na PDF, działają one również z innymi typami konwersji PDF. Zrenderujemy Markdown do PDF i skonfigurujemy wynik za pomocą opcji renderowania. Specjalnie dla konwersji HTML, dowiedz się o konwertowaniu plików HTML na PDF lub konwertowaniu ciągów HTML na PDF.

Dlaczego powinienem konfigurować opcje renderowania?

Konfiguracja opcji renderowania zapewnia generowanie PDF-ów zgodnie z dokładnymi specyfikacjami: niestandardowe rozmiary papieru, określone marginesy, nagłówki i stopki lub włączony JavaScript dla dynamicznej zawartości. Ta kontrola jest kluczowa przy tworzeniu nowych PDF-ów do profesjonalnych dokumentów lub raportów.

Co się dzieje, gdy zastosuję wiele opcji renderowania?

Wiele opcji renderowania współdziała, aby stworzyć końcowy wynik PDF. Każda opcja modyfikuje określony aspekt renderowania, a IronPDF stosuje je kolejno podczas konwersji. Na przykład, gdy ustawisz zarówno marginesy, jak i nagłówki, treść nagłówka respektuje ustawienia marginesów, chyba że zostanie nadpisana za pomocą właściwości UseMarginsOnHeaderAndFooter.

:path=/static-assets/pdf/content-code-examples/how-to/rendering-options-render.cs
using IronPdf;

// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    // HTML fragment to add a header at the top of every page in the PDF.
    HtmlFragment = "<h1>Header Content</h1>"
};

// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);

// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;

// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";

// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);

// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");
Imports IronPdf

' Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
' to render HTML/CSS as a PDF document.
Private renderer As New ChromePdfRenderer()

' Configure rendering options
' Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = True

' Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {.HtmlFragment = "<h1>Header Content</h1>"}

' Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150)

' Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0

' Define a Markdown string that will be rendered as a PDF.
' Markdown text allows basic formatting like bold and italic styles.
Dim md As String = "This is some **bold** and *italic* text."

' Render the Markdown string to a PDF document.
' The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
Dim pdf As PdfDocument = renderer.RenderMarkdownStringAsPdf(md)

' Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf")
$vbLabelText   $csharpLabel

Przykład zaawansowanych opcji renderowania

Ten kompleksowy przykład demonstruje łączenie wielu opcji renderowania dla generacji profesjonalnych dokumentów. To podejście jest pomocne przy dodawaniu nagłówków i stopek lub pracy z niestandardowymi rozmiarami papieru:

using IronPdf;
using IronPdf.Rendering;

// Create renderer with advanced options
var renderer = new ChromePdfRenderer();

// Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40;    // mm
renderer.RenderingOptions.MarginBottom = 40; // mm
renderer.RenderingOptions.MarginLeft = 20;   // mm
renderer.RenderingOptions.MarginRight = 20;  // mm

// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 2000; // Wait 2 seconds for JS to execute

// Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    Height = 25,
    HtmlFragment = @"<div style='text-align: center; padding: 10px;'>
                     <span>Document Title</span> - Page {page} of {total-pages}
                     </div>",
    DrawDividerLine = true
};

// Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    Height = 20,
    HtmlFragment = @"<div style='text-align: center; font-size: 10px;'>
                     Generated on {date} at {time}
                     </div>"
};

// Render HTML content
string htmlContent = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; }
        .content { padding: 20px; }
    </style>
</head>
<body>
    <div class='content'>
        <h1>Professional Document</h1>
        <p>This document demonstrates advanced rendering options.</p>
    </div>
</body>
</html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("professional-document.pdf");
using IronPdf;
using IronPdf.Rendering;

// Create renderer with advanced options
var renderer = new ChromePdfRenderer();

// Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40;    // mm
renderer.RenderingOptions.MarginBottom = 40; // mm
renderer.RenderingOptions.MarginLeft = 20;   // mm
renderer.RenderingOptions.MarginRight = 20;  // mm

// Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 2000; // Wait 2 seconds for JS to execute

// Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    Height = 25,
    HtmlFragment = @"<div style='text-align: center; padding: 10px;'>
                     <span>Document Title</span> - Page {page} of {total-pages}
                     </div>",
    DrawDividerLine = true
};

// Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    Height = 20,
    HtmlFragment = @"<div style='text-align: center; font-size: 10px;'>
                     Generated on {date} at {time}
                     </div>"
};

// Render HTML content
string htmlContent = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; }
        .content { padding: 20px; }
    </style>
</head>
<body>
    <div class='content'>
        <h1>Professional Document</h1>
        <p>This document demonstrates advanced rendering options.</p>
    </div>
</body>
</html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("professional-document.pdf");
Imports IronPdf
Imports IronPdf.Rendering

' Create renderer with advanced options
Dim renderer = New ChromePdfRenderer()

' Configure paper and layout settings
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True

' Set margins for professional layout
renderer.RenderingOptions.MarginTop = 40    ' mm
renderer.RenderingOptions.MarginBottom = 40 ' mm
renderer.RenderingOptions.MarginLeft = 20   ' mm
renderer.RenderingOptions.MarginRight = 20  ' mm

' Enable JavaScript for dynamic content
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.RenderDelay = 2000 ' Wait 2 seconds for JS to execute

' Add professional header with page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .Height = 25,
    .HtmlFragment = "<div style='text-align: center; padding: 10px;'>
                     <span>Document Title</span> - Page {page} of {total-pages}
                     </div>",
    .DrawDividerLine = True
}

' Add footer with timestamp
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .Height = 20,
    .HtmlFragment = "<div style='text-align: center; font-size: 10px;'>
                     Generated on {date} at {time}
                     </div>"
}

' Render HTML content
Dim htmlContent As String = "
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; }
        .content { padding: 20px; }
    </style>
</head>
<body>
    <div class='content'>
        <h1>Professional Document</h1>
        <p>This document demonstrates advanced rendering options.</p>
    </div>
</body>
</html>"

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("professional-document.pdf")
$vbLabelText   $csharpLabel

Jakie są wszystkie dostępne opcje renderowania?

Zaawansowane opcje definiują ustawienia renderowania PDF, takie jak marginesy, orientacja papieru, rozmiar papieru i inne. Zrozumienie tych opcji jest pomocne przy ustawianiu niestandardowych marginesów lub pracy z różnymi ustawieniami widoku i poziomami powiększenia.

Jakie opcje renderowania są najczęściej używane?

Najczęściej używane opcje renderowania obejmują ustawienia marginesów, konfigurację rozmiaru papieru, ustawienia nagłówka/stopki i włączanie JavaScriptu. Te opcje pokrywają większość potrzeb związanych z dostosowywaniem PDF. Dla treści internetowych, opcje renderowania JavaScript zapewniają prawidłowe renderowanie elementów dynamicznych.

Jak wybrać odpowiednie opcje renderowania?

Wybierz opcje renderowania w oparciu o swoje wymagania: użyj ustawień marginesów do układów drukowanych, włącz JavaScript dla dynamicznej zawartości internetowej, skonfiguruj nagłówki/stopki dla profesjonalnych dokumentów i dostosuj rozmiar papieru do określonych formatów wyjściowych. Pracując z treścią internetową, rozważ typy mediów CSS dla optymalnego renderowania.

Kiedy powinienem używać zaawansowanych opcji renderowania?

Używaj zaawansowanych opcji renderowania dla specjalistycznych funkcji, takich jak niestandardowe wstrzyknięcie CSS, renderowanie matematyczne LaTeX, wyjście w skali szarości lub gdy pracujesz z złożonymi aplikacjami internetowymi wymagającymi określonego czasu wykonania JavaScript. Klasa WaitFor zapewnia precyzyjną kontrolę nad opóźnieniami renderowania w złożonych scenariuszach.

Praca z elementami formularza

Gdy HTML zawiera elementy formularza, IronPDF automatycznie przekształca je w interaktywne formularze PDF:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// HTML with form elements
string formHtml = @"
<html>
<body>
    <form>
        <label>Name: <input type='text' name='name' /></label><br>
        <label>Email: <input type='email' name='email' /></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
        <button type='submit'>Submit</button>
    </form>
</body>
</html>";

PdfDocument pdfWithForms = renderer.RenderHtmlAsPdf(formHtml);
pdfWithForms.SaveAs("interactive-form.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// HTML with form elements
string formHtml = @"
<html>
<body>
    <form>
        <label>Name: <input type='text' name='name' /></label><br>
        <label>Email: <input type='email' name='email' /></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
        <button type='submit'>Submit</button>
    </form>
</body>
</html>";

PdfDocument pdfWithForms = renderer.RenderHtmlAsPdf(formHtml);
pdfWithForms.SaveAs("interactive-form.pdf");
Imports IronPdf

Dim renderer = New ChromePdfRenderer()

' Enable PDF form creation from HTML forms
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

' HTML with form elements
Dim formHtml As String = "
<html>
<body>
    <form>
        <label>Name: <input type='text' name='name' /></label><br>
        <label>Email: <input type='email' name='email' /></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe' /></label><br>
        <button type='submit'>Submit</button>
    </form>
</body>
</html>"

Dim pdfWithForms As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
pdfWithForms.SaveAs("interactive-form.pdf")
$vbLabelText   $csharpLabel

Poniżej znajduje się tabela ilustrująca różne dostępne opcje.

Klasa ChromePdfRenderer
Opis Używane do definiowania opcji wydruku PDF, takich jak rozmiar papieru, DPI, nagłówki i stopki
Właściwości / funkcje Typ Opis
CustomCookies Dictionar Niestandardowe pliki cookie dla renderowania HTML. Pliki cookie nie są zachowywane między renderowaniami i muszą być ustawiane za każdym razem.
PaperFit VirtualPaperLayoutManager Menedżer do konfigurowania wirtualnych układów papieru, kontrolujący sposób rozmieszczania treści na stronach PDF. Zawiera opcje dla domyślnego zachowania Chrome, powiększenia, responsywnych układów CSS3, skalowania do strony oraz ciągłego podawania stron PDF.
UseMarginsOnHeaderAndFooter UseMargins Użyj wartości marginesów z głównego dokumentu podczas renderowania nagłówków i stopek.
CreatePdfFormsFromHtml bool Zamienia wszystkie elementy formularza HTML na edytowalne formularze PDF. Wartość domyślna to true.
CssMediaTyp PdfCssMediaTyp Umożliwia style CSS z Media="screen" i StyleSheets. Wartość domyślna to PdfCssMediaTyp.Screen.
CustomCssUrl string Pozwala na zastosowanie niestandardowego arkusza stylów CSS do HTML przed renderowaniem. Może to być ścieżka do lokalnego pliku lub zdalny URL. Ma zastosowanie tylko w przypadku renderowania HTML do PDF.
EnableJavaScript bool Umożliwia wykonanie JavaScript i JSON przed renderowaniem strony. Idealne do drukowania z aplikacji Ajax / Angular. Wartość domyślna to false.
EnableMathematicalLaTex bool Umożliwia renderowanie elementów matematycznych LaTeX.
JavaScript string Niestandardowy ciąg JavaScriptu, który ma być wykonany po załadowaniu całego HTML, ale przed renderowaniem PDF.
JavaScriptMessageListener StringDelegate Metoda zwrotna wywoływana zawsze, gdy dostępna jest wiadomość konsoli JavaScript przeglądarki.
FirstPageNumber int Numer pierwszej strony do użycia w nagłówkach i stopkach PDF. Wartość domyślna to 1.
TableOfContents TableOfContentsTyps Generuje spis treści w miejscu w dokumencie HTML, gdzie znajduje się element z id "ironpdf-toc".
GrayScale bool Generuje czarno-biały PDF. Wartość domyślna to false.
TextHeader ITextHeaderFooter Ustala treść stopki dla każdej strony PDF jako tekst, obsługujący 'mail-merge' i automatycznie zamieniający URL-e na hiperłącza.
TextFooter
HtmlHeader HtmlHeaderFooter Ustala treść nagłówka dla każdej strony PDF jako HTML. Obsługuje 'mail-merge'.
HtmlFooter
InputEncoding Encoding Kodowanie znaków wejściowych jako ciąg. Wartość domyślna to Encoding.UTF8.
MarginTop double Górny margines "papieru" PDF w milimetrach. Ustaw na zero w przypadku aplikacji drukowania komercyjnego i bez obramowania. Wartość domyślna to 25.
MarginRight double Prawy margines "papieru" PDF w milimetrach. Ustaw na zero w przypadku aplikacji drukowania komercyjnego i bez obramowania. Wartość domyślna to 25.
MarginBottom double Dolny margines "papieru" PDF w milimetrach. Ustaw na zero w przypadku aplikacji drukowania komercyjnego i bez obramowania. Wartość domyślna to 25.
MarginLeft double Lewy margines "papieru" PDF w milimetrach. Ustaw na zero w przypadku aplikacji drukowania komercyjnego i bez obramowania. Wartość domyślna to 25.
PaperOrientation PdfPaperOrientation Orientacja papieru PDF, na przykład Portretowa lub Krajobrazowa. Wartość domyślna to Portretowa.
PaperSize PdfPaperSize Ustawia rozmiar papieru
SetCustomPaperSizeinCentimeters double Ustawia rozmiar papieru w centymetrach.
SetCustomPaperSizeInInches Ustawia rozmiar papieru w calach.
SetCustomPaperSizeinMilimeters Ustawia rozmiar papieru w milimetrach.
SetCustomPaperSizeinPixelsOrPoints Ustawia rozmiar papieru w pikselach ekranu lub punktach drukarki.
PrintHtmlBackgrounds Boolean Wskazuje, czy drukować kolory tła i obrazy z HTML. Wartość domyślna to true.
RequestContext RequestContexts Kontekst żądania dla tego renderowania, określający izolację niektórych zasobów, takich jak pliki cookie.
Timeout Integer Limit czasu renderowania w sekundach. Wartość domyślna to 60.
Title String Nazwa dokumentu PDF i metadane Tytułu, przydatne do 'mail-merge' i automatycznego nazewnictwa plików w rozszerzeniach IronPdf MVC i Razor.
ForcePaperSize Boolean Wymusza dokładnie takie wymiary stron, jakie są określone za pomocą IronPdf.ChromePdfRenderOptions.PaperSize, poprzez zmienienie rozmiaru strony po wygenerowaniu PDF z HTML. Pomaga skorygować małe błędy w rozmiarze strony podczas renderowania HTML do PDF.
WaitFor WaitFor Obiekt opakowania, który przechowuje konfigurację mechanizmu oczekiwania na określone wydarzenia przed renderowaniem. Domyślnie nie będzie czekać na nic.

Gotowy na odkrywanie większych możliwości? Odwiedź naszą stronę z samouczkami: Konwertuj PDF-y

Często Zadawane Pytania

What are rendering options in PDF generation?

Rendering options in IronPDF are settings that control how PDF documents are created, displayed, and printed through the ChromePdfRenderer class. They include configurations for margins, headers, footers, paper size, JavaScript execution, CSS media types, form elements, and tables of contents, allowing precise customization of PDF output from HTML, CSS, and other content sources.

How do I apply rendering options to a PDF?

To apply rendering options in IronPDF: 1) Install IronPDF via NuGet, 2) Create a ChromePdfRenderer instance, 3) Configure settings through the RenderingOptions property, 4) Render your content (HTML, Markdown, etc.) to PDF, and 5) Save the resulting PDF. You can set multiple options in a single line, such as margins, CSS media type, headers, and timeout values.

Can I use rendering options with non-HTML content?

Yes, while many rendering option properties are designed for HTML-to-PDF conversion, they work with other PDF conversion types in IronPDF too. You can apply rendering options when converting Markdown to PDF or other supported formats, giving you the same level of control over the final PDF output regardless of the source content type.

What is PaperFit and how does it work?

PaperFit is a manager within IronPDF's ChromePdfRenderer class that controls content layout on PDF pages. It offers different styles for rendering, including responsive CSS3 layouts or continuous feed options, helping ensure your content fits properly on the PDF pages according to your specific requirements.

Why should I configure rendering options for my PDFs?

Configuring rendering options in IronPDF ensures your PDFs generate with exact specifications needed for professional documents. This includes custom paper sizes, specific margins, headers and footers, or enabled JavaScript for dynamic content. This level of control is crucial when creating reports, invoices, or any documents requiring precise formatting.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,135,201 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.