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

PDFsharp vs iTextSharp (C# Porównanie bibliotek PDF)

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 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}");
    }
}
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}");
    }
}
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. 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();
    }
}
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 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;
}
// 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?

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"
}

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.

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

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie