
Jak usunąć stronę w dokumentach PDF
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 iText 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 iText
iText przez długi czas był popularną open-source'ową biblioteką PDF dla .NET, oferującą potężne narzędzia do generowania, manipulowania i wydobywania 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 przeciwieństwie do iText, IronPDF unika skomplikowanych struktur niskiego poziomu, pozwalając na szybsze i bardziej efektywne działanie. 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:
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);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 iText
Aby pobrać pakiet podstawowy iText do generowania PDF, użyj następującego polecenia:
Możesz także zainstalować iText przez ekran menedżera pakietów dla rozwiązań. 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 po prostu wyszukaj iText i kliknij "Zainstaluj".
Wyodrębnij tekst z dokumentów PDF za pomocą iText
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);
}Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
' Define the path to your PDF
Dim 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 UsingTen przykład demonstruje możliwości iText, ale zwróć uwagę na rozwlekłość i dodatkowe obiekty potrzebne 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);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 za pomocą iText
W iText musisz ręcznie określić zakres stron i wyodrębnić tekst przy użyciu 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();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 iText 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 klarownoś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.
-
iText, 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 iText
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. Rozbijmy, jak IronPDF i iText porównują się w rzeczywistym wykorzystaniu, zwłaszcza w zakresie wyodrębniania tekstu z PDF 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);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.
iText: Bardziej rozwlekły i niższego poziomu
iText wymaga ręcznego parsowania 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());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.
-
iText, mimo że jest potężny, może borykać się 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 | iText |
|---|---|---|
| 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.
-
iText: Dobra dokumentacja, ale ograniczone darmowe wsparcie, chyba że jesteś płatnym klientem.
5. Podsumowanie między bibliotekami
| Kryteria | IronPDF | iText |
|---|---|---|
| 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 C#, zarówno IronPDF, jak i iText są zdolnymi narzędziami - ale obsługują różne typy deweloperó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, iText pozostaje mocną opcją dla deweloperów już wdrożonych w jego ekosystemie lub tych, którzy wymagają drobiazgowego zarządzania 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.

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


