Jak używać opcji renderowania w IronPDF z C
Opcje renderowania w IronPDF pozwalają dostosować generowanie plików PDF za pomocą klasy Renderer ChromePdf, kontrolując ustawienia takie jak marginesy, nagłówki, stopki, rozmiar papieru, wykonywanie kodu JavaScript oraz typy mediów CSS, aby tworzyć precyzyjnie sformatowane dokumenty PDF na podstawie 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ę
Renderer ChromePdf - Skonfiguruj opcje renderowania za pomocą właściwości
RenderingOptions - Renderuj swoją treść (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.Renderer ChromePdf { 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 Renderer ChromePdf w IronPDF zapewnia różne opcje renderowania umożliwiające dostosowanie generowania plików PDF. Zawiera PaperFit, menedżera kontrolującego układ treści na stronach PDF, oferującego różne style, takie jak responsywne układy CSS3 lub ciągły feed. Pracując z złożonymi dokumentami, możesz 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
- Utwórz instancję klasy Renderer ChromePdf
- 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.
Dłączego 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, podczas ustawiania zarówno marginesów, jak i nagłówków, zawartość nagłówka uwzględnia ustawienia marginesów, chyba że zostaną one nadpisane 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 pomaga, gdy musisz dodać nagłówki i stopki lub pracować z niestandardowymi rozmiarami papieru:
using IronPdf;
using IronPdf.Rendering;
// Create renderer with advanced options
var renderer = new Renderer ChromePdf();
// 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 Renderer ChromePdf();
// 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 As New Renderer(New ChromePdf())
' 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 pomaga, gdy musisz ustawić niestandardowe marginesy lub pracować 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 Renderer ChromePdf();
// 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 Renderer ChromePdf();
// 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 As New Renderer ChromePdf()
' 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 | Renderer ChromePdf | |
|---|---|---|
| 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 |
Dictionary |
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 ustawiania wirtualnych układów papieru, kontrolujący, jak zawartość będzie rozmieszczana na "papierowych" stronach PDF. Obejmuje opcje dla Domyślnego Zachowania Chrome, Zoom, Responsywne Układy CSS3, Skala Do Strony i styl ustawień strony typu Ciągły Przepływ. |
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. |
Włącz JavaScript |
bool |
Umożliwia wykonanie JavaScript i JSON przed renderowaniem strony. Idealne do drukowania z aplikacji Ajax / Angular. Wartość domyślna to false. |
Włącz matematyczny LaTeX |
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. |
Numer pierwszej strony |
int |
Numer pierwszej strony do użycia w nagłówkach i stopkach PDF. Wartość domyślna to 1. |
Spis treści |
Rodzaje spisów treści |
Generuje spis treści w miejscu dokumentu HTML, gdzie znajdują się elementy o identyfikatorze "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 |
Kodowanie |
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. |
Orientacja strony |
PdfPaperOrientation |
Orientacja papieru PDF, na przykład Portretowa lub Krajobrazówa. Wartość domyślna to Portretowa. |
Rozmiar papieru |
PdfPaperSize |
Ustawia rozmiar papieru |
Ustaw rozmiar papieru w centymetrach |
double |
Ustawia rozmiar papieru w centymetrach. |
SetCustomPaperSizeInInches |
Ustawia rozmiar papieru w całach. | |
Ustaw rozmiar papieru w milimetrach |
Ustawia rozmiar papieru w milimetrach. | |
Ustaw rozmiar papieru w pikselach lub punktach |
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 |
Konteksty zapytania |
Kontekst żądania dla tego renderowania, określający izolację niektórych zasobów, takich jak pliki cookie. |
Limit czasu |
Liczba całkowita |
Limit czasu renderowania w sekundach. Wartość domyślna to 60. |
Tytuł |
Ciąg znaków |
Metadane nazwy i tytułu dokumentu PDF, przydatne do korespondencji seryjnej 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
Czym są opcje renderowania w generowaniu PDF?
Opcje renderowania w IronPDF to ustawienia kontrolujące, jak dokumenty PDF są tworzone, wyświetlane i drukowane przez klasę ChromePdfRenderer. Zawierają one konfiguracje dla marginesów, nagłówków, stopek, rozmiaru papieru, wykonania JavaScript, typów mediów CSS, elementów formularzy i spisów treści, umożliwiając precyzyjną personalizację wyjścia PDF z HTML, CSS i innych źródeł treści.
Jak stosować opcje renderowania do PDF?
Aby stosować opcje renderowania w IronPDF: 1) Zainstaluj IronPDF przez NuGet, 2) Utwórz instancję ChromePdfRenderer, 3) Skonfiguruj ustawienia przez właściwość RenderingOptions, 4) Renderuj swoją treść (HTML, Markdown, itp.) do PDF, a 5) Zapisz wynikowy PDF. Możesz ustawiać wiele opcji w jednej linii, np. marginesy, typ mediów CSS, nagłówki i wartości timeout.
Czy mogę używać opcji renderowania z treścią inną niż HTML?
Tak, choć wiele właściwości opcji renderowania jest zaprojektowanych dla konwersji HTML do PDF, działają one również z innymi typami konwersji PDF w IronPDF. Możesz stosować opcje renderowania przy konwersji Markdown do PDF lub innych obsługiwanych formatów, dając ten sam poziom kontroli nad finalnym wyjściem PDF niezależnie od typu źródła treści.
Czym jest PaperFit i jak działa?
PaperFit jest menedżerem w klasie ChromePdfRenderer IronPDF, który kontroluje układ treści na stronach PDF. Oferuje różne style renderowania, w tym responsywne układy CSS3 lub opcje ciągłego przewijania, pomagając upewnić się, że twoja treść mieści się odpowiednio na stronach PDF według twoich konkretnych wymagań.
Dlaczego powinienem konfigurować opcje renderowania dla moich PDF-ów?
Konfigurowanie opcji renderowania w IronPDF zapewnia generowanie PDF-ów ze ścisłymi specyfikacjami potrzebnymi dla profesjonalnych dokumentów. Obejmuje to niestandardowe rozmiary papieru, specyficzne marginesy, nagłówki i stopki, lub włączony JavaScript dla dynamicznej treści. Ten poziom kontroli jest kluczowy przy tworzeniu raportów, faktur, lub jakichkolwiek dokumentów wymagających precyzyjnego formatowania.

