Jak używać opcji renderowania w IronPDF z C
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#
- Zainstaluj IronPDF za pomocą Menedżera Pakietów NuGet
- Utwórz instancję
ChromePdfRenderer - Skonfiguruj opcje renderowania poprzez właściwość
RenderingOptions - Renderuj swoją zawartość (HTML, Markdown itp.) do PDF
- Zapisz wynikowy dokument PDF
-
Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf -
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"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
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.
Minimalny proces (5 kroków)
- Pobierz bibliotekę C#, aby używać opcji renderowania
- Przygotuj zasoby HTML lub plik do konwersji na PDF
- Utworz instancje klasy
ChromePdfRenderer - Uzyskaj dostęp do właściwości
RenderingOptions, aby skonfigurować ustawienia - Renderuj PDF w pożądanym formacie
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")
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")
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")
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.

