
Jak oddzielić strony PDF
IronPDF vs iText / iText
Kompleksowe porównanie bibliotek PDF .NET — funkcja po funkcji z uzasadnieniem w oparciu o dowody
| Funkcja | iText / iText | IronPDF ✦ |
|---|---|---|
| Tworzenie i konwersja PDF | ||
| HTML/CSS do PDF | $ Paid Add-on HTML→PDF przez dodatek pdfHTML (oddzielny pakiet; model AGPL/komercyjny). | ✓ Yes Silnik oparty na Chromium z wbudowanym renderowaniem doskonałym pikselowo CSS3, Flexbox i Grid. |
| Wykonanie JavaScript | ? Unknown pdfHTML opisuje konwersję HTML/CSS→PDF, ale wsparcie dla wykonania JS nie jest uwzględnione w dokumentacji. | ✓ Yes Pełne wykonywanie JS podczas renderowania — interaktywne wykresy, SPA i interaktywna treść. |
| Programistyczne generowanie | ✓ Yes Pozycjonowana jako programowalny SDK PDF dla .NET — tworzenie, edytowanie i poprawianie. | ✓ Yes Generowanie z szablonów HTML, ciągów, widoków ASPX lub obrazów. Chromium obsługuje układ. |
| URL do pliku PDF | $ Paid Add-on Możliwe za pomocą dodatku pdfHTML z pobieraniem URL, ale nie jest to funkcja podstawowa. | ✓ YesRenderUrlAsPdf() przechwytuje każdy aktywny URL z pełnym renderowaniem CSS/JS. |
| DOCX do PDF | ✕ No Brak natywnej konwersji Word — iText to natywny SDK PDF. | ✓ YesDocxToPdfRenderer konwertuje dokumenty Word z zachowaniem struktury i formatowania. |
| Czytanie i ekstrakcja | ||
| Wyodrębnianie tekstu | ✓ YesPdfTextExtractor.GetTextFromPage() z wieloma strategiami ekstrakcji. | ✓ Yes Wyodrębnia tekst z uwzględnieniem układu. Łączy się z IronOCR dla zeskanowanych dokumentów. |
| Renderowanie stron do obrazów | ? Unknown Przepływy pracy OCR wspominają o renderowaniu, ale brak jest "modułu renderującego PDF→obraz" jako źródła pierwotnego
udokumentowanego w cytowanej dokumentacji iText. | ✓ Built-in Natywna rasteryzacja do PNG, JPEG, BMP z konfigurowalnym DPI. |
| Wbudowany OCR | $ Paid Add-on Dostępny dodatek pdfOCR; zalecenia instalacyjne obejmują platformowe/specyficzne zależności (np.
wymagania dotyczące środowiska Linux/macOS). | ✓ Via IronOCR Natywna integracja z IronOCR dla 127+ języków OCR na zeskanowanych PDF. |
| Edytowanie i manipulacja | ||
| Scałanie i dzielenie | ✓ YesPdfMerger klasa w API .NET; oficjalne przykłady omawiają scałanie przez PdfMerger. | ✓ Yes Jednoliniowe scałanie, dzielenie, dołączanie, przedkładanie i zmiana kolejności stron przy użyciu intuicyjnego API. |
| Nagłówki, stopki i numery stron | ✓ Yes Lista PDF Association potwierdza możliwość dodawania "numerów stron" i podobnych funkcji do
istniejących PDF-ów. | ✓ Yes Nagłówki/stopki oparte na HTML z automatycznymi numerami stron, datami i niestandardową treścią. |
| Znaki wodne | ✓ Yes Lista PDF Association wyraźnie uwzględnia "znaki wodne … do istniejących dokumentów PDF". | ✓ YesApplyWatermark() akceptuje HTML/CSS — pełna kontrola nad przezroczystością, rotacją,
położeniem. |
| Tekst i obrazy znaczków | ✓ Yes Programistyczne umieszczanie treści dostępne za pomocą płótna i API układu iText. | ✓ YesTextStamper & ImageStamper z czcionkami Google, pozycjonowaniem,
kontrolą per-strona. |
| Redagowanie treści | ✓ Yes iText zapewnia wsparcie dla adnotacji redagowania za pomocą modułu czyszczenia. | ✓ YesRedactTextOnAllPages() usuwa wrażliwy tekst na stałe w jednym kroku. |
| Bezpieczeństwo i zgodność | ||
| Szyfrowanie i hasła | ✓ Yes Pełna kontrola nad szyfrowaniem i uprawnieniami za pośrednictwem API zabezpieczeń iText. | ✓ Yes Szyfrowanie AES, hasła właściciela/użytkownika, szczegółowe uprawnienia (drukowanie, kopiowanie, adnotacje). |
| Podpisy cyfrowe | ✓ Yes Dedykowana dokumentacja podpisu cyfrowego i API podpisu ( PdfSigner). | ✓ YesPdfSignature ze wsparciem dla certyfikatów X509/PFX. |
| Zgodność z PDF/A i PDF/UA | ✓ Yes Dokumentacja obejmuje tworzenie PDF/A i wyjaśnia ograniczenia (konwersja z istniejących nie jest
automatyczna). | ✓ Yes Natywna archiwizacja PDF/A i zgodność z dostępnością PDF/UA do użytku w przedsiębiorstwie. |
| Platforma i wdrożenie | ||
| Obsługa wielu platform | ✓ Yes .NET Standard 2.0 / .NET Framework 4.6.1 — działa na .NET 6+ we wszystkich systemach operacyjnych. | ✓ Yes Windows, Linux, macOS, x64, x86, ARM. .NET 6–10, Core, Standard 2.0+, Framework 4.6.2+. |
| Serwer / Docker / Chmura | ~ Complex Podstawowa instalacja wymaga wielu pakietów (iText + adapter Bouncy Castle); dodatki (pdfHTML/pdfOCR)
dodają dalsze kroki zależności/zgodności. | ✓ Yes Docker, Azure, AWS, IIS. Oficjalne obrazy Docker i przewodniki wdrożeniowe. |
| Łatwość instalacji | ~ Complex Podstawowa instalacja wymaga wielu pakietów (adapter Bouncy Castle); HTML/OCR wymagają dodatkowych
dodatków, a czasami natywnych zależności. | ✓ Simple Pojedyncza komenda NuGet Install-Package IronPdf. Gotowe w kilka minut. |
| Licencjonowanie i wsparcie | ||
| Model licencjonowania | ~ Complex Podwójna licencja: AGPLv3 (obowiązki ujawnienia źródła dla użycia sieci) lub komercyjna. AGPL może
być ograniczeniem dla aplikacji proprietarnych. | ✓ Commercial Licencje wieczyste. 30-dniowy w pełni funkcjonalny bezpłatny okres próbny, bez znaków wodnych. |
| Wsparcie komercyjne i SLA | ✓ Yes Strona iText zawiera licencjonowanie komercyjne + umowy wsparcia jako część modelu licencjonowania. | ✓ 24/5 Support Dedykowane wsparcie inżynieryjne z gwarantowanym SLA — e-mail, czat na żywo, telefon. |
| Dokumentacja | ✓ Yes Dostępne przewodniki instalacji, artykuły bazy wiedzy i dokumentacja API (rdzeń + dodatki). | ✓ Extensive Pełna dokumentacja API, 100+ poradników, tutoriali, przykłady kodu, rozwiązywanie problemów, filmy. |
Dane pochodzą z oficjalnej dokumentacji iText, listy PDF Association i odwołań do pakietu NuGet.
iText jest potężny, ale niesie złożoność licencjonowania AGPL i obciążenie przy konfigurowaniu wielu pakietów.
IronPDF zapewnia pełne pokrycie przy prostszej konfiguracji — wypróbuj za darmo przez 30
dni.
PDF to przenośny format dokumentu stworzony przez Adobe Acrobat Reader, szeroko stosowany do udostępniania informacji cyfrowo przez Internet. Zachowuje formatowanie danych i oferuje funkcje takie jak ustawianie zabezpieczeń i ochrona hasłem. Jako programista C#, możesz napotkać sytuacje, w których integracja funkcjonalności PDF z aplikacją jest konieczna. Tworzenie jej od podstaw może być czasochłonne i żmudne. Z tego powodu, biorąc pod uwagę wydajność, efektywność i skuteczność aplikacji, kompromis między tworzeniem nowej usługi od zera a używaniem gotowej biblioteki jest istotny.
Istnieje kilka bibliotek PDF dostępnych dla C#. W tym artykułe przyjrzymy się dwóm z najbardziej popularnych bibliotek PDF do czytania dokumentów PDF w C#.
Oprogramowanie iText
iText, wcześniej znany jako iText Core, jest biblioteką PDF do programowania dokumentów PDF w .NET C# i Java. Jest dostępny jako licencja open source (AGPL) i może być licencjonowany dla aplikacji komercyjnych.
iText Core to wysokopoziomowe API, które zapewnia łatwe metody generowania i edytowania PDF-ów na wszystkie możliwe sposoby. Za pomocą iText Core można dzielić, łączyć, adnotować, wypełniać formularze, cyfrowo podpisywać i robić wiele więcej na plikach PDF. iText oferuje konwerter HTML na PDF.
IronPDF
Dowiedz się więcej o IronPDF jest to API .NET i .NET Framework C# i Java używane do generowania dokumentów PDF z HTML, CSS i JavaScript, zarówno z URL, plików HTML, jak i ciągów HTML. IronPDF pozwala manipulować istniejącymi plikami PDF takimi jak dzielenie, scałanie, dodawanie adnotacji, podpisy cyfrowe i wiele więcej.
IronPDF jest wzbogacone o 50+ funkcji do tworzenia, czytania i edytowania plików PDF. Priorytetuje prędkość, łatwość użycia i dokładność, kiedy trzeba dostarczyć profesjonalne pliki PDF o wysokiej jakości z użyciem Adobe Acrobat Reader. API jest dobrze udokumentowane, a wiele przykładowego kodu źródłowego można znaleźć na stronie przykładów kodu.
Utwórz aplikację konsolową
Będziemy używać IDE Visual Studio 2022 do tworzenia aplikacji na początek. Visual Studio to oficjalne IDE do rozwoju w C#, które musisz mieć zainstalowane. Możesz je pobrać z strony Microsoft Visual Studio jeśli jeszcze jej nie zainstalowałeś.
Następujące kroki utworzą nowy projekt o nazwie "DemoApp".
-
Otwórz Visual Studio i kliknij "Utwórz nowy projekt".

-
Wybierz "Aplikacja konsolowa" i kliknij "Dalej".

-
Ustaw nazwę projektu.

-
Wybierz wersję .NET. Wybierz stabilną wersję .NET 6.0.

Zainstaluj bibliotekę IronPDF
Gdy projekt zostanie utworzony, konieczne jest zainstalowanie biblioteki IronPDF w projekcie, aby móc ją używać. Postępuj zgodnie z tymi krokami, aby ją zainstalować.
-
Otwórz Menedżer pakietów NuGet, albo z Eksploratora rozwiązań, albo z Narzędzi.

-
Wyszukaj bibliotekę IronPDF i wybierz ją dla bieżącego projektu. Kliknij Zainstaluj.

Dodaj następującą przestrzeń nazw na początku pliku Program.cs:
using IronPdf;Imports IronPdfZainstaluj bibliotekę iText
Po utworzeniu projektu, biblioteka iText musi zostać zainstalowana w projekcie, aby można było z niej korzystać. Postępuj zgodnie z krokami, aby ją zainstalować.
-
Otwórz Menedżer pakietów NuGet, albo z Eksploratora rozwiązań, albo z Narzędzi.

-
Wyszukaj bibliotekę iText i wybierz ją dla bieżącego projektu. Kliknij zainstaluj.

Dodaj następujące przestrzenie nazw na początku pliku Program.cs:
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.PdfOtwieranie plików PDF
Będziemy używać następującego pliku PDF, aby wydobyć z niego tekst. Jest to dokument PDF o dwóch stronach.

Użycie biblioteki iText
Otwieranie pliku PDF za pomocą biblioteki iText to proces dwuetapowy. Najpierw tworzymy obiekt PdfReader i przekazujemy lokalizację pliku jako parametr. Następnie używamy klasy PdfDocument do stworzenia nowego dokumentu PDF. Kod wygląda następująco:
// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");
// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);' Initialize a reader instance by specifying the path of the PDF file
Dim pdfReader As New PdfReader("sample.pdf")
' Initialize a document instance using the PdfReader
Dim pdfDoc As New PdfDocument(pdfReader)Korzystanie z IronPDF
Otwieranie plików PDF za pomocą IronPDF jest proste. Użyj metody FromFile klasy PdfDocument, aby otworzyć pliki PDF z dowolnej lokalizacji pliku. Poniższy jednoliniowy kod otwiera plik PDF do odczytu danych:
// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");' Open a PDF file using IronPDF and create a PdfDocument instance
Dim pdf = PdfDocument.FromFile("sample.pdf")Czytaj dane z plików PDF
Użycie biblioteki iText
Czytanie danych PDF nie jest takie proste w bibliotece iText. Musimy ręcznie przeglądać każdą stronę dokumentu PDF, aby wydobyć tekst z każdej strony. Poniższy kod źródłowy pomaga w wyodrębnieniu tekstu z dokumentu PDF strona po stronie:
// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
// Define the text extraction strategy
ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
// Extract text from the current page using the strategy
string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
// Output the extracted text to the console
Console.WriteLine(pageContent);
}
// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();' Iterate through each page and extract text
For page As Integer = 1 To pdfDoc.GetNumberOfPages()
' Define the text extraction strategy
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
' Extract text from the current page using the strategy
Dim pageContent As String = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy)
' Output the extracted text to the console
Console.WriteLine(pageContent)
Next
' Close document and reader to release resources
pdfDoc.Close()
pdfReader.Close()W powyższym kodzie dzieje się wiele rzeczy. Najpierw deklarujemy Strategię Ekstrakcji Tekstu, a następnie używamy metody GetTextFromPage klasy PdfExtractor, aby odczytać tekst. Ta metoda akceptuje dwa parametry: pierwszy to strona dokumentu PDF, a drugi to strategia. Aby uzyskać stronę dokumentu PDF, użyj instancji PdfDocument, aby wywołać metodę GetPage i podać numer strony jako parametr. Wynik jest zwracany jako ciąg, który następnie jest wyświetlany na ekranie wyjściowym konsoli. Na koniec obiekty PDFReader i PdfDocument są zamykane. Zobacz także poniższy przykład kodu na temat wyciągania tekstu z PDF za pomocą iText.
Wynik

Korzystanie z IronPDF
Podobnie jak otwieranie pliku PDF był to jednoliniowy kod, podobnie czytanie tekstu z pliku PDF to również jednoliniowy proces. Klasa PDFDocument zapewnia metodę ExtractAllText do odczytu całej zawartości z PDF. Używa się Console.WriteLine do wyświetlenia tekstu na ekranie. Kod wygląda następująco:
// Extract all text from the PDF document
string text = pdf.ExtractAllText();
// Display the extracted text
Console.WriteLine(text);' Extract all text from the PDF document
Dim text As String = pdf.ExtractAllText()
' Display the extracted text
Console.WriteLine(text)Wynik

Wynik jest dokładny i bez żadnych błędów. Jednakże, aby użyć metody ExtractAllText, potrzebujesz licencji, ponieważ działa ona tylko w trybie produkcyjnym. Możesz uzyskać swój klucz licencji próbnej na 30 dni z strony licencji próbnej IronPDF.
Porównanie
Porównawczo, obie biblioteki produkują dokładne wyniki przy wyciąganiu tekstu z dokumentu PDF. Są porównywalne, jeśli chodzi o dokładność wyciągania tekstu. Jednakże, IronPDF jest bardziej wydajny pod względem czytelności kodu i ergonomii dla programisty.
IronPDF wymaga jedynie dwóch linii kodu, aby osiągnąć to samo co iText. Zapewnia wbudowane metody ekstrakcji tekstu bez potrzeby implementacji dodatkowej logiki. Kod iText jest nieco skomplikowany, a trzeba zamknąć dwa utworzone przypadki podczas otwierania dokumentu PDF. Natomiast IronPDF automatycznie czyści pamięć po wykonaniu zadania.
Podsumowanie
W tym artykułe spojrzeliśmy, jak czytać dokumenty PDF przy użyciu biblioteki iText w C#, a następnie porównaliśmy ją z IronPDF. Obie biblioteki dają dokładne wyniki i oferują wiele metod manipulacji PDF-ami do pracy. Możesz tworzyć, edytować i czytać dane z plików PDF przy użyciu obu z tych bibliotek.
iText jest open source i można go używać za darmo, ale z ograniczeniami. Można go licencjonować do użytku komercyjnego. IronPDF jest również darmowy do użycia i można go licencjonować do działalności komercyjnej z dostępną darmową 30-dniową wersją próbną.

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.
Powiązane artykuły


