Wyodrębnij tekst z PDF w C# używając iTextSharp VS IronPDF
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
Wyodrębnianie tekstu z dokumentów PDF jest powszechnym wymaganiem we współczesnych projektach oprogramowania—od przetwarzania faktur po wydobywanie treści dla wyszukiwarek internetowych. Programiści potrzebują niezawodnych bibliotek, które oferują nie tylko dokładne wyniki, ale także wygodne doświadczenie integracji w aplikacjach C# .NET. Niektórzy programiści korzystają z narzędzi OCR (optyczne rozpoznawanie znaków), aby wyodrębniać dane ze skanowanych dokumentów i obrazów, ale czasami wymagana jest solidna narzędzie do wyodrębniania tekstu.
Jednak przy szeregu bibliotek PDF na rynku, wybór właściwego narzędzia może być przytłaczający. Dwie biblioteki, które często pojawiają się w rozmowach, to iTextSharp i IronPDF. Obie mogą wyodrębniać tekst z PDF-ów, ale różnią się znacznie pod względem użyteczności, wsparcia, wydajności i cen. Niniejszy artykuł porównuje obie biblioteki, przyglądając się różnym przykładowym kodom, aby pokazać, jak radzą sobie z wyodrębnianiem tekstu, aby pomóc w podjęciu decyzji, która z nich najlepiej pasuje do twojego projektu.
Przegląd IronPDF i biblioteki iTextSharp
iTextSharp od dawna jest popularną, otwartoźródłową biblioteką PDF dla .NET, oferującą potężne narzędzia do generowania, manipulowania i wyodrębniania treści. Jako port C# opartego na Javie iText, zapewnia dogłębną kontrolę nad strukturami PDF—idealne dla zaawansowanych użytkowników. Jednak ta elastyczność wiąże się z dużą krzywą uczenia się i ograniczeniami licencyjnymi; komercyjne użycie często wymaga płatnej licencji, aby uniknąć zobowiązań AGPL.
Nadeszło IronPDF—nowoczesna, przyjazna dla programistów biblioteka PDF zbudowana dla .NET. Ułatwia wykonywanie typowych zadań, takich jak wyodrębnianie tekstu za pomocą intuicyjnego API, przejrzystej dokumentacji i responsywnego wsparcia. Dzięki temu narzędziu programiści mogą z łatwością wyodrębniać obrazy i tekst z dokumentów PDF, tworzyć nowe pliki PDF, wdrażać zabezpieczenia PDF i więcej.
W odróżnieniu od iTextSharp, IronPDF unika skomplikowanych struktur niskiego poziomu, co pozwala pracować szybciej i bardziej efektywnie. Niezależnie od tego, czy przetważasz jedną stronę, czy setki PDF-ów, utrzymuje wszystko w prostocie.
Jest również aktywnie utrzymywana, z regularnymi aktualizacjami i prostym modelem licencyjnym, w tym darmową wersją próbną i przystępnymi planami dla zespołów i indywidualnych programistów.
Instalacja i użycie IronPDF
IronPDF można zainstalować przez NuGet uruchamiając następujące polecenie w konsoli Menedżera pakietów NuGet:
Install-Package IronPdf
Alternatywnie, możesz zainstalować go za pomocą menedżera pakietów NuGet dla ekranu Solution. Aby to zrobić, przejdź do "Narzędzia > Menedżer pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązania". Następnie, wyszukaj IronPDF i kliknij 'Zainstaluj'.
Wyodrębnianie tekstu z plików PDF za pomocą IronPDF
Gdy jest zainstalowany, wyodrębnianie tekstu jest proste:
using IronPdf;
// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");
// Extract text from the PDF
string extractedText = pdf.ExtractAllText();
// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;
// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");
// Extract text from the PDF
string extractedText = pdf.ExtractAllText();
// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf
' Load the PDF document
Private pdf = PdfDocument.FromFile("invoice.pdf")
' Extract text from the PDF
Private extractedText As String = pdf.ExtractAllText()
' Output the extracted text
Console.WriteLine(extractedText)
Uwaga: Ta metoda czyta cały plik PDF i zwraca tekst w kolejności czytania, oszczędzając godziny na analizie, w porównaniu do tradycyjnych bibliotek.
Nie ma potrzeby obsługiwania kodowań, strumieni treści czy ręcznego przetwarzania. IronPDF radzi sobie z tym wszystkim wewnętrznie, zapewniając czysty i dokładny wynik przy minimalnej konfiguracji. Możesz następnie łatwo zapisać wyodrębniony tekst do nowego pliku tekstowego w celu dalszej manipulacji lub użycia.
Instalacja biblioteki PDF iTextSharp
Aby pobrać pakiet główny iTextSharp do generowania PDF-ów, użyj następującego polecenia:
Install-Package iTextSharp
Możesz także zainstalować iTextSharp za pomocą ekranu Menedżera Pakietów dla Solution. Aby to zrobić, najpierw musisz przejść do rozwijanego menu Narzędzia, a następnie znaleźć 'NuGet Package Manager > Zarządzaj pakietami NuGet dla rozwiązania'. Następnie wystarczy wyszukać iTextSharp i kliknąć "Install".
Wyodrębnianie tekstu z dokumentów PDF za pomocą iTextSharp
Oto przykład wyodrębniania tekstu z jednej strony PDF:
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
// Define the path to your PDF
string path = "sample.pdf";
// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
// Use a simple text extraction strategy
var strategy = new SimpleTextExtractionStrategy();
// Extract text from the first page
string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);
// Output the extracted text
Console.WriteLine(pageText);
}
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
// Define the path to your PDF
string path = "sample.pdf";
// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
// Use a simple text extraction strategy
var strategy = new SimpleTextExtractionStrategy();
// Extract text from the first page
string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);
// Output the extracted text
Console.WriteLine(pageText);
}
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
' Define the path to your PDF
Private path As String = "sample.pdf"
' Open the PDF reader and document
Using reader As New PdfReader(path)
Using pdf As New PdfDocument(reader)
' Use a simple text extraction strategy
Dim strategy = New SimpleTextExtractionStrategy()
' Extract text from the first page
Dim pageText As String = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy)
' Output the extracted text
Console.WriteLine(pageText)
End Using
End Using
Ten przykład demonstruje możliwości iTextSharp, ale zauważ verbosowość i dodatkowe obiekty wymagane do wykonania prostego zadania.
Szczegółowe porównanie
Teraz, gdy omówiliśmy instalację i podstawowe użycie, spójrzmy na bardziej szczegółowe porównanie, jak te dwie biblioteki radzą sobie z wyodrębnianiem tekstu, wyodrębniając tekst z wielostronicowego dokumentu PDF.
Zaawansowany przykład: Wyodrębnianie tekstu z zakresu stron za pomocą IronPDF
IronPDF obsługuje szczegółową kontrolę nad wyborem stron i świadomość układu przy wyodrębnianiu tekstu.
using IronPdf;
// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");
// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };
// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);
// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
using IronPdf;
// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");
// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };
// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);
// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
Imports Microsoft.VisualBasic
Imports IronPdf
' Load the PDF document
Private pdf = PdfDocument.FromFile("longPdf.pdf")
' Define the page numbers to extract text from
Private pages() As Integer = { 2, 3, 4 }
' Extract text from the specified pages
Private text = pdf.ExtractTextFromPages(pages)
' Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:" & vbLf & text)
Zaawansowany przykład: Wyodrębnianie tekstu z zakresu stron używając iTextSharp
W iTextSharp musisz ręcznie określić zakres stron i wyodrębniać tekst używając PdfTextExtractor:
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();
// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
textBuilder.AppendLine(pageText);
}
// Output the extracted text
Console.WriteLine(textBuilder.ToString());
// Close the PDF reader
reader.Close();
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();
// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
textBuilder.AppendLine(pageText);
}
// Output the extracted text
Console.WriteLine(textBuilder.ToString());
// Close the PDF reader
reader.Close();
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text
' Load the PDF document
Private reader As New PdfReader("longPdf.pdf")
Private textBuilder As New StringBuilder()
' Extract text from pages 2–4
For i As Integer = 2 To 4
Dim pageText As String = PdfTextExtractor.GetTextFromPage(reader, i, New LocationTextExtractionStrategy())
textBuilder.AppendLine(pageText)
Next i
' Output the extracted text
Console.WriteLine(textBuilder.ToString())
' Close the PDF reader
reader.Close()
Podsumowanie porównania kodu
Zarówno IronPDF, jak i iTextSharp są zdolne do zaawansowanego wyodrębniania tekstu z PDF, ale ich podejścia znacznie różnią się pod względem złożoności i przejrzystości:
-
IronPDF utrzymuje wszystko czystym i dostępnym. Jego metody wysokopoziomowe, takie jak PdfDocument.ExtractAllText(), umożliwiają wyodrębnianie strukturalnej zawartości przy minimalnym nakładzie pracy. Kod jest prosty, co ułatwia wdrożenie nawet dla programistów nowych w przetwarzaniu PDF.
- iTextSharp, z drugiej strony, wymaga głębszego zrozumienia struktury PDF. Wyodrębnianie tekstu wymaga ustawienia niestandardowych słuchaczy renderowania, ręcznego zarządzania stronami i interpretowania danych układu linia po linii. Chociaż potężne, jest bardziej rozbudowane i mniej intuicyjne, co czyni IronPDF szybszym i łatwiejszym w utrzymaniu rozwiązaniem dla większości projektów .NET.
Ale nasze porównanie tutaj się nie kończy. Następnie przyjrzyjmy się, jak te dwie biblioteki porównują się pod innymi względami.
Szczegółowe porównanie: IronPDF vs iTextSharp
Podczas oceniania bibliotek do wyodrębniania tekstu PDF dla .NET, programiści często rozważają równowagę między prostotą, wydajnością i długoterminowym wsparciem. Rozłóżmy, jak IronPDF i iTextSharp porównują się w warunkach rzeczywistego używania, zwłaszcza w kwestii wyodrębniania tekstu z PDF-ów w C#.
1. Łatwość użycia
IronPDF: Czyste i nowoczesne API
IronPDF kładzie nacisk na doświadczenie dewelopera. Instalacja jest łatwa przez NuGet, a składnia intuicyjna:
using IronPdf;
// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");
// Extract all text from every page
string extractedText = pdf.ExtractAllText();
// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;
// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");
// Extract all text from every page
string extractedText = pdf.ExtractAllText();
// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf
' Load the PDF
Private pdf = PdfDocument.FromFile("sample.pdf")
' Extract all text from every page
Private extractedText As String = pdf.ExtractAllText()
' Output the extracted text
Console.WriteLine(extractedText)
IronPDF abstrahuje złożoność za pomocą prostych wywołań metod jak ExtractAllText(), wymagając bez szablonów lub logiki analizy.
iTextSharp: Bardziej rozbudowane i niższego poziomu
iTextSharp wymaga ręcznego przetwarzania każdej strony i więcej wysiłku, aby wyodrębnić zwykły tekst.
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}
// Output the extracted text
Console.WriteLine(text.ToString());
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;
// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}
// Output the extracted text
Console.WriteLine(text.ToString());
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text
' Load the PDF
Private reader = New PdfReader("sample.pdf")
Private text As New StringBuilder()
For i As Integer = 1 To reader.NumberOfPages
text.Append(PdfTextExtractor.GetTextFromPage(reader, i))
Next i
' Output the extracted text
Console.WriteLine(text.ToString())
Programiści muszą ręcznie pętlić przez strony, co wprowadza więcej kodu i potencjalne błędy w przypadku wystąpienia skrajnych przypadków.
2. Wydajność i niezawodność
-
IronPDF jest zbudowany na nowoczesnym silniku renderowania (Chromium), co czyni go dobrze przystosowanym do nowoczesnych PDF-ów, nawet tych z osadzonymi czcionkami, obrotowym tekstem i wieloma układami. Wyodrębnianie tekstu jest świadome układu i naturalnie zachowuje odstępy.
- iTextSharp, chociaż potężny, może mieć trudności z złożonym formatowaniem. Pliki PDF z mieszaną orientacją lub niestandardowymi kodowaniami mogą dać zniekształcony lub niewłaściwie uporządkowany tekst.
3. Koszt i licencjonowanie
| Funkcja | IronPDF | iTextSharp |
|---|---|---|
| Typ licencji | Komercyjna (Dostępna wersja próbna) | AGPL (Za darmo) / Komercyjna (Płatna) |
| Przejrzystość cen | Publiczne ceny i licencje wieczyste | Skomplikowane poziomy i zasady redystrybucji |
| Wsparcie | Dedykowany zespół wsparcia | Wsparcie społecznościowe (chyba że licencjonowane) |
| Użycie w aplikacji zamkniętoźródłowej | Tak (z licencją) | Nie z AGPL |
4. Wsparcie dewelopera i dokumentacja
-
IronPDF: Posiada nowoczesną dokumentację, wideo-tutoriale i szybkie wsparcie oparte na zgłoszeniach.
- iTextSharp: Dobra dokumentacja, ale ograniczone bezpłatne wsparcie, chyba że jesteś płatnym klientem.
5. Podsumowanie między bibliotekami
| Kryteria | IronPDF | iTextSharp |
|---|---|---|
| Prostota | Wysoka – Jednolinijkowe wyodrębnianie tekstu | Średnia – Ręczne iterowanie po stronach |
| Wydajność | Szybkie i nowoczesne przetwarzanie | Wolniejsze przy złożonych lub skanowanych PDF-ach |
| Przyjazne dla komercyjnych | Tak, brak ograniczeń AGPL | AGPL ogranicza użycie w aplikacjach zamkniętoźródłowych |
| Wsparcie i dokumentacja | Dedykowane, responsywne | Zależne od społeczności |
| Wsparcie dla .NET Core | Full | Pełne |
Wnioski
Jeśli chodzi o wyodrębnianie tekstu z PDF-ów w C#, zarówno IronPDF, jak i iTextSharp to zdolne narzędzia—ale obsługują różne typy programistów. Jeśli szukasz nowoczesnego, łatwego do zintegrowania rozwiązania z doskonałym wsparciem, aktywnie utrzymywanymi funkcjami i bezproblemowym zachowaniem układu, IronPDF wyraźnie się wyróżnia. Skraca czas programowania, oferuje intuicyjne API i dobrze sprawdza się w szerokim zakresie aplikacji na platformie .NET, od aplikacji webowych po systemy korporacyjne.
Z drugiej strony, iTextSharp pozostaje silną opcją dla programistów już zaimplementowanych w jego ekosystemie lub tych, którzy potrzebują szczegółowej kontroli nad strategiami wyodrębniania tekstu. Jednak jego trudniejsza krzywa nauki i brak komercyjnego wsparcia mogą spowalniać projekty, które muszą szybko skalować lub utrzymywać czyste bazy kodu.
Dla deweloperów .NET, którzy cenią sobie szybkość, jasność i niezawodne wyniki, IronPDF zapewnia przyszłościowe rozwiązanie. Niezależnie od tego, czy budujesz narzędzia do automatyzacji dokumentów, wyszukiwarki, czy wewnętrzne tablice kontrolne, solidne funkcje i wydajność IronPDF pomogą dostarczyć szybciej i sprytniej.
Wypróbuj IronPDF już dziś, pobierając bezpłatną wersję próbną i sam doświadcz różnicy. Dzięki darmowej wersji próbnej i przyjaznemu dla deweloperów API możesz rozpocząć w ciągu kilku minut.
Często Zadawane Pytania
Jak wyodrębnić tekst z pliku PDF w języku C# przy użyciu nowoczesnej biblioteki?
Możesz użyć IronPDF do wyodrębniania tekstu z plików PDF, korzystając z metod takich jak PdfDocument.ExtractAllText(), co upraszcza proces i zapewnia dokładne wyniki nawet w przypadku złożonych układów dokumentów.
Jakie są kluczowe różnice między IronPDF a iTextSharp w zakresie wyodrębniania tekstu?
IronPDF oferuje bardziej intuicyjny interfejs API i większą wydajność w porównaniu z iTextSharp. Został zaprojektowany do wydajnego obsługiwania złożonych układów i zapewnia nowoczesny silnik renderujący, który upraszcza wyodrębnianie tekstu, podczas gdy iTextSharp wymaga więcej ręcznego kodowania i zrozumienia struktur plików PDF.
W jaki sposób IronPDF radzi sobie z wyodrębnianiem tekstu ze skanowanych dokumentów?
IronPDF obsługuje wyodrębnianie tekstu ze standardowych plików PDF. W przypadku dokumentów zeskanowanych można zintegrować narzędzia OCR, takie jak IronOCR, w celu wyodrębniania tekstu z obrazów zawartych w plikach PDF.
Jakie są zalety licencyjne korzystania z IronPDF w projektach komercyjnych?
IronPDF oferuje przejrzysty model licencji komercyjnych bez ograniczeń AGPL, dzięki czemu nadaje się do aplikacji typu closed-source. Oferuje przystępne cenowo plany zarówno dla indywidualnych programistów, jak i zespołów.
Czy IronPDF nadaje się do wyodrębniania tekstu z plików PDF o złożonym układzie?
Tak, IronPDF doskonale nadaje się do wyodrębniania tekstu z plików PDF o złożonym układzie dzięki funkcji wyodrębniania tekstu z uwzględnieniem układu, która zapewnia dokładne zachowanie formatowania i odstępów.
Jak mogę zintegrować bibliotekę do przetwarzania plików PDF z moim projektem w języku C#?
Możesz zintegrować IronPDF ze swoim projektem C#, instalując go za pośrednictwem NuGet. Uruchom polecenie Install-Package IronPdf w konsoli NuGet Package Manager Console, aby dodać go do swojego projektu.
Jakie wsparcie i zasoby są dostępne dla programistów korzystających z IronPDF?
IronPDF zapewnia kompleksowe wsparcie poprzez nowoczesną dokumentację, samouczki wideo oraz szybką pomoc techniczną opartą na zgłoszeniach, co czyni go przyjaznym dla programistów narzędziem do integracji z projektami .NET.
Czy IronPDF może wyodrębnić tekst z określonych stron w pliku PDF?
Tak, IronPDF umożliwia wyodrębnianie tekstu z określonych stron przy użyciu metod takich jak PdfDocument.ExtractTextFromPages(), zapewniając szczegółową kontrolę nad procesami wyodrębniania tekstu.
Dlaczego IronPDF jest polecany programistom, którzy dopiero zaczynają przygodę z ekstrakcją tekstu z plików PDF?
IronPDF jest polecany nowym programistom ze względu na łatwe w użyciu API, prosty proces integracji oraz szczegółowe zasoby pomocy technicznej, dzięki czemu jest dostępny nawet dla osób niezaznajomionych z przetwarzaniem plików PDF.
Jakie korzyści w zakresie wydajności oferuje IronPDF w porównaniu z innymi bibliotekami?
IronPDF oferuje zwiększoną wydajność dzięki nowoczesnemu silnikowi renderowania, który optymalizuje prędkość wyodrębniania tekstu i efektywnie obsługuje złożone układy plików PDF, dzięki czemu działa szybciej niż wiele innych bibliotek.



