IronPDF vs iTextSharp: C'de PDF Dosyalarını Okuma
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
IronPDF, iTextSharp'tan daha basit bir söz dizimi ile PDF'leri okumak için modern bir C# API sağlar. Metin çıkarma, görüntü ayrıştırma ve form verilerine erişim desteği sunarken, iTextSharp ticari kullanım için AGPL lisansı gerektirir ve bu da IronPDF'i kurumsal uygulamalar için tercih edilen bir seçim haline getirir.
PDF (Taşınabilir Belge Formatı), belgeleri tutarlı ve güvenli bir şekilde paylaşmak için yaygın olarak kullanılan bir dosya formatıdır. Bu tür dosyaları C# dilinde okumak ve üzerinde işlem yapmak, belge yönetim sistemleri ve raporlama araçları gibi çeşitli uygulamalarda yaygındır. Bu makale, C# dilinde PDF dosyalarını okumak için iki popüler kütüphaneyi karşılaştırır: IronPDF ve iTextSharp (en son .NET kütüphanesi iText).
IronPDF, PDF dosyalarıyla çalışmak için geniş özellikler sunan Iron Software'ın bir tam C# kütüphanesidir. PDF belgeleri oluşturmanıza, düzenlemenize ve sorunsuz bir şekilde manipüle etmenize olanak tanır. IronPDF, basitliği ve kullanım kolaylığı ile bilinir, uygulamalarınıza hızlı bir şekilde PDF işlevselliği entegre etmek için mükemmel bir seçimdir. Kütüphane, doğru işleme ve modern web standartları desteği sağlayan bir Chrome işleme motoru kullanır.
iTextSharp, C# dilinde PDF dosyalarıyla çalışmak için başka bir popüler kütüphanedir. Uzun yıllardır endüstride yaygın olarak kullanılmaktadır. Bununla birlikte, iTextSharp'ın lisanslamasının ticari uygulamalar için önemli sonuçları olan AGPL'ye (Affero Genel Kamu Lisansı) değiştiğini anlamak önemlidir. AGPL altında, uygulamanız iTextSharp kullanıyorsa, tüm uygulamanızın kaynak kodunu kullanıcılara sunmanız gerekir; bu, genellikle tescilli yazılım geliştirme ile uyumsuz bir gerekliliktir. Bu lisanslama değişikliği, birçok kurumu, ticari dostu lisanslama sunan IronPDF gibi alternatifler aramaya yönlendirmiştir.
IronPDF ve iTextSharp Kullanarak C# Dilinde PDF'leri Nasıl Okurum?
- Visual Studio'da IronPDF ve iTextSharp kullanarak PDF dosyalarını okumak için bir yeni C# projesi oluşturun.
- Projenize IronPDF ve iTextSharp kütüphanelerini NuGet Paket Yöneticisi üzerinden yükleyin.
- Metin çıkarma için IronPDF'in sezgisel API'sini kullanarak PDF dosyalarını okuyun.
- Daha karmaşık bir nesne modeline sahip iTextSharp kullanarak PDF dosyalarını okuyun.
Bu Eğitimin Ön Koşulları Nelerdir?
- Visual Studio: Visual Studio veya başka bir C# geliştirme ortamı yüklü olduğundan emin olun. IronPDF, Windows, Linux ve macOS ortamlarını destekler.
- NuGet Paket Yöneticisi: Gelişmiş yükleme için projenizde paketleri yönetmek için NuGet kullanabildiğinizden emin olun.
Geliştirme Ortamını Nasıl Kurarım?
Bir C# Konsol Uygulaması kurarak başlayın. Visual Studio'yu açın ve Yeni bir proje oluştur'u seçin. Konsol Uygulama türünü seçin. Üretim uygulamaları için, eğer bulut tabanlı PDF işleme planlıyorsanız, Azure dağıtımı veya AWS dağıtımı konusundaki kılavuzlarımızı incelemeyi düşünün.
Aşağıda gösterildiği gibi proje adınızı belirtin. .NET adlandırma kurallarını takip ederek, kurumsal standartlarla tutarlılığı sağlamak için proje adınızda PascalCase kullanın.
Projeniz için gerekli .NET sürümünü seçin. IronPDF, .NET Framework, .NET Core ve .NET 5+ ile uyumluluğa sahiptir, bu da hem eskiden kalma hem de modern uygulamalar için esneklik sağlar.
Bunu yaptıktan sonra, Visual Studio, PDF okuma yeteneklerini karşılaştırmak için gerekli yapıyı içeren yeni bir proje oluşturacaktır.
IronPDF ve iTextSharp Kütüphanelerini Nasıl Yüklerim?
iTextSharp İçin Hangi Paket Yöneticisini Kullanmalıyım?
iTextSharp'ı iText için NuGet Paket Yöneticisi'nden yükleyebilirsiniz. En son sürüm, bir iText paketi olarak mevcuttur. AGPL ile ile ilgili endişeleri olan birçok geliştiricinin, IronPDF'e kıyasla göreceli olarak daha düşük indirme sayısına dikkat edin.
Veya aşağıda gösterildiği gibi Visual Studio Paket Yöneticisi'nden. Paket Yöneticisi'nde iText için arama yapın ve Yükle'ye tıklayın. AGPL lisansını kabul etmenin, projenizin dağıtımı için yasal sonuçları olduğunun farkında olun.
IronPDF'i NuGet ile Nasıl Yüklerim?
IronPDF'i, aşağıda gösterildiği gibi, IronPDF için NuGet Paket Yöneticisi'nden yükleyebilirsiniz. Daha yüksek indirme sayısına (8.3M) dikkat edin, bu, ticari uygulamalarda daha geniş bir benimsenmeyi göstermektedir.
Veya aşağıda gösterildiği gibi Visual Studio paket yöneticisinden. Paket Yöneticisi'nde IronPDF: C# PDF Kütüphanesi için arama yapın ve Yükle'ye tıklayın. Yükleme işlemi basittir ve Chrome işleme için gerekli tüm bağımlılıkları içerir.
IronPDF Kullanarak PDF'lerden Metinleri Nasıl Okurum?
Aşağıdaki kodu Program.cs dosyanıza ekleyin ve belirli içerikli bir örnek PDF belgesi sunun. IronPDF, çoklu sütunlar, gömülü yazı tipleri ve çeşitli kodlamalar içeren karmaşık PDF'lerden metin çıkarmada uzmandır.
using IronPdf;
// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// Read PDF using IronPDF
ReadUsingIronPdf.Read();
public class ReadUsingIronPDF
{
public static void Read()
{
// Specify the path to the PDF document
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance to read the PDF
// IronPDF automatically handles various PDF versions and encryption
var pdfReader = PdfDocument.FromFile(filename);
// Extract all text from the PDF - maintains formatting and structure
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
// Extract all images from the PDF - supports various image formats
var allImages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images = {allImages.Count()}");
// Save extracted images if needed (production example)
for (int i = 0; i < allImages.Count(); i++)
{
// allImages[i].SaveAs($"image_{i}.png");
}
Console.WriteLine("------------------Image Count From PDF-----------------");
// Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine($"Page {page + 1} content:");
Console.WriteLine(text);
}
// Additional IronPDF capabilities for production use
// Extract form data
var form = pdfReader.Form;
if (form != null)
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field: {field.Name} = {field.Value}");
}
}
// Access metadata
Console.WriteLine($"Author: {pdfReader.MetaData.Author}");
Console.WriteLine($"Title: {pdfReader.MetaData.Title}");
Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}");
}
}
using IronPdf;
// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// Read PDF using IronPDF
ReadUsingIronPdf.Read();
public class ReadUsingIronPDF
{
public static void Read()
{
// Specify the path to the PDF document
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance to read the PDF
// IronPDF automatically handles various PDF versions and encryption
var pdfReader = PdfDocument.FromFile(filename);
// Extract all text from the PDF - maintains formatting and structure
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
// Extract all images from the PDF - supports various image formats
var allImages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images = {allImages.Count()}");
// Save extracted images if needed (production example)
for (int i = 0; i < allImages.Count(); i++)
{
// allImages[i].SaveAs($"image_{i}.png");
}
Console.WriteLine("------------------Image Count From PDF-----------------");
// Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine($"Page {page + 1} content:");
Console.WriteLine(text);
}
// Additional IronPDF capabilities for production use
// Extract form data
var form = pdfReader.Form;
if (form != null)
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field: {field.Name} = {field.Value}");
}
}
// Access metadata
Console.WriteLine($"Author: {pdfReader.MetaData.Author}");
Console.WriteLine($"Title: {pdfReader.MetaData.Title}");
Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}");
}
}
Imports IronPdf
' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")
' Read PDF using IronPDF
ReadUsingIronPDF.Read()
Public Class ReadUsingIronPDF
Public Shared Sub Read()
' Specify the path to the PDF document
Dim filename As String = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf"
' Create a PDF Reader instance to read the PDF
' IronPDF automatically handles various PDF versions and encryption
Dim pdfReader = PdfDocument.FromFile(filename)
' Extract all text from the PDF - maintains formatting and structure
Dim allText = pdfReader.ExtractAllText()
Console.WriteLine("------------------Text From PDF-----------------")
Console.WriteLine(allText)
Console.WriteLine("------------------Text From PDF-----------------")
' Extract all images from the PDF - supports various image formats
Dim allImages = pdfReader.ExtractAllImages()
Console.WriteLine("------------------Image Count From PDF-----------------")
Console.WriteLine($"Total Images = {allImages.Count()}")
' Save extracted images if needed (production example)
For i As Integer = 0 To allImages.Count() - 1
' allImages(i).SaveAs($"image_{i}.png")
Next
Console.WriteLine("------------------Image Count From PDF-----------------")
' Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------")
Dim pageCount = pdfReader.PageCount
For page As Integer = 0 To pageCount - 1
Dim text As String = pdfReader.ExtractTextFromPage(page)
Console.WriteLine($"Page {page + 1} content:")
Console.WriteLine(text)
Next
' Additional IronPDF capabilities for production use
' Extract form data
Dim form = pdfReader.Form
If form IsNot Nothing Then
For Each field In form.Fields
Console.WriteLine($"Form Field: {field.Name} = {field.Value}")
Next
End If
' Access metadata
Console.WriteLine($"Author: {pdfReader.MetaData.Author}")
Console.WriteLine($"Title: {pdfReader.MetaData.Title}")
Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}")
End Sub
End Class
IronPDF Kodu Ne Yapar?
- Bir Word Belgesi Oluşturun: Başlangıçta, istenen metin içeriği ile bir Word belgesi oluşturun ve
Example.pdfadlı PDF belgesi olarak kaydedin. - PDFReader Örneği: Kod, metin ve görüntü çıkarmak için PDF dosya yolunu kullanarak bir
PdfDocumentnesnesi oluşturur. - Metin ve Görüntü Çıkarma:
ExtractAllTextyöntemi belgede tüm metni yakalamak için kullanılırken,ExtractAllImagesgörüntüleri çıkarır. - Sayfa Başına Metin Çıkarma: Her sayfadan metin
ExtractTextFromPageyöntemi kullanılarak çıkarılır.
IronPDF'ten Ne Tür Bir Çıktı Beklemeliyim?
iTextSharp Kullanarak PDF'lerden Metinleri Nasıl Okurum?
Şimdi iTextSharp'tan metin çıkarma işlemini karşılaştırmak için aşağıdaki kodu aynı Program.cs dosyasına ekleyin. Basit olması için, sınıfları farklı dosyalara ayırmadık. iTextSharp'ın temel işlemler için daha karmaşık koda ihtiyaç duyduğunu fark edin.
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
iTextSharp Ne Çıktı Üretir?
iTextSharp'ın Sınırlamaları Nelerdir?
- Öğrenme Eğrisi: Özellikle yeni başlayanlar için daha dik bir öğrenme eğrisi.
- Lisanslama: AGPL lisansı, uygulamanızı açık kaynak yapmanızı gerektirir.
- Karmaşık API: Basit işlemler, birden fazla nesne ve manuel yönetim gerektirir.
- Sınırlı HTML Desteği: IronPDF ile karşılaştırıldığında, minimal HTML işleme.
-
Manuel Kaynak Yönetimi: Kaynakları açıkça kapatmalısınız.
- Öğrenme Eğrisi: iTextSharp, özellikle yeni başlayanlar için daha dik bir öğrenme eğrisine sahiptir.
-
Lisanslama: iTextSharp'ın lisanslama modeli, bütçe kısıtlamaları olan projeler için uygun olmayabilir.
- Kullanım Kolaylığı: .NET konvansiyonlarını takip eden sade API.
- Belge İşleme: Piksel mükemmel işleme, orijinal formatı korur.
- Ticaret Dostu Lisanslama: AGPL kısıtlamaları olmadan şeffaf lisanslama.
- Tam Özellikler: Formlar, imzalar ve anotasyonlar için yerleşik destek.
-
Daha İyi Performans: Çoklu iş parçacıklı ve büyük belge işlemesi için geliştirilmiş.
- Kullanım Kolaylığı: IronPDF, geliştiricilerin işe başlamasını kolaylaştıran açık bir API ile bilinir.
- Belge İşleme: IronPDF, PDF belgelerinin doğru bir şekilde işlenmesini sağlayarak çıkartılan metnin orijinale sadık kalmasını temin eder.
Halen iTextSharp kullanan ekipler için IronPDF'ye geçiş yapmak basittir. Aşağıdaki kod örneğini düşünün:
// 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
Metin Çıkarma Doğruluğu Nasıl Karşılaştırılır?
IronPDF, diğer kütüphaneleri zorlayan karmaşık PDF'lerle başa çıkmada üstün performans gösterir:
- Taralı Belgeler: OCR işlenmiş PDF'lerde daha iyi metin akışı
- Çok Sütunlu Düzenler: Gazete tarzı düzenleri üstün şekilde işler
- Şifreli Dosyalar: Parola korumalı PDF'lerin otomatik işlenmesi
- Unicode Desteği: Tam UTF-8 ve uluslararası dil desteği
- Gömülü Fontlar: Font gömme fark etmeksizin doğru metin çıkarma
IronPDF Lisanslamasını Nasıl Yapılandırabilirim?
IronPDF lisans anahtarınızı appsettings.json dosyasına ekleyin. Üretim dağıtımları için, güvenli anahtar yönetimi için ortam değişkenlerini kullanmayı düşünün.
{
"IronPdf.LicenseKey": "your license key",
"IronPdf.LoggingMode": "Custom",
"IronPdf.ChromeGpuMode": "Disabled"
}
Deneme lisansı almak için, lütfen lisans sayfamızda e-posta adresinizi sağlayın. IronPDF, geliştirme, aşama ve üretim lisansları dahil olmak üzere esnek lisans seçenekleri sunar.## Projem için Hangi Kütüphaneyi Seçmeliyim?
IronPDF ile iTextSharp arasında seçim yapmak, projenizin özel ihtiyaçlarına bağlıdır. Kurumsal uygulamalar için ticari lisanslama gerektiren projelerde, iTextSharp'ın kısıtlayıcı AGPL lisansı nedeniyle IronPDF tercih edilen seçenektir. Yaygın PDF işlemleri için basit ve kullanımı kolay bir kütüphane arıyorsanız, IronPDF, sezgisel API'si ile üstün bir geliştirici deneyimi sunar.
Karar verirken bu faktörleri göz önünde bulundurun:
- Lisans Gereksinimleri: AGPL vs ticaret dostu lisanslama
- API Karmaşıklığı: Basit, sezgisel API vs karmaşık, düşük seviyeli API
- Özellik Seti: IronPDF, tam kapsamlı PDF manipülasyon özellikleri sunar
- Performans: IronPDF, daha iyi performans iyileştirmeleri sağlar
- Destek: Aktif geliştirme ve 24/5 teknik destek
IronPDF, PDF oluşturmayı uygulamanıza sorunsuz bir şekilde entegre edecek şekilde tasarlanmıştır, biçimlendirilmiş belgelerin dönüştürülmesini etkili bir şekilde PDF'ye işler. Bu yaklaşım, web formlarını, yerel HTML sayfalarını ve diğer web içeriğini .NET kullanarak PDF'ye dönüştürmeniz gerektiğinde net faydalara sahiptir. Uygulamanız, belgeleri buluta indirme, e-posta gönderme veya depolama işlemlerini kolayca gerçekleştirebilir. Faturalar, teklifler, raporlar, sözleşmeler veya diğer profesyonel belgeler üretmeniz gerektiğinde, IronPDF'nin PDF Oluşturma Yetenekleri sizin için çözüm sunar. Kütüphane ayrıca PDF sıkıştırma, hızlı web görüntüsü için lineerleştirme ve uzun süreli arşivleme için PDF/A uyumluluğu gibi gelişmiş özellikleri destekler. IronPDF'nin sezgisel ve verimli PDF oluşturma yetenekleri ile uygulamanızı geliştirin.
Sıkça Sorulan Sorular
C#'ta PDF dosyalarını nasıl okuyabilirim?
IronPDF kütüphanesini kullanarak, bir PdfDocument ornegi oluşturup, PDF icerigini cıkartmak için ExtractAllText ve ExtractAllImages gibi metodları kullanarak PDF dosyalarını okuyabilirsiniz.
C# için bir PDF kütüphanesi secerken nelere dikkat etmeliyim?
C#'ta PDF işleme için geri kalan kütüphanelerden IronPDF ve iTextSharp arasında seçim yaparken, kullanım kolaylıgı, lisanslama, öğrenme eğrisi ve projeye ozgu gereksinimler gibi faktorleri dikkate alın.
C# projemde bir PDF kütüphanesini nasıl yükleyebilirim?
'IronPDF: C# PDF Library' aratarak ve 'Install' butonuna tıklayarak Visual Studio'daki NuGet Paket Yönetimi ile IronPDF'yi yükleyebilirsiniz.
IronPDF kullanarak PDF manipülasyonu yapmanın avantajları nelerdir?
IronPDF kullanıcı kolaylıgı, anlasılabilir bir API ve doğru belge görüntüleme saglar, bu da uygulamalarına hızlı bir şekilde PDF fonksiyonlusunu entegre etmesi gereken geliştiriciler için ideal hale getirir.
IronPDF ve iTextSharp arasında kullanım karmasıkklıgı farkı var mıdır?
Evet, IronPDF basitligiyle bilinirken, iTextSharp daha fazla esneklik ve genişletilebilirlik saglar, bu da daha dik bir öğrenme eğrisi gerektirebilir.
IronPDF, HTML icerigini PDF'e dönüştürebilir mi?
Evet, IronPDF HTML icerigini, web formları ve sayfalar gibi, PDF belgelerine sorunsuz bir şekilde dönüştürebilir, bu da PDF'leri indirme ve e-posta yoluyla yollama gibi gorevleri kolaylastırır.
iTextSharp kullanırken PDF işler için bazı sınırlamalar nelerdir?
iTextSharp daha dik bir öğrenme egriyle karsı karsıya kalabileceginiz gibi lisanslama modeli, tüm proje butcelerine uymayabilir, özellikle basit bir çözüm arıyorsanız.
IronPDF uygulama fonksiyonelligini nasıl artırır?
IronPDF, web iceriginin PDF'lere dönüştürulmesi ve faturalar ve raporlar gibi profesyonel belgelerin işlemi gibi PDF oluşturma ve işleme özelliklerinin uygulamalara entegre edilmesini saglar.



