Altbilgi içeriğine atla
GEçIş KıLAVUZLARı

PdfPig'ten IronPDF'e C# ile Nasıl Geçilir

PdfPig'den IronPDF'ye geçmek, okuma odaklı bir kütüphaneden (koordinata dayalı yazım için dar bir yazıcı yüzeyi ve temel birleştirme ile) PDF oluşturma, manipulasyon, metin çıkarma ve güvenlik özelliklerini işleyen kapsamlı bir PDF çözümüne yeteneklerinizi genişletir. Bu kılavuz, mevcut çıkarım iş akışlarınızı korurken, PdfPig'in sağlamadığı HTML dönüşümü, yüksek düzeyde belge manipulationu, filigran ekleme ve güvenlik yazımı eklemeyi planlı, adım adım bir geçiş yolu sağlar.

PdfPig'den IronPDF'ye Neden Geçiş Yapılmalı

PdfPig'i Anlamak

PdfPig (NuGet paketi PdfPig, namespace UglyToad.PdfPig) açık kaynaklı bir .NET PDF okuma ve çıkarım kütüphanesidir, başlangıçta Apache PDFBox Java projesinden esinlenilmiş ve kısmen taşınmıştır. Geliştiricilere, PDF'lerin yapısal içeriğine yüksek hassasiyetle erişim sağlar.PdfPigçıkarımda parlarken, kapsamı, tam yaşam döngüsü ticari kütüphanelerden daha dardır. Proje hala 1.0 öncesindedir (mevcut kararlı sürüm 0.1.14), ve README'sinde belirtiliyor ki "1.0.0 altındaki sürümler halka açık API'yi uyarı yapmadan değiştirebilir."

PdfPig, metin (harf ve kelime düzeyinde konumlarla), görüntüler, salt okunur form verileri, açıklamalar ve metadata çıkarmak için güvenilir araçlar sağlar. Ayrıca sınırlı bir yazar yüzeyi sunar — yeni belge yazımı için düşük seviyeli PdfDocumentBuilder ve mevcut PDF'lerin birleştirilmesi için PdfMerger (içinde UglyToad.PdfPig.Writer) kullanılır. Bu, esasen belge analizi, veri madenciliği ve temel birleştirme odaklı uygulamalar için uygun bir seçenek haline getirmektedir.

Okuma Odaklı Kısıtlama

PdfPig, okuma önceliklidir; yazıcı yüzeyi bilinçli olarak dar tutulmuştur. Uygulamanız çıkarımın ve ana birleştirmenin ötesine geçmek istediğinde,PdfPigyardımcı olamaz:

  1. Sınırlı PDF Oluşturma: Yeni belgeler, PdfDocumentBuilder ile manuel PdfPoint koordinat yerleştirmesi gerektirir — yüksek seviyeli düzenleme yoktur.

  2. HTML-to-PDF Yok:PdfPigbir PDF okuma/analiz kütüphanesidir, bir PDF oluşturma kütüphanesi değil. HTML'den PDF'ye dönüşümü için farklı bir kütüphane kullanmanız gerekecektir.

  3. Sınırlı Belge Manipülasyonu: PdfMerger birleştirme işlemlerini kapsar, ancak yüksek seviyeli bölme/döndürme/düzenleme API'si yoktur.

  4. Güvenlik Yazımı Yok: Şifreli PDF'leri (şifre ile) okuyabilir, ama şifre, şifreleme veya dijital imzalar ekleyemez.

  5. Filigranlar/Damgalar Yok: Mevcut belgelere görsel kaplamalar için yüksek düzey API yok.

  6. Form Doldurma Yok: Formlar salt okunur — değerler değiştirilemez veya eklenemez.

PdfPigvs IronPDF Karşılaştırması

Özellik PdfPig IronPDF
Lisans Açık Kaynak (Apache 2.0) Ticari
NuGet paketi PdfPig (v0.1.14, 1.0 öncesi) IronPdf
PDF Okuma/Çıkarma Mükemmel Mükemmel
PDF Oluşturma Sınırlı (PdfDocumentBuilder aracılığıyla koordinat tabanlı) Kapsamlı
HTML'den PDF'ye Desteklenmiyor Desteklenen
Metin Çıkarımı Mükemmel (kelime sınırlama kutuları ile) Mükemmel (sadece metin)
PDF Birleştirme Destekleniyor (PdfMerger) Destekleniyor (PdfDocument.Merge)
Böl/Döndür/Düzenle Desteklenmiyor (üst düzey) Desteklenen
Filigranlar Desteklenmiyor Desteklenen
Güvenlik/Şifreleme yazımı Desteklenmiyor Desteklenen
Destek ve Belgeler Topluluk Desteği Adanmış Destek
Sayfa Endeksleme 1 tabanlı 0 tabanlı

IronPDF, PDF'leri oluşturma, okuma, düzenleme ve imzalama için eksiksiz bir özellik setini destekler. Bu çok yönlülük, PdfPig'in okuma yeteneklerinin ötesine geçerek, modern .NET üzerinde baştan sona PDF dosyalarını yönetmek için tam bir PDF yaşam döngüsü çözümü sağlar.


Başlamadan Önce

Ön Koşullar

  1. .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet Erişimi: NuGet paketlerini yükleyebilme
  3. IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin

NuGet Paket Değişiklikleri

# 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

Lisans Yapılandırması

// 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

PdfPigKullanımını Belirleyin

# 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

Tam API Referansı

Ad Alanı Değişiklikleri

// 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

Belge Yükleme Eşlemeleri

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 = ...

Sayfa Erişimi ve Özellikler Eşlemeleri

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

Metin Çıkarma Eşleşmeleri

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

Metadata Erişim Eşlemeleri

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

PdfPig'de Bulunmayan Yeni Özellikler

IronPDF Özelliği Açıklama
renderer.RenderHtmlAsPdf(html) HTML'den PDF'ye dönüşüm
renderer.RenderUrlAsPdf(url) URL-to-PDF dönüşümü
pdf.ApplyWatermark(html) Filigran ekleme
pdf.SecuritySettings.UserPassword Parola koruması
pdf.Sign(certificate) Dijital imzalar

Not: PDF birleştirme her iki kütüphanede de mevcuttur (PdfMerger PdfPig'de, PdfDocument.Merge IronPDF'de).


Kod Göç Örnekleri

Örnek 1: PDF'ten Metin Çıkarma

Öncesi (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

Sonrası (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

HemPdfPighem de IronPDF mükemmel metin çıkarma yetenekleri sağlar. Ana fark, kod desenindedir. PdfPig, using beyanı ile PdfDocument.Open() gerektirir, GetPages() ile sayfalarda manuel yineleme yapar ve her page.Text özelliğinden metin toplamak için StringBuilder kullanır.

IronPDF, bunu tek bir çağrıya basitleştiriyor: PdfDocument.FromFile() belgeyi yükler, ve ExtractAllText() tüm metin içeriğini tek seferde döndürür. Herhangi bir using beyanı gerektirmez, manuel yineleme yok, StringBuilder gerekmez. Diğer seçenekler için metin çıkarma dökümantasyonuna buradan bakın.

Örnek 2: HTML'den PDF'e Dönüştürme

Öncesi (PdfPig):

PdfPig, HTML'den PDF'ye dönüşümünü desteklemez.PdfPigbir PDF okuma/parsing kütüphanesi, PDF oluşturma kütüphanesi değil. HTML'den PDF'ye dönüşümü için farklı bir kütüphane kullanmanız gerekecektir.

Sonrası (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

Bu örnek, en önemli yetenek farkını vurgular.PdfPigaçıkça "HTML to PDF dönüşümünü desteklemediğini" ve "PDF okuma/parsing kütüphanesi, PDF oluşturma kütüphanesi değil." belirtir. HTML'den PDF oluşturmanız gerekiyorsa, tamamen farklı bir kütüphane kullanmanız gerekir.

IronPDF, doğal HTML'den PDF'e dönüştürmeyi ChromePdfRenderer aracılığıyla sunar. RenderHtmlAsPdf() metodu, HTML dizgilerini kabul eder ve bunları, HTML, CSS ve JavaScript'in doğru bir biçimde oluşturulması için dahili olarak bir Chromium motoru kullanarak PDF dökümanlarına dönüştürür. Sonuçta ortaya çıkan PdfDocument, SaveAs() ile kaydedilebilir veya kaydetmeden önce daha fazla manipüle edilebilir. Kapsamlı örnekler için HTML'den PDF'e dönüşüm belgelerine bakın.

Örnek 3: PDF Metadata Okuma

Öncesi (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

Sonrası (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

Her iki kütüphane de neredeyse aynı desenlerle metadata erişimi sağlar. PdfPig, meta veriye document.Information üzerinden ve sayfa sayısına document.NumberOfPages üzerinden erişir. IronPDF, meta veri için pdf.MetaData ve sayfa sayısı için pdf.PageCount kullanır.

Geçiş oldukça basittir: PdfDocument.Open()'yi PdfDocument.FromFile() ile, document.Information'yi pdf.MetaData ile ve document.NumberOfPages'yi pdf.PageCount ile değiştirin.IronPDF ihtiyaç duymadığı için using beyanı sarmalayıcısını kaldırın.


Kritik Taşıma Notları

Sayfa Dizinleme Değişikliği

PdfPig, 1 tabanlı indeksleme kullanır; IronPDF, 0 tabanlı kullanır:

// PdfPig:1 tabanlıindexing
var firstPage = document.GetPage(1);  // First page

// IronPDF:0 tabanlıindexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
// PdfPig:1 tabanlıindexing
var firstPage = document.GetPage(1);  // First page

// IronPDF:0 tabanlıindexing
var firstPage = pdf.Pages[0];  // First page

// Migration helper
int pdfPigIndex = 1;
int ironPdfIndex = pdfPigIndex - 1;
' PdfPig:1 tabanlıindexing
Dim firstPage = document.GetPage(1)  ' First page

' IronPDF:0 tabanlıindexing
Dim firstPage = pdf.Pages(0)  ' First page

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

Using İfadesine Gerek Yok

// 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

Doküman Yükleme Değişikliği

// 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

Metadata Özellik Adı Değişikliği

// 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

Sayfa Sayısı Özellik Değişikliği

// 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

Geçiş Sonrası Yeni Özellikler

IronPDF'e taşıdıktan sonra, PdfPig'in sağlayamadığı yetenekler elde edersiniz:

PDF Birleştirme

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

Filigranlar

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

Şifre Koruma

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

Dijital İmzalar

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

Özellik Karşılaştırması Özeti

Özellik PdfPig IronPDF
Metin Çıkarma
Metadata Erişimi
Resim Çıkarma
PDF Oluşturma Sınırlı (koordinata dayalı)
HTML'den PDF'ye
URL'yi PDF'ye çevir
PDF'leri birleştir ✓ (PdfMerger)
PDF Ayırma
Filigranlar
Form Doldurma
Şifre Koruması
Dijital İmzalar
Kelime Konumu Verileri

Geçiş Kontrol Listesi

Öncesi-Geçiş

  • Kod tabanındaki tümPdfPigkullanımlarını dökün
  • Kelime seviyesinde konum verilerine ihtiyaç olup olmadığını belirleyin (hibrit yaklaşımı düşünün)
  • Tüm sayfa indeks referanslarını not alın (1 tabanlıdan 0 tabanlıya çevrilmesi gerekiyor) -IronPDF lisans anahtarı saklama planı yapın (ortam değişkenleri önerilir)
  • İlk önce IronPDF deneme lisansı ile test edin

Paket Değişiklikleri

  • PdfPig NuGet paketini kaldırın: dotnet remove package PdfPig
  • IronPdf NuGet paketini yükleyin: dotnet add package IronPdf

Kod Değişiklikleri

  • Namespace içe aktarımlarını güncelleyin (using UglyToad.PdfPig;using IronPdf;)
  • PdfDocument.Open()'yi PdfDocument.FromFile() ile değiştirin
  • document.Information'yi pdf.MetaData ile değiştirin
  • document.NumberOfPages'yi pdf.PageCount ile değiştirin
  • Sayfa dizinlerini 1 tabanlıdan 0 tabanlıya dönüştürün
  • using beyanlarını kaldırın (isteğe bağlı,IronPDF ihtiyaç duymaz)
  • Uygulama başlangıcında IronPDF lisans anahtarını ekleyin

Geçiş Sonrası

  • Metin çıkarma çıktısının beklentilere uyup uymadığını test edin
  • Tüm PDF oluşturma senaryolarını test edin
  • Yeni yetenekler ekleyin (birleştirme, filigranlar, güvenlik) gerektiğinde
  • Linux'a dağıtım yapıyorsanız Linux bağımlılıklarını yükleyin

Lütfen dikkate alınApache PDFBox ve PdfPig, kendi sahiplerinin kayıtlı ticari markalarıdır. Bu site, Apache Yazılım Vakfı veya UglyToad ile ilişkilendirilmemiştir, onaylanmamıştır ve sponsor olunmamıştır. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara