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:
-
Sınırlı PDF Oluşturma: Yeni belgeler,
PdfDocumentBuilderile manuelPdfPointkoordinat yerleştirmesi gerektirir — yüksek seviyeli düzenleme yoktur. -
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.
-
Sınırlı Belge Manipülasyonu:
PdfMergerbirleştirme işlemlerini kapsar, ancak yüksek seviyeli bölme/döndürme/düzenleme API'si yoktur. -
Güvenlik Yazımı Yok: Şifreli PDF'leri (şifre ile) okuyabilir, ama şifre, şifreleme veya dijital imzalar ekleyemez.
-
Filigranlar/Damgalar Yok: Mevcut belgelere görsel kaplamalar için yüksek düzey API yok.
- 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
- .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet Erişimi: NuGet paketlerini yükleyebilme
- 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
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"
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" .
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
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
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
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
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
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
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
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
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")
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
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}")
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")
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>")
Ş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"
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)
Ö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
PdfPigNuGet paketini kaldırın:dotnet remove package PdfPigIronPdfNuGet 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()'yiPdfDocument.FromFile()ile değiştirindocument.Information'yipdf.MetaDataile değiştirindocument.NumberOfPages'yipdf.PageCountile değiştirin- Sayfa dizinlerini 1 tabanlıdan 0 tabanlıya dönüştürün
usingbeyanları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

