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

IronPDF vs iTextSharp: Czytanie plików PDF 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

IronPDF zapewnia nowoczesny interfejs API w języku C# do odczytu plików PDF o prostszej składni niż iTextSharp. Obsługuje on wyodrębnianie tekstu, analizę obrazów oraz dostęp do danych formularzy, podczas gdy iTextSharp wymaga licencji AGPL do użytku komercyjnego, 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. W tym artykule porównano dwie popularne biblioteki do odczytu plików PDF w języku C#: IronPDF i iTextSharp (najnowsza biblioteka .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.

iTextSharp to kolejna popularna biblioteka do pracy z plikami PDF w języku C#. Jest szeroko stosowany w branży od wielu lat. Należy jednak pamiętać, że licencja iTextSharp została zmieniona na AGPL (Affero General Public License), co ma istotne konsekwencje dla zastosowań komercyjnych. Zgodnie z licencją AGPL, jeśli Twoja aplikacja korzysta z iTextSharp, musisz udostępnić użytkownikom cały kod źródłowy aplikacji — jest to wymóg często niezgodny z tworzeniem 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 odczytywać pliki PDF przy użyciu IronPDF i iTextSharp w języku C#?

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

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. Zgodnie z konwencjami nazewniczymi .NET, użyj PascalCase jako nazwy projektu, aby zachować spójność ze standardami Enterprise.

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 iTextSharp?

Którego menedżera pakietów powinienem używać dla iTextSharp?

Możesz zainstalować iTextSharp 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 ReadUsingIronPDF
{
    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}");
    }
}
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 ReadUsingIronPDF
{
    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}");
    }
}
Imports 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 ReadUsingIronPDF
    Public Shared Sub Read()
        ' Specify the path to the PDF document
        Dim filename As String = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf"

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

        ' Extract all text from the PDF - maintains formatting and structure
        Dim 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
        Dim allImages = pdfReader.ExtractAllImages()
        Console.WriteLine("------------------Image Count From PDF-----------------")
        Console.WriteLine($"Total Images = {allImages.Count()}")

        ' Save extracted images if needed (production example)
        For i As Integer = 0 To allImages.Count() - 1
            ' allImages(i).SaveAs($"image_{i}.png")
        Next
        Console.WriteLine("------------------Image Count From PDF-----------------")

        ' Iterate through each page to extract text from them
        Console.WriteLine("------------------One Page Text From PDF-----------------")
        Dim pageCount = pdfReader.PageCount
        For page As Integer = 0 To pageCount - 1
            Dim text As String = pdfReader.ExtractTextFromPage(page)
            Console.WriteLine($"Page {page + 1} content:")
            Console.WriteLine(text)
        Next

        ' Additional IronPDF capabilities for production use
        ' Extract form data
        Dim form = pdfReader.Form
        If form IsNot Nothing Then
            For Each field In form.Fields
                Console.WriteLine($"Form Field: {field.Name} = {field.Value}")
            Next
        End If

        ' Access metadata
        Console.WriteLine($"Author: {pdfReader.MetaData.Author}")
        Console.WriteLine($"Title: {pdfReader.MetaData.Title}")
        Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}")
    End Sub
End Class
$vbLabelText   $csharpLabel

Czym zajmuje się kod IronPDF?

  1. Utwórz dokument WORD: Na początku utwórz dokument WORD z żądaną treścią tekstową i zapisz go jako dokument PDF o nazwie Example.pdf.
  2. Instancja PDFReader: Kod tworzy obiekt PdfDocument przy użyciu ścieżki do pliku PDF w celu wyodrębnienia tekstu i obrazów.
  3. Wyodrębnianie tekstu i obrazów: Metoda ExtractAllText służy do przechwytywania całego tekstu w dokumencie, natomiast ExtractAllImages wyodrębnia obrazy.
  4. Wyodrębnianie tekstu z każdej strony: Tekst z każdej strony jest wyodrębniany przy użyciu metody ExtractTextFromPage.

Jakich wyników mogę oczekiwać od IronPDF?

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

Aby porównać wyodrębnianie tekstu z iTextSharp, dodaj poniższy kod do tego samego pliku Program.cs. Dla uproszczenia nie rozdzieliliśmy klas na różne pliki. Zwróć uwagę, że iTextSharp 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();
    }
}
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();
    }
}
Imports IronPdf
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser.Listener
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Xobject

' Begin the comparison of IronPDF and iTextSharp for reading PDFs in VB.NET
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in VB.NET")

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

Public Class ReadUsingITextSharp
    Public Shared Sub Read()
        ' Specify the path to the PDF document
        Dim pdfFile As String = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf"

        ' Create a PDF Reader instance - more verbose than IronPDF
        Dim pdfReader As New PdfReader(pdfFile)

        ' Initialize a new PDF Document - additional step required
        Dim pdfDocument As New iText.Kernel.Pdf.PdfDocument(pdfReader)

        ' Extract text from all pages - more complex than IronPDF
        Console.WriteLine("------------------Text From PDF (iTextSharp)-----------------")
        For page As Integer = 1 To pdfDocument.GetNumberOfPages()
            ' Use a text extraction strategy to extract plain text from the PDF
            Dim strategy As New LocationTextExtractionStrategy()
            Dim pdfText As String = PdfTextExtractor.GetTextFromPage(pdfDocument.GetPage(page), strategy)
            Console.WriteLine($"Page {page} content:")
            Console.WriteLine(pdfText)
        Next

        ' Extract images - significantly more complex than IronPDF
        Console.WriteLine("------------------Images From PDF (iTextSharp)-----------------")
        Dim imageCount As Integer = 0
        For pageNum As Integer = 1 To pdfDocument.GetNumberOfPages()
            Dim page = pdfDocument.GetPage(pageNum)
            Dim resources = page.GetResources()
            Dim xobjects = resources.GetResource(PdfName.XObject)

            If xobjects IsNot Nothing Then
                For Each key In xobjects.KeySet()
                    Dim xobject = xobjects.GetAsStream(key)
                    If xobject IsNot Nothing Then
                        Dim pdfObject = xobjects.Get(key)
                        If pdfObject.IsStream() Then
                            Dim stream As PdfStream = CType(pdfObject, PdfStream)
                            Dim subtype = stream.GetAsName(PdfName.Subtype)
                            If PdfName.Image.Equals(subtype) Then
                                imageCount += 1
                                ' Extracting the actual image requires additional complex code
                            End If
                        End If
                    End If
                Next
            End If
        Next
        Console.WriteLine($"Total Images Found: {imageCount}")

        ' Close the document - manual resource management required
        pdfDocument.Close()
        pdfReader.Close()
    End Sub
End Class
$vbLabelText   $csharpLabel

Jakie wyniki generuje iTextSharp?

Jakie są ograniczenia iTextSharp?

  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ę: iTextSharp charakteryzuje się bardziej stromą krzywą uczenia się, zwłaszcza dla początkujących.
  7. Licencjonowanie: model licencjonowania iTextSharp 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 korzystających obecnie z iTextSharp 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;
}
// 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;
}
' Migration Example: Text Extraction
' iTextSharp (old way)
Dim reader As New PdfReader(filename)
Dim doc As New PdfDocument(reader)
Dim text As String = PdfTextExtractor.GetTextFromPage(doc.GetPage(1))
doc.Close()

' IronPDF (new way)
Dim pdf = PdfDocument.FromFile(filename)
Dim text As String = pdf.ExtractTextFromPage(0) ' 0-based indexing

' Migration Example: Form Field Reading
' iTextSharp (complex)
Dim form As PdfAcroForm = PdfAcroForm.GetAcroForm(pdfDocument, False)
Dim fields As IDictionary(Of String, PdfFormField) = form.GetFormFields()
For Each field In fields
    Dim value As String = field.Value.GetValueAsString()
Next

' IronPDF (simple)
Dim form = pdf.Form
For Each field In form.Fields
    Dim value As String = field.Value
Next
$vbLabelText   $csharpLabel

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?

Wprowadź swój klucz licencyjny IronPDF do pliku appsettings.json. W przypadku wdrożeń produkcyjnych rozważ użycie zmiennych środowiskowych w celu bezpiecznego Zarządzania kluczami licencyjnymi.

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

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 iTextSharp zależy od konkretnych potrzeb Twojego projektu. W przypadku aplikacji korporacyjnych wymagających licencji komercyjnej preferowanym wyborem jest IronPDF ze względu na restrykcyjną licencję AGPL iTextSharp. 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 iTextSharp są zastrzeżonymi znakami towarowymi ich odpowiednich właścicieli. Ta strona nie jest powiązana z iText ani iTextSharp, nie jest przez nie 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 odczytać pliki PDF w języku C#?

Pliki PDF można odczytywać za pomocą biblioteki IronPDF, tworząc instancję PdfDocument i używając metod takich jak ExtractAllText oraz ExtractAllImages do wyodrębniania treści z pliku PDF.

Co należy wziąć pod uwagę przy wyborze biblioteki PDF dla języka C#?

Wybierając między bibliotekami takimi jak IronPDF i iTextSharp do obsługi plików PDF w języku C#, należy wziąć pod uwagę takie czynniki, jak łatwość użytkowania, licencjonowanie, krzywa uczenia się oraz konkretne wymagania projektowe.

Jak zainstalować bibliotekę PDF w moim projekcie C#?

Możesz zainstalować IronPDF za pomocą menedżera pakietów NuGet w Visual Studio, wyszukując „IronPDF: C# PDF Library” i klikając przycisk „Zainstaluj”.

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

IronPDF oferuje łatwość obsługi, proste API i dokładne renderowanie dokumentów, co czyni go idealnym rozwiązaniem dla programistów, którzy muszą szybko zintegrować funkcjonalność PDF ze swoimi aplikacjami.

Czy istnieje różnica w stopniu złożoności korzystania z IronPDF i iTextSharp?

Tak, IronPDF jest znany ze swojej prostoty, podczas gdy iTextSharp oferuje większą elastyczność i rozszerzalność, co może wiązać się z trudniejszym opanowaniem.

Czy IronPDF może konwertować treści HTML do formatu PDF?

Tak, IronPDF może płynnie konwertować treści HTML, takie jak formularze internetowe i strony, na dokumenty PDF, ułatwiając zadania takie jak pobieranie i wysyłanie plików PDF pocztą elektroniczną.

Jakie są ograniczenia korzystania z iTextSharp do zadań związanych z plikami PDF?

iTextSharp może wymagać dłuższego okresu nauki, a jego model licencjonowania może nie pasować do wszystkich budżetów projektowych, zwłaszcza jeśli szukasz prostego rozwiązania.

W jaki sposób IronPDF zwiększa funkcjonalność aplikacji?

IronPDF umożliwia integrację funkcji generowania i edycji plików PDF z aplikacjami, co pozwala na konwersję treści internetowych do formatu PDF oraz obsługę profesjonalnych dokumentów, takich jak faktury i raporty.

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