IRONSOFTWAREHOME
KORZYSTANIE Z IRONPDF

Generowanie PDF-ów w C#: Nowoczesna alternatywa dla PDFFileWriter

Curtis Chau
Curtis Chau
Updated: 5 lipca 2026

Dodawanie nagłówków i stopek do dokumentów PDF w C#

Dodawanie nagłówków i stopek do dokumentów PDF jest niezbędne do tworzenia profesjonalnych raportów, faktur i dokumentów biznesowych. Programiści szukający rozwiązań iText przy użyciu PdfPageEventHelper i metody OnEndPage odkryją, że nowoczesne biblioteki .NET oferują znacznie prostsze podejścia do osiągnięcia tych samych rezultatów.

Ten przewodnik pokazuje, jak dodawać nagłówki i stopki do plików PDF za pomocą C#, porównując tradycyjne podejście iText z zwięzłym API IronPDF. Na końcu będziesz rozumieć oba wdrożenia - od stworzenia nowego Document po wygenerowanie końcowego pliku PDF - i będziesz mógł wybrać podejście, które najlepiej odpowiada wymaganiom Twojego projektu.

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 1 - IronPDF

Dlaczego nagłówki i stopki w plikach PDF mają znaczenie w profesjonalnych dokumentach?

Nagłówki i stopki pełnią kluczowe funkcje w profesjonalnych dokumentach PDF. Zapewniają spójny wizerunek marki dzięki logo, umożliwiają nawigację po stronach za pomocą numerów stron, wyświetlają ważne metadane, takie jak daty i tytuły dokumentów, oraz potwierdzają autentyczność dokumentów poprzez znaczniki czasu i informacje o wersji.

W środowiskach korporacyjnych nagłówki i stopki często mają znaczenie prawne. Raporty finansowe wymagają znaczników czasu na potrzeby ścieżek audytu. Umowy wymagają numeracji stron w celu zapewnienia kompletności. Dokumenty wewnętrzne mogą wymagać umieszczenia informacji o poufności na każdej stronie. Spełnienie tych wymagań programowo wymaga biblioteki PDF, która niezawodnie obsługuje wstawianie treści na poziomie strony.

Główne powody, dla których warto programowo dodawać nagłówki i stopki, to:

  • Zgodność z audytem — znaczniki czasu i numery wersji na każdej stronie spełniają wymogi regulacyjne
  • Spójność marki — logo firmy i stylistyka stosowane jednolicie we wszystkich generowanych dokumentach
  • Nawigacja — numery stron i tytuły sekcji pomagają czytelnikom szybko znaleźć informacje
  • Autentyczność — nazwisko autora, data utworzenia i identyfikator dokumentu zapobiegają sporom dotyczącym integralności dokumentu

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 2 - Funkcje

Jak dodać tekstowy nagłówek i stopkę w C#?

IronPDF zapewnia najbardziej bezpośrednie podejście do dodawania nagłówków i stopek do dokumentów PDF w aplikacjach .NET. Korzystając z klasy ChromePdfRenderer w połączeniu z TextHeaderFooter lub HtmlHeaderFooter, możesz wygenerować nagłówki i stopki przy minimalnym użyciu kodu - nie ma potrzeby tworzenia oddzielnych komórek ani ręcznego zarządzania obiektem contentbyte.

Przed napisaniem jakiegokolwiek kodu dodaj IronPDF do swojego projektu za pomocą NuGet:

PM > Install-Package IronPdf

Biblioteka nie wymaga żadnych zewnętrznych zależności i działa natychmiast po instalacji. Jest przeznaczony dla platform .NET 5, 6, 7, 8 i 10 i działa na systemach Windows, Linux oraz macOS bez konieczności konfiguracji specyficznej dla danej platformy.

W starszych wzorcach iText, programiści tworzyli metody pomocnicze, takie jak private static void AddContent(), aby ręcznie wstawiać logikę nagłówka i stopki. IronPDF całkowicie eliminuje potrzebę stosowania takich szablonowych rozwiązań.

Oto kompletny przykład, który dodaje zarówno nagłówek, jak i stopkę do pliku PDF:

using IronPdf;

// Initialize the PDF renderer
var renderer = new ChromePdfRenderer();

// Configure the text header
renderer.RenderingOptions.TextHeader = new TextHeaderFooter
{
    CenterText = "Quarterly Sales Report",
    DrawDividerLine = true,
    FontSize = 14
};

// Configure the text footer with page number and date
renderer.RenderingOptions.TextFooter = new TextHeaderFooter
{
    LeftText = "{date}",
    RightText = "Page {page} of {total-pages}",
    DrawDividerLine = true,
    FontSize = 10
};

// Set margins to accommodate header and footer
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;

// Generate PDF from HTML content
var pdf = renderer.RenderHtmlAsPdf("<h1>Sales Data</h1><p>Content goes here...</p>");
pdf.SaveAs("report-with-headers.pdf");

Klasa TextHeaderFooter zapewnia właściwości do rozmieszczania tekstu po lewej, na środku lub po prawej stronie obszaru nagłówka lub stopki. Właściwość DrawDividerLine dodaje profesjonalną linię separatora pomiędzy nagłówkiem lub stopką a główną treścią dokumentu. Scalone pola, takie jak {page}, {total-pages} i {date}, automatycznie wypełniają się dynamicznymi wartościami podczas generowania PDF.

IronPDF automatycznie oblicza marginesy, zapewniając, że nagłówki i stopki nie nakładają się na treść dokumentu. Klasa TextHeaderFooter obsługuje typy czcionek z IronSoftware.Drawing.FontTypes, dając ci kontrolę nad typografią bez zależności zewnętrznych.

Wynik

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 4 - Wynik PDF

Zwróć uwagę, jak cała implementacja mieści się w jednym bloku kodu z jasnymi, czytelnymi przypisaniami właściwości. Nie ma potrzeby tworzenia oddzielnego pliku klasy, obliczania pozycji pikseli ani zarządzania obiektami canvas. Biblioteka abstrahuje te złożoności, pozwalając skupić się na treści, a nie na mechanizmach generowania plików PDF.

Jak tworzyć nagłówki i stopki w stylu HTML?

W przypadku bardziej zaawansowanych projektów klasa HtmlHeaderFooter biblioteki IronPDF umożliwia pełne stosowanie stylów HTML i CSS. To podejście jest szczególnie wartościowe, gdy nagłówki muszą zawierać logo w postaci obrazu, złożone układy lub stylizację specyficzną dla marki – bez ręcznego tworzenia obiektów PdfPCell lub używania konstruktorów new Phrase.

using IronPdf;
using System;

var renderer = new ChromePdfRenderer();

// Create an HTML header with logo and styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='width: 100%; font-family: Arial, sans-serif;'>
            <img src='logo.png' style='height: 30px; float: left;' />
            <span style='float: right; font-size: 12px; color: #666;'>
                Confidential Document
            </span>
        </div>",
    MaxHeight = 25,
    DrawDividerLine = true,
    BaseUrl = new Uri(@"C:\assets\").AbsoluteUri
};

// Create an HTML footer with page numbering
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = @"
        <div style='text-align: center; font-size: 10px; color: #999;'>
            <span>Generated on {date} at {time}</span>
            <br/>
            <span>Page {page} of {total-pages}</span>
        </div>",
    MaxHeight = 20
};

renderer.RenderingOptions.MarginTop = 30;
renderer.RenderingOptions.MarginBottom = 25;

var pdf = renderer.RenderHtmlAsPdf("<h1>Project Proposal</h1><p>Document content...</p>");
pdf.SaveAs("styled-document.pdf");

Ten przykładowy kod pokazuje, w jaki sposób nagłówki HTML mogą zawierać obrazy obok tekstu. Właściwość BaseUrl ustala podstawową ścieżkę do rozwiązywania relatywnych URL-i obrazów, co ułatwia włączanie logo firmy lub innych grafik. Właściwość MaxHeight zapewnia, że nagłówek nie przekracza określonych wymiarów, utrzymując spójne układy dokumentu.

Scalone pola ({page}, {total-pages}, {url}, {date}, {time}, {html-title}, {pdf-title}) działają identycznie w HTML-owych nagłówkach i stopkach, umożliwiając dynamiczne wstawianie treści bez dodatkowego kodu. Wskazówki dotyczące stosowania różnych stylów nagłówków można znaleźć w poradniku "Nagłówki i stopki".

Podejście oparte na HTML sprawdza się doskonale podczas tworzenia dokumentów firmowych. Zespoły marketingowe mogą dostarczyć szablony HTML, które programiści mogą bezpośrednio zintegrować, zapewniając idealne odwzorowanie zatwierdzonych projektów. Właściwości CSS, takie jak font-family, color, background-color i border, działają zgodnie z oczekiwaniami, umożliwiając zaawansowane zabiegi wizualne, które w innych bibliotekach wymagałyby obszernego kodu niskopoziomowego.

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 3 - Jak dodać nagłówek i stopkę do PDF - IronPDF

Jak dodać nagłówki do istniejących dokumentów PDF?

Częstym wymaganiem jest dodawanie nagłówków i stopek do istniejących plików PDF — niezależnie od tego, czy są to dokumenty przesłane, połączone pliki, czy pliki PDF wygenerowane przez inne systemy. IronPDF obsługuje ten scenariusz za pomocą metod AddHtmlHeaders i AddHtmlFooters.

using IronPdf;

// Load an existing PDF document
var pdf = PdfDocument.FromFile("customer-profile.pdf");

// Define the header to add
var header = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>REVISED COPY - {date}</div>",
    MaxHeight = 20
};

// Define the footer to add
var footer = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: right;'>Page {page}</div>",
    MaxHeight = 15
};

// Apply headers and footers to all pages
pdf.AddHtmlHeaders(header);
pdf.AddHtmlFooters(footer);
pdf.SaveAs("document-with-new-headers.pdf");

Klasa PdfDocument reprezentuje załadowany lub przetworzony PDF i zapewnia metody do modyfikacji po renderowaniu. To rozdzielenie renderowania od modyfikacji umożliwia realizację procesów, w których dokumenty PDF przechodzą przez wiele etapów przetwarzania. Metoda AddHtmlHeaders automatycznie stosuje nagłówek do każdej strony, chociaż można również celować w konkretne strony poprzez przekazanie kolekcji indeksów stron.

Dane wejściowe

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 6 - Przykładowe dane wejściowe

Wynik

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 7 - Obecny wyniki nagłówka PDF

Ta funkcja okazuje się nieoceniona w systemach zarządzania dokumentami, które otrzymują pliki PDF z różnych źródeł, takich jak zeskanowane dokumenty, pliki przesłane przez użytkowników lub odpowiedzi API stron trzecich. IronPDF standaryzuje branding lub numerację stron przed dystrybucją lub archiwizacją.

Jak dodać różne nagłówki na różnych stronach?

Niektóre dokumenty wymagają, aby pierwsza strona miała inny nagłówek (lub w ogóle nie miała nagłówka), podczas gdy kolejne strony mają standardowy format. IronPDF obsługuje to poprzez zastosowanie nagłówka na podstawie indeksów stron - nie ma potrzeby sprawdzania warunków w obsługiwaczach void OnEndPage ani ręcznego zarządzania licznikami pętli:

using IronPdf;
using System.Collections.Generic;
using System.Linq;
using System.Text;

var renderer = new ChromePdfRenderer();

// Build multi-page HTML with print page-breaks between pages
var pages = new List<string>
{
    "<section><h1>Title Page</h1><p>Intro text on page 1.</p></section>",
    "<section><h2>Report</h2><p>Detailed report content on page 2.</p></section>",
    "<section><h2>Appendix</h2><p>Appendix content on page 3.</p></section>"
};

var sb = new StringBuilder();
sb.AppendLine("<!doctype html><html><head><meta charset='utf-8'>");
sb.AppendLine("<style>");
sb.AppendLine("  body { font-family: Arial, sans-serif; margin: 20px; }");
sb.AppendLine("  .page-break { page-break-after: always; }");
sb.AppendLine("</style>");
sb.AppendLine("</head><body>");

for (int i = 0; i < pages.Count; i++)
{
    sb.AppendLine(pages[i]);
    if (i < pages.Count - 1)
        sb.AppendLine("<div class='page-break'></div>");
}
sb.AppendLine("</body></html>");

var pdf = renderer.RenderHtmlAsPdf(sb.ToString());

// Create the standard header for pages 2 onwards
var standardHeader = new HtmlHeaderFooter
{
    HtmlFragment = "<div style='text-align: center;'>Standard Header - Page {page}</div>",
    MaxHeight = 20
};

// Apply to all pages except the first (index 0)
var pageIndices = Enumerable.Range(1, pdf.PageCount - 1).ToList();
pdf.AddHtmlHeaders(standardHeader, 1, pageIndices);
pdf.SaveAs("document-skip-first-page-header.pdf");

Drugi parametr w AddHtmlHeaders określa numer strony początkowej dla scalonego pola {page}, podczas gdy trzeci parametr akceptuje kolekcję indeksów stron, na które ma być zastosowany nagłówek. Ta precyzyjna kontrola umożliwia tworzenie złożonych układów dokumentów bez skomplikowanej logiki warunkowej. Przykład "Zaawansowane nagłówki i stopki" obejmuje dodatkowe scenariusze, w tym rozróżnienie stron parzystych i nieparzystych.

Wynik

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 9 - Różne nagłówki dla różnych stron - Wyniki

Jak wdrożyć dynamiczne treści wykraczające poza numery stron?

System pól scałanych obsługuje kilka wartości dynamicznych, które są automatycznie wypełniane podczas renderowania. W poniższej tabeli wymieniono wszystkie dostępne pola wraz z ich znaczeniami:

Pola scałane obsługiwane w nagłówkach i stopkach IronPDF
PoleWartość dodanaTypowe zastosowanie
{page}Numer bieżącej stronyStopki z napisem "Strona 3"
{total-pages}Łączna liczba stronStopki z napisem "Strona 3 z 10"
{data}Aktualna data w formacie lokalnymZnaczniki czasu audytu, daty raportów
{time}Aktualny czas w formacie lokalnymStopki dotyczące zgodności z przepisami
{html-title}Zawartość tagu HTML <title>Nagłówki dokumentów zawierające tytuł strony
{pdf-title}Tytuł metadanych dokumentu PDFStopki z nazwą dokumentu
{url}Adres źródłowy podczas renderowania z adresu internetowegoStopki archiwalne dla treści internetowych

Dla naprawdę dynamicznej zawartości - wartości określanych podczas działania - można skonstruować ciąg fragmentu HTML z interpolowanymi wartościami przed przypisaniem go do właściwości HtmlFragment. Takie podejście umożliwia tworzenie nagłówków zawierających wartości pobrane z bazy danych, informacje o użytkowniku lub dane obliczeniowe:

using IronPdf;

string userName = GetCurrentUserName();
string documentVersion = "v2.3.1";

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    HtmlFragment = $"<div style='font-size:10px;'>Prepared by: {userName} " +
                   $"| Version: {documentVersion} " +
                   "| Page {page} of {total-pages}</div>",
    MaxHeight = 20
};

var pdf = renderer.RenderHtmlAsPdf("<h1>Annual Report</h1><p>Body content here.</p>");
pdf.SaveAs("dynamic-header-report.pdf");

Należy zauważyć, że tokeny {page} i {total-pages} są pozostawione jako zwykłe ciągi w ramach konkatenacji ciągów C# - nie wewnątrz interpolowanej części. Podczas renderowania plików PDF IronPDF automatycznie zastępuje te tokeny. Ten wzorzec działa dla dowolnej wartości środowiska uruchomieniowego: nazw użytkowników z Active Directory, identyfikatorów dokumentów z bazy danych, ciągów znaków wersji z potoku kompilacji lub obliczonych sum z silnika raportowania.

Połączenie pól scałanych i interpolacji ciągów znaków umożliwia tworzenie zaawansowanych projektów stopek, powszechnie stosowanych w dokumentach biznesowych. Działy prawne często wymagają stopek zawierających tytuł dokumentu, datę i liczbę stron. Raporty finansowe mogą wymagać oznaczenia daty i godziny w celu zapewnienia zgodności z przepisami. Wymagania te są spełnione bez konieczności tworzenia niestandardowego kodu dla każdego typu dokumentu.

Jak wygląda podejście iText?

Deweloperzy zaznajomieni z iText (następcą iText) wiedzą, że dodawanie nagłówków i stopek wymaga implementowania handlerów zdarzeń. Biblioteka korzysta z systemu zdarzeń strony, gdzie tworzysz klasę, która reaguje na zdarzenia cyklu życia dokumentu, takie jak OnEndPage i OnCloseDocument.

Oto jak wygląda ta sama implementacja nagłówka i stopki przy użyciu iText za pomocą wzorca ITextEvents:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.Kernel.Events;
using iText.Kernel.Geom;
using iText.Layout.Properties;

// Event handler class for headers and footers -- similar to PdfPageEventHelper
public class ITextEvents : IEventHandler
{
    private string _header;
    public string Header
    {
        get { return _header; }
        set { _header = value; }
    }

    public void HandleEvent(Event currentEvent)
    {
        PdfDocumentEvent docEvent = (PdfDocumentEvent)currentEvent;
        PdfDocument pdfDoc = docEvent.GetDocument();
        PdfPage page = docEvent.GetPage();
        Rectangle pageSize = page.GetPageSize();

        // Create a new PdfCanvas for the contentbyte object
        PdfCanvas pdfCanvas = new PdfCanvas(
            page.NewContentStreamBefore(),
            page.GetResources(),
            pdfDoc);
        Canvas canvas = new Canvas(pdfCanvas, pageSize);

        // Add header text at calculated position
        canvas.ShowTextAligned(
            new Paragraph("Quarterly Sales Report"),
            pageSize.GetWidth() / 2,
            pageSize.GetTop() - 20,
            TextAlignment.CENTER);

        // Add footer with page number
        int pageNumber = pdfDoc.GetPageNumber(page);
        canvas.ShowTextAligned(
            new Paragraph($"Page {pageNumber}"),
            pageSize.GetWidth() / 2,
            pageSize.GetBottom() + 20,
            TextAlignment.CENTER);

        canvas.Close();
    }
}

// Usage in main code
var writer = new PdfWriter("report.pdf");
var pdfDoc = new PdfDocument(writer);
var document = new Document(pdfDoc);

// Register the event handler for END_PAGE
pdfDoc.AddEventHandler(PdfDocumentEvent.END_PAGE, new ITextEvents());

document.Add(new Paragraph("Sales Data"));
document.Add(new Paragraph("Content goes here..."));
document.Close();

To wdrożenie pokazuje podstawową różnicę architektoniczną między tymi dwiema bibliotekami. iText wymaga utworzenia oddzielnej klasy obsługującej, która implementuje IEventHandler (podobnie jak starszy PdfPageEventHelper), ręczne obliczanie pozycji strony przy użyciu współrzędnych typu float oraz zarządzanie obiektami PdfCanvas i Canvas dla operacji rysowania. Obiekt obsługiwacza odbiera zdarzenia dla każdej strony poprzez typ zdarzenia END_PAGE - szczegół, który potyka wielu programistów, którzy błędnie używają START_PAGE.

Wynik

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 8 - Jak dodać nagłówek i stopkę do PDF przy użyciu iText w C# - przykład

System współrzędnych w iText pochodzi od dolnego-lewego rogu strony, wymagając wyraźnych obliczeń do pozycjonowania. Uzyskanie ostatecznej liczby stron wymaga dodatkowej złożoności z wzorcami PdfTemplate, które są wypełniane podczas OnCloseDocument - wzorzec, który dodaje więcej wzorca do już zaangażowanego przepływu pracy.

Dla programistów wywodzących się ze środowiska tworzenia stron internetowych to podejście oparte na współrzędnych wydaje się obce w porównaniu z deklaratywnym modelem HTML/CSS. Każda decyzja dotycząca pozycjonowania wymaga zrozumienia wymiarów strony, przesunięć marginesów i pomiarów tekstu — kwestii, które są pomijane w podejściach opartych na HTML.

iText działa także pod licencją AGPL, co oznacza, że aplikacje korzystające z iText lub iText muszą być open-source, chyba że zakupiona zostanie komercyjna licencja. Jest to ważny czynnik, który należy wziąć pod uwagę przy wyborze bibliotek do projektów komercyjnych.

Jak wypadają te dwa podejścia w porównaniu?

Różnice stają się bardziej widoczne, gdy porównamy konkretne możliwości obok siebie. Poniższa tabela podsumowuje kluczowe różnice:

Porównanie funkcji nagłówków i stopek IronPDF i iText
FunkcjaIronPDFiText / iText
Styl realizacjiPrzypisanie właściwości w opcjach rendereraKlasa obsługi zdarzeń implementująca interfejs IEventHandler
Obsługa HTML/CSSPełny kod HTML i CSS za pośrednictwem HtmlHeaderFooterBrak natywnej obsługi HTML; wymaga rysowania na płótnie na niskim poziomie
Łączna liczba stronAutomatycznie poprzez pole {total-pages}Wymaga wypełnienia szablonu PdfTemplate w metodzie OnCloseDocument
Zdjęcie w nagłówkuStandardowy tag HTML <img> z atrybutem BaseUrlWymaga obiektu Image i ręcznego pozycjonowania
Dodaj do istniejącego pliku PDFMetody AddHtmlHeaders / AddHtmlFootersWymaga ponownego przetworzenia za pomocą stampera lub pętli zdarzeń
Kierowanie na poszczególne stronyLista indeksów stron przekazanych do metodyLogika warunkowa wewnątrz procedury obsługi zdarzeń
Model licencjiWersja komercyjna z bezpłatną wersją próbnąAGPL (open source) lub komercyjne
WielopłatformoweWindows, Linux, macOS; Obsługa DockerWindows, Linux, macOS

Doświadczenie programistyczne różni się również znacznie podczas rozwiązywania problemów. Podejście oparte na HTML stosowane przez IronPDF oznacza, że możesz wyświetlić podgląd projektu nagłówka w przeglądarce przed zintegrowaniem go z kodem generującym pliki PDF. Jeśli coś wygląda nieprawidłowo, możesz dostosować kod HTML i CSS za pomocą znanych narzędzi programistycznych przeglądarki. W przypadku iText, debugowanie problemów z pozycjonowaniem wymaga wielokrotnego generowania testowych PDF i ręcznego mierzenia współrzędnych.

Podejście oparte na HTML oznacza, że możesz bezpośrednio wykorzystać swoje dotychczasowe umiejętności w zakresie tworzenia stron internetowych. W nagłówkach i stopkach IronPDF można zastosować dowolny układ możliwy do uzyskania za pomocą HTML i CSS, od układów flexbox po siatki obrazów. Przykład nagłówków i stopek HTML pokazuje dodatkowe możliwości stylizacji.

Dostosowywanie wyglądu nagłówka i stopki

Dopracowanie nagłówków i stopek obejmuje kilka właściwości, które wpływają na pozycjonowanie i prezentację wizualną. Klasa TextHeaderFooter zapewnia te opcje personalizacji:

using IronPdf;
using IronSoftware.Drawing;

var renderer = new ChromePdfRenderer();

var footer = new TextHeaderFooter
{
    LeftText = "Confidential",
    CenterText = "{pdf-title}",
    RightText = "Page {page} of {total-pages}",
    Font = FontTypes.Arial,
    FontSize = 9,
    DrawDividerLine = true,
    DrawDividerLineColor = Color.Gray
};

renderer.RenderingOptions.TextFooter = footer;
renderer.RenderingOptions.MarginBottom = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Board Report</h1><p>Executive summary content.</p>");
pdf.SaveAs("board-report.pdf");

Właściwość Font akceptuje wartości z IronSoftware.Drawing.FontTypes, w tym Helvetica, Arial, Courier i Times New Roman. Właściwość DrawDividerLine dodaje profesjonalną linię poziomą pomiędzy stopką a główną treścią. Możesz dostosować kolor linii, używając DrawDividerLineColor, aby dopasować do kolorów Twojej marki lub motywu dokumentu.

Dla nagłówków i stopek bazujących na HTML, właściwość LoadStylesAndCSSFromMainHtmlDocument opcjonalnie dziedziczy style z głównego dokumentu renderowanego, zapewniając spójność wizualną pomiędzy nagłówkami a treścią główną. Jest to szczególnie przydatne, gdy główny dokument wykorzystuje niestandardowy CSS, który powinien mieć również zastosowanie do obszarów nagłówka i stopki.

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 5 - Kompatybilność międzyplatformowa

Wdrożenia wielopłatformowe i w kontenerach

Nowoczesne aplikacje .NET są często wdrażane w kontenerach Linux, usługach Azure App Services lub funkcjach AWS Lambda. IronPDF obsługuje wdrażanie na wielu platformach, w tym Windows, Linux i macOS, bez konieczności dodatkowej konfiguracji. Biblioteka działa w kontenerach Docker od razu po uruchomieniu, dzięki czemu nadaje się do architektur mikrousług i aplikacji natywnych dla chmury.

Ta wielopłatformowość obejmuje również funkcje nagłówków i stopek — ten sam kod, który generuje pliki PDF z nagłówkami na komputerze deweloperskim z systemem Windows, tworzy identyczne wyniki po wdrożeniu na serwerze produkcyjnym z systemem Linux. Nie ma potrzeby instalowania dodatkowych czcionek, konfigurowania silników renderujących ani obsługi ścieżek kodu specyficznych dla platformy.

Dla zespołów korzystających z kontenerowych środowisk pracy dokumentacja wdrożenia IronPDF Docker zawiera wskazówki dotyczące konfiguracji różnych obrazów bazowych i platform orkiestracji. Spójne działanie biblioteki w różnych środowiskach eliminuje częste źródło błędów w procesach generowania plików PDF.

Zgodnie z dokumentacją platformy .NET firmy Microsoft, aplikacje .NET w kontenerach korzystają ze spójnego zachowania w czasie wykonywania w różnych środowiskach — jest to zasada, którą silnik renderujący IronPDF wzmacnia w zadaniach generowania plików PDF. Podobnie oficjalna dokumentacja Docker wyjaśnia najlepsze praktyki dotyczące konteneryzacji obciążeń .NET, które mają bezpośrednie zastosowanie do usług generowania plików PDF.

Dokumentacja iText również potwierdza wsparcie wieloplatformowe, ale dodatkowa złożoność modelu zdarzeń oznacza, że debugowanie problemów z renderowaniem na różnych platformach może być bardziej skomplikowane niż w podejściu opartym na HTML.

Jakie są Twoje kolejne kroki?

Wprowadzenie nagłówków i stopek do dokumentów PDF zajmuje zaledwie kilka minut dzięki IronPDF. Zainstaluj bibliotekę za pomocą menedżera pakietów NuGet:

PM > Install-Package IronPdf

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 10 - Instalacja

Poniższe zasoby pomogą Ci poszerzyć wiedzę:

Bezpłatna próba, aby przetestować implementacje nagłówków i stopek we własnych projektach. Wersja próbna zawiera wszystkie funkcje bez ograniczeń czasowych, co pozwala na ocenę biblioteki pod kątem rzeczywistych wymagań dotyczących dokumentów PDF przed podjęciem decyzji o zakupie licencji.

Jak dodać nagłówek i stopkę do PDF przy użyciu iText i IronPDF w C#: Przykład 11 - Licencjonowanie

Dodanie nagłówków i stopek do dokumentów PDF w C# waha się od prostego do skomplikowanego, w zależności od wyboru biblioteki. Podczas gdy iText zapewnia niskopoziomową kontrolę przez obsługę zdarzeń i operacje na płótnie, IronPDF dostarcza te same funkcjonalności przez API, które stosuje znane koncepcje HTML i CSS. Dla programistów preferujących szybkie wdrożenie i łatwe w utrzymaniu kodu, IronPDF redukuje implementację nagłówków i stopek od dziesiątek linii -- w tym klas obsługujących, konfiguracji komórek i struktur tabel -- do kilku przypisań właściwości.

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ęczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta