Przejdź do treści stopki
PORóWNANIA PRODUKTóW

Jak dodać numery stron w PDF za pomocą iTextSharp w C#

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison

"Portable Document Format", czyli PDF, to format plików stworzony przez firmę Adobe. Pliki PDF przydają się podczas prezentacji dokumentów, w których tekst i obrazy muszą być sformatowane w spójny sposób. W dzisiejszym świecie pliki PDF są niezbędne i wykorzystywane do tworzenia dokumentów oraz fakturowania we wszystkich sektorach biznesowych. Dzięki kilku bibliotekom PDF dostępnym obecnie na rynku tworzenie plików PDF stało się praktycznie instynktowne. Aby wybrać odpowiednią bibliotekę PDF, przed wykorzystaniem jej w projekcie należy rozważyć zalety i cechy każdej z nich.

W tym artykule zobaczymy, jak dodać numery stron w pliku PDF za pomocą iTextSharp C#. Ponadto zamierzamy porównać iTextSharp z IronPDF.

Jak dodać numery stron w pliku PDF za pomocą iTextSharp C

  1. Utwórz nowy projekt w języku C# przy użyciu dowolnego środowiska IDE.
  2. Utwórz nowy obiekt PDF.
  3. Dodaj numery stron do stopki HTML.
  4. Utwórz plik PDF na podstawie treści HTML.
  5. Zapisz plik PDF na swoim komputerze.

Czym jest IronPDF

IronPDF to solidny .NET Framework do obsługi plików PDF, który programiści wykorzystują do łatwego tworzenia, przeglądania i edytowania plików PDF. IronPDF to zaawansowane narzędzie, które wewnętrznie działa na silniku Chromium. Może konwertować pliki HTML5, JavaScript, CSS i obrazy do formatu PDF, dodawać niestandardowe nagłówki i stopki oraz generować pliki PDF dokładnie tak, jak wyglądają w przeglądarce. IronPDF obsługuje wiele formatów internetowych i sieciowych, w tym HTML, ASPX, Razor View i MVC.

Funkcje IronPDF

  • Wykorzystanie kodu .NET C# do tworzenia, odczytywania i łatwej edycji plików PDF.
  • Tworzenie plików PDF na podstawie linku URL strony internetowej przy jednoczesnym zarządzaniu agentami użytkownika, serwerami proxy, plikami cookie, nagłówkami HTTP i zmiennymi formularzy w celu umożliwienia logowania za pomocą formularzy logowania HTML.
  • Pobieranie obrazów z istniejących plików PDF.
  • Zawiera elementy w pliku PDF: tabelę, tekst, obrazy, zakładki, znaki wodne, nagłówki, stopki i inne.
  • Możliwość łatwego dzielenia i łączenia stron z wielu dokumentów PDF.

Aby dowiedzieć się więcej o dokumentacji IronPDF, zajrzyj tutaj.

Instalacja IronPDF

W narzędziach Visual Studio wybierz Menedżer pakietów NuGet, a interfejs Visual Command-Line znajdziesz w sekcji Narzędzia. Poniższe polecenie należy wprowadzić w zakładce terminala zarządzania pakietami.

Install-Package IronPdf

Możemy też skorzystać z metody menedżera pakietów. Instalacja pakietu bezpośrednio w rozwiązaniu jest możliwa dzięki opcji NuGet Package Manager w programie Visual Studio. Na stronie NuGet dostępne jest pole wyszukiwania, które pozwala znaleźć pakiety. Wystarczy wpisać "IronPDF" w menedżerze pakietów, jak pokazuje poniższy zrzut ekranu:

Jak dodać numery stron w pliku PDF przy użyciu iTextSharp w języku C#: Rysunek 1 – Instalacja IronPDF z menedżera pakietów

Lista odpowiednich wyników wyszukiwania jest wyświetlona na powyższym obrazku. Aby zainstalować pakiet w systemie, należy dokonać niezbędnych wyborów.

Po pobraniu i zainstalowaniu pakietu można go wykorzystać w bieżącym projekcie.

Czym jest iTextSharp

iTextSharp to elastyczna biblioteka do tworzenia i modyfikowania dokumentów PDF w języku C#. Oferuje kilka funkcji, takich jak szyfrowanie, scalanie plików PDF, wyodrębnianie tekstu i obrazów oraz wiele innych. iTextSharp to wydajne narzędzie do wielu zadań, w tym do dodawania numerów stron do plików PDF.

Funkcje iTextSharp

  • API do generowania dokumentów PDF jest dostępne za pośrednictwem biblioteki iText.
  • Zarówno ciągi HTML, jak i XML mogą być przetwarzane na pliki PDF za pomocą programu iText.
  • Możemy dodawać zakładki, numery stron i znaczniki do naszych dokumentów PDF za pomocą biblioteki iText.
  • Możemy również podzielić dokument PDF na kilka plików PDF lub połączyć wiele dokumentów PDF w jeden plik PDF przy użyciu biblioteki iText.
  • Możemy modyfikować formularze PDF za pomocą iText.

Zainstaluj iTextSharp

Użyj menedżera pakietów NuGet, aby wyszukać iText. Wymagane jest zainstalowanie iText7 oraz iText.pdfhtml, ponieważ funkcje iText są rozdzielone na wiele pakietów.

W przypadku wyboru interfejsu Visual Command-Line należy zainstalować następujące pakiety:

Install-Package iText7
Install-Package itext7.pdfhtml
Install-Package iText7
Install-Package itext7.pdfhtml
SHELL

Ponieważ iText 7 jest najnowszą wersją, to właśnie ją wykorzystujemy w naszym rozwiązaniu.

Dodawanie numerów stron za pomocą IronPDF

Dodawanie numerów stron do plików PDF jest proste dzięki obszernej bibliotece IronPDF. Aby to zilustrować, zapoznaj się z poniższym kodem:

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize the IronPdf renderer
        var renderer = new IronPdf.HtmlToPdf();

        // HTML content to convert to PDF
        string header = "<h1>Hello Ironpdf!</h1>";

        // Render the HTML content to PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf(header);

        // Define the footer with page number placeholders
        HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
        {
            HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
        };

        // Add footer to the PDF
        pdf.AddHtmlFooters(htmlFooter);

        // Save the output PDF file
        pdf.SaveAs("output.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Initialize the IronPdf renderer
        var renderer = new IronPdf.HtmlToPdf();

        // HTML content to convert to PDF
        string header = "<h1>Hello Ironpdf!</h1>";

        // Render the HTML content to PDF
        PdfDocument pdf = renderer.RenderHtmlAsPdf(header);

        // Define the footer with page number placeholders
        HtmlHeaderFooter htmlFooter = new HtmlHeaderFooter
        {
            HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"
        };

        // Add footer to the PDF
        pdf.AddHtmlFooters(htmlFooter);

        // Save the output PDF file
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize the IronPdf renderer
		Dim renderer = New IronPdf.HtmlToPdf()

		' HTML content to convert to PDF
		Dim header As String = "<h1>Hello Ironpdf!</h1>"

		' Render the HTML content to PDF
		Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(header)

		' Define the footer with page number placeholders
		Dim htmlFooter As New HtmlHeaderFooter With {.HtmlFragment = "<center><i>{page} of {total-pages}</i></center>"}

		' Add footer to the PDF
		pdf.AddHtmlFooters(htmlFooter)

		' Save the output PDF file
		pdf.SaveAs("output.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

Wyjaśnienie

  1. Zainicjuj renderer: Tworzymy instancję HtmlToPdf, która zapewnia funkcję konwersji HTML do PDF.
  2. Zdefiniuj zawartość HTML: Określono zawartość HTML, która ma zostać przekonwertowana do formatu PDF.
  3. Renderowanie treści HTML: Funkcja RenderHtmlAsPdf służy do konwersji kodu HTML na dokument PDF.
  4. Zdefiniuj stopkę: Numery stron są przedstawione jako symbole zastępcze w tekście stopki HTML.
  5. Dodaj stopkę i zapisz plik PDF: Dodaj stopkę do dokumentu i zapisz go jako plik PDF.

Jak dodać numery stron w pliku PDF przy użyciu iTextSharp w języku C#: Rysunek 2 – IronPDF: Wygenerowany plik PDF z numerami stron

Aby dowiedzieć się więcej o kodzie IronPDF, zajrzyj tutaj.

Dodawanie numerów stron za pomocą iTextSharp

Najpierw użyjmy iTextSharp do wygenerowania nowego dokumentu PDF. Oto podstawowa ilustracja pokazująca, jak utworzyć nowy dokument PDF z numerami stron:

using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            Document document = new Document();
            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));

            // Open the document to add content
            document.Open();
            document.Add(new Paragraph("Hello, world!"));

            // Attach page number event to PDF writer
            writer.PageEvent = new PageNumberEventHandler();

            // Close the document
            document.Close();
        }
    }

    public class PageNumberEventHandler : PdfPageEventHelper
    {
        public override void OnEndPage(PdfWriter writer, Document document)
        {
            base.OnEndPage(writer, document);

            // Create a table for the page number
            PdfPTable table = new PdfPTable(1);
            table.TotalWidth = 300f;
            table.HorizontalAlignment = Element.ALIGN_CENTER;

            // Add page number to the table cell
            PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
            cell.Border = 0;
            table.AddCell(cell);

            // Write the table at the bottom of the page
            table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
        }
    }
}
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            Document document = new Document();
            PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));

            // Open the document to add content
            document.Open();
            document.Add(new Paragraph("Hello, world!"));

            // Attach page number event to PDF writer
            writer.PageEvent = new PageNumberEventHandler();

            // Close the document
            document.Close();
        }
    }

    public class PageNumberEventHandler : PdfPageEventHelper
    {
        public override void OnEndPage(PdfWriter writer, Document document)
        {
            base.OnEndPage(writer, document);

            // Create a table for the page number
            PdfPTable table = new PdfPTable(1);
            table.TotalWidth = 300f;
            table.HorizontalAlignment = Element.ALIGN_CENTER;

            // Add page number to the table cell
            PdfPCell cell = new PdfPCell(new Phrase($"Page {writer.PageNumber}"));
            cell.Border = 0;
            table.AddCell(cell);

            // Write the table at the bottom of the page
            table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent);
        }
    }
}
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf

Namespace ConsoleApp1
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a new PDF document
			Dim document As New Document()
			Dim writer As PdfWriter = PdfWriter.GetInstance(document, New FileStream("output.pdf", FileMode.Create))

			' Open the document to add content
			document.Open()
			document.Add(New Paragraph("Hello, world!"))

			' Attach page number event to PDF writer
			writer.PageEvent = New PageNumberEventHandler()

			' Close the document
			document.Close()
		End Sub
	End Class

	Public Class PageNumberEventHandler
		Inherits PdfPageEventHelper

		Public Overrides Sub OnEndPage(ByVal writer As PdfWriter, ByVal document As Document)
			MyBase.OnEndPage(writer, document)

			' Create a table for the page number
			Dim table As New PdfPTable(1)
			table.TotalWidth = 300F
			table.HorizontalAlignment = Element.ALIGN_CENTER

			' Add page number to the table cell
			Dim cell As New PdfPCell(New Phrase($"Page {writer.PageNumber}"))
			cell.Border = 0
			table.AddCell(cell)

			' Write the table at the bottom of the page
			table.WriteSelectedRows(0, -1, 150, document.Bottom, writer.DirectContent)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Wyjaśnienie

  1. Utwórz dokument PDF: Zainicjuj nowe Document i PdfWriter, aby wygenerować pusty plik PDF.
  2. Dodaj treść: Dodaj do dokumentu podstawową treść, taką jak akapity.
  3. Numeracja stron: Wykorzystujemy obsługę zdarzeń iTextSharp do dodawania numerów stron. Tworzymy klasę niestandardową dziedziczącą po PdfPageEventHelper.
  4. Nadpisz OnEndPage: W klasie niestandardowej nadpisz metodę OnEndPage, aby dodać numery stron na dole każdej strony.
  5. Zamknij dokument: Sfinalizuj dokument, zamykając go.

Jak dodać numery stron w pliku PDF przy użyciu iTextSharp w języku C#: Rysunek 3 – iTextSharp: Wygenerowany plik PDF z numerami stron

Wnioski

Podsumowując, specjalizacja, użyteczność i płynna integracja IronPDF ze środowiskami .NET sprawiają, że jest to najlepsza opcja w sytuacjach wymagających konwersji HTML do PDF i powiązanych funkcji, mimo że iTextSharp nadal pozostaje silnym konkurentem wśród bibliotek do obsługi plików PDF w języku C#. Dzięki IronPDF możesz tworzyć faktury, raporty i dynamicznie generowane dokumenty na podstawie treści HTML z łatwością, skutecznością i elastycznością niezbędnymi do odniesienia sukcesu w nowoczesnym środowisku programistycznym.

Wersja Lite programu IronPDF obejmuje stałą licencję, opcje aktualizacji oraz roczną konserwację oprogramowania. Okres próbny z znakiem wodnym pozwala użytkownikom ocenić produkt w praktycznych warunkach. Odwiedź stronę licencji, aby dowiedzieć się więcej. Więcej informacji na temat Iron Software można znaleźć na ich stronie internetowej.

Zwróć uwagęiTextSharp jest zarejestrowanym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z iTextSharp, nie jest przez nią promowana ani sponsorowana. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.

Często Zadawane Pytania

Jak mogę dodać numery stron do pliku PDF za pomocą iTextSharp w języku C#?

Aby dodać numery stron przy użyciu iTextSharp w języku C#, można utworzyć klasę niestandardową dziedziczącą po PdfPageEventHelper. Należy nadpisać metodę OnEndPage, aby wstawić numery stron, a następnie przypisać to zdarzenie do instancji PdfWriter.

Dlaczego pliki PDF mają kluczowe znaczenie w różnych sektorach?

Pliki PDF zachowują spójne formatowanie tekstu i obrazów, co jest niezbędne do tworzenia dokumentów i fakturowania w różnych sektorach korporacyjnych. Są one niezawodne, jeśli chodzi o profesjonalną prezentację dokumentów.

Jakie są zalety używania IronPDF do manipulacji PDF?

IronPDF oferuje rozbudowane funkcje do tworzenia, przeglądania i edycji plików PDF w środowiskach .NET. Wyróżnia się możliwością konwersji HTML, JavaScript i obrazów do formatu PDF oraz obsługuje niestandardowe nagłówki, stopki i znaki wodne.

Czy IronPDF obsługuje konwersję HTML do PDF z obsługą JavaScript?

Tak, IronPDF może konwertować treści HTML, w tym JavaScript, do formatu PDF, zachowując układ i funkcjonalność tak, jak wygląda to w przeglądarce internetowej.

Jak zainstalować IronPDF w projekcie C#?

Możesz zainstalować IronPDF za pomocą menedżera pakietów NuGet w Visual Studio. Wystarczy wyszukać „IronPDF” i dodać go do swojego projektu, aby zacząć korzystać z jego funkcji.

Jakie znaczenie ma okres próbny oferowany przez IronPDF?

Okres próbny IronPDF pozwala programistom zapoznać się z jego funkcjami i możliwościami w rzeczywistych zastosowaniach dzięki wersji próbnej z znakiem wodnym, co pomaga im ocenić przydatność produktu przed zakupem licencji.

Jak iTextSharp wypada w porównaniu z IronPDF pod względem dodawania numerów stron?

Podczas gdy iTextSharp wykorzystuje obsługę zdarzeń do dodawania numerów stron, IronPDF oferuje prostsze podejście z wykorzystaniem szablonów HTML dla nagłówków i stopek, co czyni go idealnym rozwiązaniem dla programistów .NET poszukujących łatwości użytkowania.

Co należy wziąć pod uwagę przy wyborze biblioteki PDF do projektu w języku C#?

Weź pod uwagę funkcje oferowane przez każdą bibliotekę. Na przykład IronPDF specjalizuje się w konwersji HTML do PDF i dobrze integruje się z .NET Frameworkem, podczas gdy iTextSharp oferuje silne szyfrowanie i możliwości ekstrakcji tekstu.

Czy iTextSharp jest kompatybilny z .NET 10 w zakresie dodawania numerów stron, czy też powinienem użyć iText 7?

iTextSharp (wersja 5.x) został oficjalnie wycofany i znajduje się w trybie konserwacji; otrzymuje jedynie poprawki bezpieczeństwa, a nie ma nowych aktualizacji funkcji. Nie jest przeznaczony bezpośrednio dla .NET 10, a używanie go w nowoczesnych wersjach .NET może prowadzić do ograniczeń kompatybilności. W przypadku nowych projektów lub tych, które są aktualizowane do .NET 10, zdecydowanie zaleca się iText 7 (lub iText Core), ponieważ obsługuje on najnowsze frameworki i zawiera ulepszenia w stosunku do iTextSharp. ([itextpdf.com](https://itextpdf.com/products/itextsharp?utm_source=openai))

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

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie