Przejdź do treści stopki
PRZEWODNIKI MIGRACJI

Jak przeprowadzić migrację z PdfPig do IronPDF w języku C#

Migracja zPdfPigdo IronPDF rozszerza twoje możliwości PDF z biblioteki skoncentrowanej na odczycie (z wąską powierzchnią zapisu dla autoryzacji opartą na współrzędnych i podstawowego łączenia) na kompleksowe rozwiązanie PDF, które obsługuje tworzenie, manipulację, wyodrębnianie tekstu i funkcje bezpieczeństwa. Ten przewodnik dostarcza pełną, krok po kroku ścieżkę migracji, która zachowuje twoje istniejące przepływy pracy wyodrębnienia, a także dodaje konwersję HTML, manipulację dokumentem na wysokim poziomie, znakowanie wodne i autoryzowanie bezpieczeństwa, którychPdfPignie zapewnia.

Dlaczego warto przejść zPdfPigna IronPDF

Zrozumienie PdfPig

PdfPig (pakiet NuGet PdfPig, przestrzeń nazw UglyToad.PdfPig) to otwartoźródłowa biblioteka .NET do odczytu i ekstrakcji PDF, pierwotnie inspirowana i częściowo przeniesiona z projektu Apache PDFBox w języku Java. Pozwala deweloperom na uzyskanie dostępu do strukturalnej zawartości plików PDF z wysoką precyzją. ChociażPdfPigbłyszczy w wyodrębnianiu, jego zakres jest węższy niż komercyjnych bibliotek pełnego cyklu życia. Projekt pozostaje przed wersją 1.0 (obecna stabilna wersja to 0.1.14), a w jego pliku README odnotowano, że "dopóki wersja nie osiągnie 1.0.0, nowe wersje mniejszościowe będą zmieniać publiczne API bez ostrzeżenia".

PdfPig zapewnia niezawodne narzędzia do wyodrębniania tekstu (z pozycjami na poziomie litery i słowa), obrazów, danych formularzy tylko do odczytu, adnotacji i metadanych. Ujawnia również ograniczoną powierzchnię do pisania — PdfDocumentBuilder do tworzenia nowych dokumentów na niskim poziomie oraz PdfMerger (w UglyToad.PdfPig.Writer) do łączenia istniejących PDF-ów. To czyni go odpowiednim wyborem dla aplikacji skoncentrowanych głównie na analizie dokumentów, drążeniu danych i podstawowym łączeniu.

Ograniczenie skoncentrowane na odczycie

PdfPig jest skoncentrowany na odczycie; jego powierzchnia zapisu jest celowo wąska. Gdy twoja aplikacja musi się rozwinąć poza wyodrębnienie i podstawowe łączenie,PdfPignie może pomóc:

  1. Ograniczona generacja PDF: Nowe dokumenty wymagają ręcznego rozmieszczenia współrzędnych poprzez PdfPoint za pomocą PdfDocumentBuilder — brak wysokopoziomowego układu.

  2. Brak konwersji HTML do PDF:PdfPigto biblioteka do odczytu/analizy plików PDF, a nie biblioteka do generowania plików PDF. Do konwersji HTML na PDF trzeba by użyć innej biblioteki.

  3. Ograniczona manipulacja dokumentem: PdfMerger obejmuje łączenie, ale nie ma wysokopoziomowego API do podziału/obracania/edycji.

  4. Brak autoryzacji bezpieczeństwa: Może odczytywać zaszyfrowane dokumenty PDF (z hasłem), ale nie może dodawać haseł, szyfrowania ani podpisów cyfrowych.

  5. Brak znaków wodnych/pieczęci: Brak API na wysokim poziomie dla nakładek wizualnych na istniejących dokumentach.

  6. Brak wypełniania formularzy: Formularze są tylko do odczytu — wartości nie mogą być zmieniane ani dodawane.

PorównaniePdfPigi IronPDF

Funkcja PdfPig IronPDF
Licencja Open Source (Apache 2.0) Komercjalne
Pakiet NuGet PdfPig (v0.1.14, przed 1.0) IronPdf
Odczytywanie/wyodrębnianie plików PDF Doskonałe Doskonałe
Generowanie plików PDF Ograniczone (oparte na współrzędnych przez PdfDocumentBuilder) Kompleksowe
HTML do PDF Nieobsługiwane Obsługiwane
Wyodrębnianie tekstu Doskonałe (z ograniczeniami wyrazów) Doskonałe (tylko tekst)
Łączenie plików PDF Obsługiwane (PdfMerger) Obsługiwane (PdfDocument.Merge)
Podziel / Obróć / Edytuj Nieobsługiwane (na wysokim poziomie) Obsługiwane
Znaki wodne Nieobsługiwane Obsługiwane
Autoryzacja bezpieczeństwa/szyfrowania Nieobsługiwane Obsługiwane
Wsparcie i dokumentacja Wsparcie społeczności Dedykowane wsparcie
Indeksowanie stron bazujący na 1 bazujący na 0

IronPDF obsługuje pełen zestaw funkcji do tworzenia, odczytu, edycji i podpisywania plików PDF. Ta wszechstronność pozwala deweloperom zarządzać plikami PDF od początku do końca na nowoczesnym .NET, dostarczając pełne rozwiązanie cyklu życia PDF, które wykracza poza możliwości czytania PdfPig.


Zanim zaczniesz

Wymagania wstępne

  1. Środowisko .NET: .NET Framework 4.6.2+ lub .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Dostęp do NuGet: Możliwość instalowania pakietów NuGet
  3. Licencja IronPDF: Uzyskaj klucz licencyjny na stronie ironpdf.com

Zmiany w pakiecie NuGet

# Remove PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
# Remove PdfPig
dotnet remove package PdfPig

# Install IronPDF
dotnet add package IronPdf
SHELL

Konfiguracja licencji

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Zidentyfikuj zastosowanie PdfPig

# FindPdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
# FindPdfPigusage
grep -r "UglyToad\.PdfPig\|PdfDocument\.Open\|GetPages\(\)" --include="*.cs" .

# Find page index references (may need 1→0 conversion)
grep -r "GetPage(\|NumberOfPages" --include="*.cs" .
SHELL

Kompletna dokumentacija API

Zmiany w przestrzeni nazw

// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PdfPig
using UglyToad.PdfPig;
using UglyToad.PdfPig.Content;
using UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
' Before: PdfPig
Imports UglyToad.PdfPig
Imports UglyToad.PdfPig.Content
Imports UglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor

' After: IronPDF
Imports IronPdf
Imports IronPdf.Rendering
$vbLabelText   $csharpLabel

Mapowania ładowania dokumentów

PdfPig IronPDF
PdfDocument.Open(path) PdfDocument.FromFile(path)
PdfDocument.Open(bytes) PdfDocument.FromBinaryData(bytes)
PdfDocument.Open(stream) PdfDocument.FromStream(stream)
using (var doc = ...) var pdf = ...

Mapowanie dostępu do stron i właściwości

PdfPig IronPDF
document.NumberOfPages pdf.PageCount
document.GetPages() pdf.Pages
document.GetPage(1) pdf.Pages[0]

Mapowania ekstrakcji tekstu

PdfPig IronPDF
page.Text pdf.Pages[i].Text
page.GetWords() pdf.ExtractTextFromPage(i)
(manual loop) pdf.ExtractAllText()

Mapowania dostępu do metadanych

PdfPig IronPDF
document.Information.Title pdf.MetaData.Title
document.Information.Author pdf.MetaData.Author
document.Information.Subject pdf.MetaData.Subject
document.Information.Creator pdf.MetaData.Creator
document.Information.Producer pdf.MetaData.Producer

Nowe funkcje niedostępne w PdfPig

Funkcja IronPDF Opis
renderer.RenderHtmlAsPdf(html) Konwersja HTML do PDF
renderer.RenderUrlAsPdf(url) Konwersja adresów URL do formatu PDF
pdf.ApplyWatermark(html) Dodaj znaki wodne
pdf.SecuritySettings.UserPassword Ochrona hasłem
pdf.Sign(certificate) Podpisy cyfrowe

Uwaga: Łączenie PDF-ów jest dostępne w obu bibliotekach (PdfMerger w PdfPig, PdfDocument.Merge w IronPDF).


Przykłady migracji kodu

Przykład 1: Pobieranie tekstu z pliku PDF

Przed (PdfPig):

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;
using System.Text;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var text = new StringBuilder();
            foreach (var page in document.GetPages())
            {
                text.AppendLine(page.Text);
            }
            Console.WriteLine(text.ToString());
        }
    }
}
Imports UglyToad.PdfPig
Imports System
Imports System.Text

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim text = New StringBuilder()
            For Each page In document.GetPages()
                text.AppendLine(page.Text)
            Next
            Console.WriteLine(text.ToString())
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Po (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        string text = pdf.ExtractAllText();
        Console.WriteLine(text);
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim text As String = pdf.ExtractAllText()
        Console.WriteLine(text)
    End Sub
End Class
$vbLabelText   $csharpLabel

Zarówno PdfPig, jak i IronPDF zapewniają doskonałe możliwości ekstrakcji tekstu. Kluczowa różnica polega na wzorcu kodu.PdfPigwymaga instrukcji using z PdfDocument.Open(), ręcznej iteracji przez strony z GetPages(), oraz StringBuilder do akumulacji tekstu z każdego page.Text property.

IronPDF upraszcza to do jednego wywołania: PdfDocument.FromFile() ładuje dokument, a ExtractAllText() zwraca całą treść tekstową jednocześnie. Nie wymaga się instrukcji using, bez ręcznej iteracji, bez StringBuilder. Dodatkowe opcje można znaleźć w dokumentacji dotyczącej ekstrakcji tekstu.

Przykład 2: Konwersja HTML do PDF

Przed (PdfPig):

PdfPig nie obsługuje konwersji HTML do PDF.PdfPigto biblioteka do odczytu/analizy plików PDF, a nie biblioteka do generowania plików PDF. Do konwersji HTML na PDF trzeba by użyć innej biblioteki.

Po (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>");
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF from HTML</p>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Ten przykład podkreśla najbardziej znaczącą lukę w możliwościach.PdfPigwyraźnie stwierdza, że "nie obsługuje konwersji HTML do PDF" i "jest biblioteką do odczytu/analizy plików PDF, a nie biblioteką do generowania plików PDF". Jeśli chcesz tworzyć pliki PDF z HTML za pomocą PdfPig, musisz użyć zupełnie innej biblioteki.

IronPDF zapewnia natywne przekształcanie HTML do PDF poprzez ChromePdfRenderer. Metoda RenderHtmlAsPdf() akceptuje ciągi HTML i przekształca je w dokumenty PDF, używając wewnętrznie silnika Chromium do wiernego renderowania HTML, CSS i JavaScript. Wynikowy PdfDocument można zapisać za pomocą SaveAs() lub poddać dalszej manipulacji przed zapisaniem. Kompleksowe przykłady można znaleźć w dokumentacji dotyczącej konwersji HTML do PDF.

Przykład 3: Odczytywanie metadanych plików PDF

Przed (PdfPig):

// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
// NuGet: Install-Package PdfPig
using UglyToad.PdfPig;
using System;

class Program
{
    static void Main()
    {
        using (var document = PdfDocument.Open("input.pdf"))
        {
            var info = document.Information;
            Console.WriteLine($"Title: {info.Title}");
            Console.WriteLine($"Author: {info.Author}");
            Console.WriteLine($"Subject: {info.Subject}");
            Console.WriteLine($"Creator: {info.Creator}");
            Console.WriteLine($"Producer: {info.Producer}");
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}");
        }
    }
}
Imports UglyToad.PdfPig
Imports System

Class Program
    Shared Sub Main()
        Using document = PdfDocument.Open("input.pdf")
            Dim info = document.Information
            Console.WriteLine($"Title: {info.Title}")
            Console.WriteLine($"Author: {info.Author}")
            Console.WriteLine($"Subject: {info.Subject}")
            Console.WriteLine($"Creator: {info.Creator}")
            Console.WriteLine($"Producer: {info.Producer}")
            Console.WriteLine($"Number of Pages: {document.NumberOfPages}")
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Po (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");
        var info = pdf.MetaData;
        Console.WriteLine($"Title: {info.Title}");
        Console.WriteLine($"Author: {info.Author}");
        Console.WriteLine($"Subject: {info.Subject}");
        Console.WriteLine($"Creator: {info.Creator}");
        Console.WriteLine($"Producer: {info.Producer}");
        Console.WriteLine($"Number of Pages: {pdf.PageCount}");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")
        Dim info = pdf.MetaData
        Console.WriteLine($"Title: {info.Title}")
        Console.WriteLine($"Author: {info.Author}")
        Console.WriteLine($"Subject: {info.Subject}")
        Console.WriteLine($"Creator: {info.Creator}")
        Console.WriteLine($"Producer: {info.Producer}")
        Console.WriteLine($"Number of Pages: {pdf.PageCount}")
    End Sub
End Class
$vbLabelText   $csharpLabel

Obie biblioteki zapewniają dostęp do metadanych przy użyciu niemal identycznych schematów.PdfPiguzyskuje dostęp do metadanych poprzez document.Information i liczbę stron poprzez document.NumberOfPages.IronPDF używa pdf.MetaData do metadanych i pdf.PageCount do liczby stron.

Migracja jest prosta: zamień PdfDocument.Open() na PdfDocument.FromFile(), document.Information na pdf.MetaData oraz document.NumberOfPages na pdf.PageCount. Usuń opakowanie instrukcji using, ponieważIronPDF go nie wymaga.


Ważne uwagi dotyczące migracji

Zmiana indeksowania stron

PdfPig stosuje indeksowanie oparte na 1;IronPDF stosuje indeksowanie od 0:

// PdfPig:bazujący na 1indexing
var firstPage = document.GetPage(1);  // First page

// IronPDF:bazujący na 0indexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
// PdfPig:bazujący na 1indexing
var firstPage = document.GetPage(1);  // First page

// IronPDF:bazujący na 0indexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
' PdfPig:bazujący na 1indexing
Dim firstPage = document.GetPage(1)  ' First page

' IronPDF:bazujący na 0indexing
Dim firstPage = pdf.Pages(0)  ' First page

' Migration helper
Dim pdfPigIndex As Integer = 1
Dim ironPdfIndex As Integer = pdfPigIndex - 1
$vbLabelText   $csharpLabel

Nie jest wymagane użycie instrukcji

// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
// PdfPig: Requires using for disposal
using (var document = PdfDocument.Open("input.pdf"))
{
    // ...
}

// IronPDF: No using required (but can use for cleanup)
var pdf = PdfDocument.FromFile("input.pdf");
// ...
// pdf.Dispose(); // Optional
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
    ' ...
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
' ...
' pdf.Dispose() ' Optional
$vbLabelText   $csharpLabel

Zmiana w ładowaniu dokumentów

// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
// PdfPig: PdfDocument.Open()
using (var document = PdfDocument.Open("input.pdf"))

// IronPDF: PdfDocument.FromFile()
var pdf = PdfDocument.FromFile("input.pdf");
Imports PdfPig
Imports IronPDF

Using document = PdfDocument.Open("input.pdf")
End Using

Dim pdf = PdfDocument.FromFile("input.pdf")
$vbLabelText   $csharpLabel

Zmiana nazwy właściwości metadanych

// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
// PdfPig: document.Information
var info = document.Information;

// IronPDF: pdf.MetaData
var info = pdf.MetaData;
' PdfPig: document.Information
Dim info = document.Information

' IronPDF: pdf.MetaData
Dim info = pdf.MetaData
$vbLabelText   $csharpLabel

Zmiana liczby stron

// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
// PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}");

// IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}");
' PdfPig: document.NumberOfPages
Console.WriteLine($"Pages: {document.NumberOfPages}")

' IronPDF: pdf.PageCount
Console.WriteLine($"Pages: {pdf.PageCount}")
$vbLabelText   $csharpLabel

Nowe możliwości po migracji

Po migracji do IronPDF zyskujesz możliwości, którychPdfPignie jest w stanie zapewnić:

Łączenie plików PDF

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

Znaki wodne

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>")
$vbLabelText   $csharpLabel

Ochrona hasłem

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
$vbLabelText   $csharpLabel

Podpisy cyfrowe

var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "support@company.com",
    SigningReason = "Document Approval"
};
pdf.Sign(signature);
Dim signature As New PdfSignature("certificate.pfx", "password") With {
    .SigningContact = "support@company.com",
    .SigningReason = "Document Approval"
}
pdf.Sign(signature)
$vbLabelText   $csharpLabel

Podsumowanie porównania funkcji

Funkcja PdfPig IronPDF
Ekstrakcja tekstu
Dostęp do metadanych
Wyodrębnianie obrazów
Tworzenie plików PDF Ograniczone (oparte na współrzędnych)
HTML do PDF
URL do pliku PDF
Łączenie plików PDF ✓(PdfMerger)
Podział plików PDF
Znaki wodne
Wypełnianie formularzy
Ochrona hasłem
Podpisy cyfrowe
Dane dotyczące pozycji słów WORD

Lista kontrolna migracji

Przed migracją

  • Sporządź spis wszystkich miejsc użyciaPdfPigw kodzie źródłowym
  • Sprawdź, czy potrzebujesz danych o pozycji na poziomie słów (rozważ podejście hybrydowe)
  • Zwróć uwagę na wszystkie odniesienia do indeksu stron (trzeba zamienić liczbę 1 na 0)
  • Zaplanuj przechowywanie klucza licencyjnego IronPDF(zalecane są zmienne środowiskowe)
  • Najpierw przetestuj z Licencją Trial IronPDF

Zmiany w pakiecie

  • Usuń pakiet NuGet PdfPig: dotnet remove package PdfPig
  • Zainstaluj pakiet NuGet IronPdf: dotnet add package IronPdf

Zmiany w kodzie

  • Zaktualizuj importy przestrzeni nazw (using UglyToad.PdfPig;using IronPdf;)
  • Zamień PdfDocument.Open() na PdfDocument.FromFile()
  • Zamień document.Information na pdf.MetaData
  • Zamień document.NumberOfPages na pdf.PageCount
  • Zmień indeksy stron z systemu liczbowego zaczynającego się od 1 na system zaczynający się od 0
  • Usuń instrukcje using (opcjonalnie,IronPDF ich nie wymaga)
  • Dodaj klucz licencyjny IronPDF podczas uruchamiania aplikacji

Po migracji

  • Wynik wyodrębnienia tekstu testowego jest zgodny z oczekiwaniami
  • Przetestuj wszystkie scenariusze generowania plików PDF
  • W razie potrzeby dodaj nowe funkcje (scałanie, znaki wodne, zabezpieczenia)
  • Zainstaluj zależności systemu Linux, jeśli wdrażasz na systemie Linux

Zwróć uwagęApache PDFBox andPdfPigsa zarejestrowanymi znakami towarowymi odpowiednich wlascicieli. Ta strona nie jest powiazana, zatwierdzona ani sponsorowana przez Apache Software Foundation ani UglyToad. 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ę...

Czytaj więcej

Zespół wsparcia Iron

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