IRONSOFTWAREHOME
NARZĘDZIA PDF

Zmniejsz PDF (Darmowe narzędzia online)

Curtis Chau
Curtis Chau
Updated: 19 lipca 2026

IronPDF zapewnia nowoczesne API w języku C# do odczytywania PDF z prostszą składnią niż iText. Obsługuje ekstrakcję tekstu, parsowanie obrazów i dostęp do danych formularzy, podczas gdy iText wymaga licencji AGPL do komercyjnego użytku, co sprawia, że IronPDF jest preferowanym wyborem dla aplikacji korporacyjnych.

PDF (Portable Document Format) to powszechnie stosowany format plików służący do spójnego i bezpiecznego udostępniania dokumentów. Odczytywanie i przetwarzanie takich plików w języku C# jest powszechne w różnych aplikacjach, takich jak systemy zarządzania dokumentami i narzędzia do raportowania. Ten artykuł porównuje dwie popularne biblioteki do odczytywania plików PDF w C#: IronPDF i iText (najnowszą bibliotekę .NET iText).

IronPDF to kompletna biblioteka C# firmy Iron Software, oferująca szeroki zakres funkcji do pracy z plikami PDF. Umożliwia płynne tworzenie, edytowanie i manipulowanie dokumentami PDF. IronPDF jest znany ze swojej prostoty i łatwości użytkowania, co czyni go doskonałym wyborem do szybkiej integracji funkcji PDF z aplikacjami. Biblioteka wykorzystuje silnik renderujący Chrome, co zapewnia dokładne renderowanie i obsługę nowoczesnych standardów internetowych.

iText jest kolejną popularną biblioteką do pracy z plikami PDF w C#. Jest szeroko stosowany w branży od wielu lat. Jednak ważne jest, aby zrozumieć, że licencjonowanie iText zmieniło się na AGPL (Affero General Public License), co ma istotne implikacje dla aplikacji komercyjnych. Zgodnie z AGPL, jeśli twoja aplikacja używa iText, musisz udostępnić cały kod źródłowy swojej aplikacji użytkownikom - wymaganie to często nie jest kompatybilne z rozwojem oprogramowania własnościowego. Ta zmiana w licencjonowaniu skłoniła wiele przedsiębiorstw do poszukiwania alternatyw, takich jak IronPDF, który oferuje licencje przyjazne dla biznesu.

Jak odczytać pliki PDF za pomocą IronPDF i iText w C#?

  1. Stwórz nowy projekt C# w Visual Studio, aby porównać IronPDF i iText pod kątem odczytywania plików PDF.
  2. Zainstaluj biblioteki IronPDF i iText w swoim projekcie za pomocą menedżera pakietów NuGet.
  3. Odczytuj pliki PDF za pomocą intuicyjnego API IronPDF do wyodrębniania tekstu.
  4. Odczytaj pliki PDF za pomocą bardziej złożonego modelu obiektowego iText.

Jakie są wymagania wstępne dotyczące tego samouczka?

  1. Visual Studio: Upewnij się, że masz zainstalowane Visual Studio lub inne środowisko programistyczne C#. IronPDF obsługuje systemy Windows, Linux i macOS.
  2. Menedżer pakietów NuGet: Upewnij się, że możesz używać NuGet do zarządzania pakietami w swoim projekcie w celu zaawansowanej instalacji.

Jak skonfigurować środowisko programistyczne?

Zacznij od skonfigurowania aplikacji konsolowej w języku C#. Otwórz program Visual Studio i wybierz opcję Utwórz nowy projekt. Wybierz typ aplikacji konsolowej. W przypadku aplikacji produkcyjnych warto zapoznać się z naszymi przewodnikami dotyczącymi wdrażania w Azure lub AWS, jeśli planujesz przetwarzanie plików PDF w chmurze.

Podaj nazwę projektu zgodnie z poniższym przykładem. Podążając za nazewnictwem .NET, użyj PascalCase dla nazwy projektu, aby zachować spójność ze standardami korporacyjnymi.

Wybierz wersję .NET wymaganą dla swojego projektu. IronPDF obsługuje platformy .NET Framework, .NET Core i .NET 5+, zapewniając elastyczność zarówno dla starszych, jak i nowoczesnych aplikacji.

Po wykonaniu tej czynności Visual Studio wygeneruje nowy projekt o strukturze niezbędnej do porównania możliwości odczytu plików PDF.

Jak zainstalować biblioteki IronPDF i iText?

Którego menedżera pakietów powinienem użyć dla iText?

Możesz zainstalować iText z menedżera pakietów NuGet dla iText. Najnowsza wersja jest dostępna jako pakiet iText. Należy zwrócić uwagę na stosunkowo mniejszą liczbę pobrań w porównaniu z IronPDF, co odzwierciedla obawy wielu programistów związane z licencją AGPL.

Lub z menedżera pakietów Visual Studio, jak pokazano poniżej. Wyszukaj iText w menedżerze pakietów i kliknij Zainstaluj. Należy pamiętać, że przyjęcie licencji AGPL ma konsekwencje prawne dla dystrybucji projektu.

Jak zainstalować IronPDF za pomocą NuGet?

Możesz zainstalować IronPDF z menedżera pakietów NuGet dla IronPDF, jak pokazano poniżej. Zwróć uwagę na znacznie wyższą liczbę pobrań (8,3 mln), co wskazuje na szersze zastosowanie w aplikacjach komercyjnych.

Lub z menedżera pakietów Visual Studio, jak pokazano poniżej. Wyszukaj IronPDF: C# PDF Library w menedżerze pakietów i kliknij Zainstaluj. Proces instalacji jest prosty i obejmuje wszystkie niezbędne zależności do renderowania w przeglądarce Chrome.

Jak odczytać tekst z plików PDF za pomocą IronPDF?

Dodaj poniższy kod do pliku Program.cs i dostarcz przykładowy dokument PDF z określoną treścią. IronPDF doskonale radzi sobie z wyodrębnianiem tekstu ze złożonych plików PDF, w tym z plików zawierających wiele kolumn, osadzone czcionki i różne kodowania.

using IronPdf;

// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");

// Read PDF using IronPDF
ReadUsingIronPdf.Read();

public class ReadUsing IronPDF
{
    public static void Read()
    {
        // Specify the path to the PDF document
        string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";

        // Create a PDF Reader instance to read the PDF
        // IronPDF automatically handles various PDF versions and encryption
        var pdfReader = PdfDocument.FromFile(filename);

        // Extract all text from the PDF - maintains formatting and structure
        var allText = pdfReader.ExtractAllText();
        Console.WriteLine("------------------Text From PDF-----------------");
        Console.WriteLine(allText);
        Console.WriteLine("------------------Text From PDF-----------------");

        // Extract all images from the PDF - supports various image formats
        var allImages = pdfReader.ExtractAllImages();
        Console.WriteLine("------------------Image Count From PDF-----------------");
        Console.WriteLine($"Total Images = {allImages.Count()}");
        
        // Save extracted images if needed (production example)
        for (int i = 0; i < allImages.Count(); i++)
        {
            // allImages[i].SaveAs($"image_{i}.png");
        }
        Console.WriteLine("------------------Image Count From PDF-----------------");

        // Iterate through each page to extract text from them
        Console.WriteLine("------------------One Page Text From PDF-----------------");
        var pageCount = pdfReader.PageCount;
        for (int page = 0; page < pageCount; page++)
        {
            string text = pdfReader.ExtractTextFromPage(page);
            Console.WriteLine($"Page {page + 1} content:");
            Console.WriteLine(text);
        }

        // Additional IronPDF capabilities for production use
        // Extract form data
        var form = pdfReader.Form;
        if (form != null)
        {
            foreach (var field in form.Fields)
            {
                Console.WriteLine($"Form Field: {field.Name} = {field.Value}");
            }
        }

        // Access metadata
        Console.WriteLine($"Author: {pdfReader.MetaData.Author}");
        Console.WriteLine($"Title: {pdfReader.MetaData.Title}");
        Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}");
    }
}
C#

Czym zajmuje się kod IronPDF?

  1. Stwórz dokument Word: Na początku stwórz dokument Word z pożądaną treścią tekstową i zapisz go jako dokument PDF o nazwie Example.pdf.
  2. Instancja PDFReader: Kod tworzy obiekt PdfDocument, używając ścieżki pliku PDF, aby wyciągnąć tekst i obrazy.
  3. Ekstrakcja tekstu i obrazów: Metoda ExtractAllText jest używana do przechwytywania całego tekstu w dokumencie, podczas gdy ExtractAllImages wyciąga obrazy.
  4. Ekstrakcja tekstu na stronę: Tekst z każdej strony jest wyciągany za pomocą metody ExtractTextFromPage.

Jakich wyników mogę oczekiwać od IronPDF?

Jak odczytać tekst z PDF za pomocą iText?

Aby porównać ekstrakcję tekstu z iText, dodaj poniższy kod do tego samego pliku Program.cs. Dla uproszczenia, nie rozdzieliliśmy klas na różne pliki. Zwróć uwagę, jak iText wymaga bardziej złożonego kodu do podstawowych operacji.

using IronPdf;
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Xobject;

// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");

// Call method to read PDF using iTextSharp library
ReadUsingITextSharp.Read();

public class ReadUsingITextSharp
{
    public static void Read()
    {
        // Specify the path to the PDF document
        string pdfFile = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";

        // Create a PDF Reader instance - more verbose than IronPDF
        PdfReader pdfReader = new PdfReader(pdfFile);

        // Initialize a new PDF Document - additional step required
        iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader);

        // Extract text from all pages - more complex than IronPDF
        Console.WriteLine("------------------Text From PDF (iTextSharp)-----------------");
        for (int page = 1; page <= pdfDocument.GetNumberOfPages(); page++)
        {
            // Use a text extraction strategy to extract plain text from the PDF
            LocationTextExtractionStrategy strategy = new LocationTextExtractionStrategy();
            string pdfText = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page), strategy);
            Console.WriteLine($"Page {page} content:");
            Console.WriteLine(pdfText);
        }

        // Extract images - significantly more complex than IronPDF
        Console.WriteLine("------------------Images From PDF (iTextSharp)-----------------");
        int imageCount = 0;
        for (int pageNum = 1; pageNum <= pdfDocument.GetNumberOfPages(); pageNum++)
        {
            var page = pdfDocument.GetPage(pageNum);
            var resources = page.GetResources();
            var xobjects = resources.GetResource(PdfName.XObject);
            
            if (xobjects != null)
            {
                foreach (var key in xobjects.KeySet())
                {
                    var xobject = xobjects.GetAsStream(key);
                    if (xobject != null)
                    {
                        var pdfObject = xobjects.Get(key);
                        if (pdfObject.IsStream())
                        {
                            var stream = (PdfStream)pdfObject;
                            var subtype = stream.GetAsName(PdfName.Subtype);
                            if (PdfName.Image.Equals(subtype))
                            {
                                imageCount++;
                                // Extracting the actual image requires additional complex code
                            }
                        }
                    }
                }
            }
        }
        Console.WriteLine($"Total Images Found: {imageCount}");

        // Close the document - manual resource management required
        pdfDocument.Close();
        pdfReader.Close();
    }
}

Jakie wyjście produkuje iText?

Jakie są ograniczenia iText?

  1. Krzywa uczenia się: Bardziej stroma krzywa uczenia się, zwłaszcza dla początkujących.

  2. Licencjonowanie: Licencja AGPL wymaga udostępnienia aplikacji na zasadach open source.

  3. Złożone API: Proste operacje wymagają wielu obiektów i ręcznego zarządzania.

  4. Ograniczona obsługa HTML: Minimalne renderowanie HTML w porównaniu z IronPDF.

  5. Ręczne zarządzanie zasobami: Należy wyraźnie zamykać zasoby.

  6. Krzywa uczenia się: iText ma większą krzywą uczenia się, zwłaszcza dla początkujących.

  7. Licencjonowanie: Model licencjonowania iText może nie być odpowiedni dla wszystkich projektów, zwłaszcza tych z ograniczeniami budżetowymi.

  8. Łatwość użytkowania: Proste API zgodne z konwencjami .NET.

  9. Renderowanie dokumentów: Renderowanie z dokładnością do piksela zachowuje oryginalne formatowanie.

  10. Licencjonowanie przyjazne dla użytkowników komercyjnych: Przejrzyste licencjonowanie bez ograniczeń AGPL.

  11. Kompletne funkcje: Wbudowana obsługa formularzy, podpisów i adnotacji.

  12. Lepsza wydajność: Ulepszono przetwarzanie wielowątkowe i przetwarzanie dużych dokumentów.

  13. Łatwość użytkowania: IronPDF znany jest z prostego interfejsu API, który ułatwia programistom rozpoczęcie pracy.

  14. Renderowanie dokumentów: IronPDF zapewnia dokładne renderowanie dokumentów PDF, gwarantując, że wyodrębniony tekst jest wierny oryginałowi.

Dla zespołów obecnie korzystających z iText, migracja do IronPDF jest prosta. Rozważmy następujący przykład kodu:

// Migration Example: Text Extraction
// iTextSharp (old way)
PdfReader reader = new PdfReader(filename);
PdfDocument doc = new PdfDocument(reader);
string text = PdfTextExtractor.GetTextFromPage(doc.GetPage(1));
doc.Close();

// IronPDF (new way)
var pdf = PdfDocument.FromFile(filename);
string text = pdf.ExtractTextFromPage(0); // 0-based indexing

// Migration Example: Form Field Reading
// iTextSharp (complex)
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDocument, false);
IDictionary<string, PdfFormField> fields = form.GetFormFields();
foreach (var field in fields)
{
    string value = field.Value.GetValueAsString();
}

// IronPDF (simple)
var form = pdf.Form;
foreach (var field in form.Fields)
{
    string value = field.Value;
}

Jak wypada dokładność ekstrakcji tekstu?

IronPDF doskonale radzi sobie z obsługą złożonych plików PDF, które stanowią wyzwanie dla innych bibliotek:

  • Dokumenty zeskanowane: Lepszy przepływ tekstu podczas przetwarzania plików PDF przetworzonych za pomocą OCR
  • Układ wielokolumnowy: doskonała obsługa układów w stylu gazetowym
  • Pliki zaszyfrowane: automatyczna obsługa plików PDF chronionych hasłem
  • Obsługa Unicode: Pełna obsługa UTF-8 i języków międzynarodowych
  • Czcionki osadzone: Dokładne wyodrębnianie niezależnie od osadzenia czcionek

Jak skonfigurować licencjonowanie dla IronPDF?

Wstaw swój klucz licencyjny IronPDF do pliku appsettings.json. Dla wdrożeń produkcyjnych, warto rozważyć użycie zmiennych środowiskowych do bezpiecznego zarządzania kluczem.

{
  "IronPdf.LicenseKey": "your license key",
  "IronPdf.LoggingMode": "Custom",
  "IronPdf.ChromeGpuMode": "Disabled"
}
JSON

Aby otrzymać Licencję Trial, prosimy o podanie adresu e-mail na naszej stronie licencyjnej. IronPDF oferuje elastyczne opcje licencyjne, w tym licencje na rozwój, testowanie i produkcję.## Którą bibliotekę wybrać do mojego projektu?

Wybór między IronPDF a iText zależy od specyficznych potrzeb twojego projektu. Dla aplikacji korporacyjnych wymagających licencjonowania komercyjnego, IronPDF jest preferowanym wyborem ze względu na restrykcyjną licencję AGPL iText. Jeśli potrzebujesz prostej i łatwej w użyciu biblioteki do typowych operacji na plikach PDF, IronPDF oferuje doskonałe środowisko programistyczne dzięki intuicyjnemu interfejsowi API.

Przy podejmowaniu decyzji należy wziąć pod uwagę następujące czynniki:

IronPDF został zaprojektowany tak, aby płynnie zintegrować generowanie plików PDF z aplikacją, skutecznie obsługując konwersję sformatowanych dokumentów do formatu PDF. Takie podejście zapewnia wyraźne korzyści, gdy trzeba przekonwertować formularze internetowe, lokalne strony HTML i inne treści internetowe do formatu PDF przy użyciu .NET. Twoja aplikacja umożliwia wygodne pobieranie, wysyłanie e-mailem lub przechowywanie dokumentów w chmurze. Niezależnie od tego, czy potrzebujesz tworzyć faktury, oferty, raporty, umowy czy inne profesjonalne dokumenty, funkcje generowania plików PDF w IronPDF spełnią Twoje oczekiwania. Biblioteka obsługuje również zaawansowane funkcje, takie jak kompresja plików PDF, linearyzacja w celu szybkiego przeglądania stron internetowych oraz zgodność z formatem PDF/A do długoterminowej archiwizacji. Ulepsz swoją aplikację dzięki intuicyjnym i wydajnym funkcjom generowania plików PDF w IronPDF.

Zwróć uwagę: iText i iText są zarejestrowanymi znakami towarowymi swojego odpowiedniego właściciela. Ta strona nie jest powiązana ani popierana przez, ani sponsorowana przez iText lub iText. 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.
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