PDFsharp vs iTextSharp (C# PDF Kütüphanesi Karşılaştırması)
Full Comparison
Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.
IronPDF, iText'ten daha basit bir sözdizimi ile PDF okumak için modern bir C# API'si sunar. Metin çıkarımı, görüntü çözümleme ve form verisi erişimini desteklerken, iText ticari kullanım için AGPL lisansı gerektirir, bu da IronPDF'i kurumsal uygulamalar için tercih edilen bir seçenek yapar.
PDF (Taşınabilir Belge Biçimi), belgelerin tutarlı ve güvenli bir şekilde paylaşılması için yaygın olarak kullanılan bir dosya formatıdır. Bu tür dosyaların C# ile okunması ve manipüle edilmesi, belge yönetim sistemleri ve raporlama araçları gibi çeşitli uygulamalarda yaygındır. Bu makale, C#'daki PDF dosyalarını okumak için popüler iki kütüphaneyi karşılaştırıyor: IronPDF ve iText (iText en son .NET kütüphanesi).
IronPDF, Iron Software tarafından PDF dosyaları ile çalışmak için kapsamlı özellikler sunan bir tam C# kütüphanesidir. PDF belgelerini sorunsuz bir şekilde oluşturmanıza, düzenlemenize ve manipüle etmenize olanak tanır. IronPDF, basitliği ve kullanım kolaylığı ile tanınır ve PDF işlevselliğini uygulamalarınıza hızla entegre etmek için mükemmel bir seçimdir. Kütüphane, doğru render sunarak çağdaş web standartlarını destekleyen bir Chrome render motoru kullanır.
iText, C#'da PDF dosyaları ile çalışmak için başka bir popüler kütüphanedir. Endüstride birçok yıldır geniş çapta kullanılmaktadır. Ancak, iText'in lisansının AGPL'ye (Affero Genel Kamu Lisansı) değiştiğini ve bunun ticari uygulamalar için önemli sonuçları olduğunu anlamak çok önemlidir. AGPL altında, uygulamanız iText kullanıyorsa, uygulamanızın tüm kaynak kodunu kullanıcılara açmanız gereklidir — bu gereksinim genellikle ticari yazılım geliştirme ile uyumsuzdur. Bu lisans değişikliği, birçok işletmeyi AGPL kısıtlamalarına sahip olmayan ticari dostu lisanslama sunan IronPDF gibi alternatiflere yönlendirmiştir.
IronPDF ile iText'in C#'da PDF Okumada Farkı Nedir?
- IronPDF ve iText'in PDF dosyalarını okumadaki farkını karşılaştırmak için Visual Studio'da yeni bir C# projesi oluşturun.
- Projenize NuGet Paket Yöneticisi aracılığıyla IronPDF ve iText kütüphanelerini yükleyin.
- Metin çıkarmak için IronPDF'nin sezgisel API'sini kullanarak PDF dosyalarını okuyun.
- İtext'in daha karmaşık nesne modeli kullanılarak PDF dosyalarını okuyun.
Bu Eğitim için Gereksinimler Nelerdir?
- Visual Studio: Visual Studio veya başka bir C# geliştirme ortamı yüklendiğinden emin olun. IronPDF, Windows, Linux ve macOS ortamlarını destekler.
- NuGet Paket Yöneticisi: Projenizde ileri düzey kurulum için paketleri yönetebilmek için NuGet kullanabileceğinizden emin olun.
Geliştirme Ortamını Nasıl Kurarım?
Bir C# Konsol Uygulaması ile 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, bulut tabanlı PDF işleme planlıyorsanız Azure dağıtımı veya AWS dağıtımı hakkındaki kılavuzlarımızı gözden geçirin.
Aşağıda gösterildiği gibi proje adınızı verin. NET adlandaki adlandırma kurallarını takip ederek, proje isminizde PascalCase kullanarak kurumsal standartlarla uyumlu olabilirsiniz.
Projeniz için gerekli .NET sürümünü seçin. IronPDF, hem eski hem de modern uygulamalar için esneklik sağlayarak .NET Framework, .NET Core ve .NET 5+ destekler.
Bu işlem tamamlandığında, Visual Studio, PDF okuma yeteneklerini karşılaştırmak için gerekli yapıya sahip yeni bir proje oluşturacaktır.
IronPDF ve iText kütüphanelerini nasıl kurarım?
iText için hangi Paket Yöneticisini Kullanmalıyım?
iText'i NuGet Paket Yöneticisi'nden yükleyebilirsiniz. En son sürüm bir iText paketi olarak mevcuttur. AGPL lisansı ile ilgili endişelerini yansıtan, IronPDF'ye göre 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 arayın ve Yükle'ye tıklayın. AGPL lisansın kabul edilmesinin projenizin dağıtımı için yasal etkileri olduğunu unutmayın.
IronPDF'yi NuGet ile Nasıl Kurarım?
IronPDF'yi IronPDF için NuGet Paket Yöneticisi'nden aşağıda gösterildiği gibi yükleyebilirsiniz. Ticari uygulamalarda daha geniş benimsenmeyi yansıtan oldukça yüksek indirme sayısına (8,3M) dikkat edin.
Veya aşağıda gösterildiği gibi Visual Studio Paket Yöneticisi'nden. Paket Yöneticisi'nde IronPDF: C# PDF Library'yi arayın ve Yükle'ye tıklayın. Kurulum süreci basittir ve Chrome render için gerekli tüm bağımlılıkları içerir.
IronPDF Kullanarak PDF'lerden Nasıl Metin Okunur?
Aşağıdaki kodu Program.cs dosyanıza ekleyin ve belirtilen içerik ile örnek bir PDF dosyası sağlayın. IronPDF, birden fazla sütun, gömülü yazı tipleri ve çeşitli kodlamalara sahip karmaşık PDF'lerden metin çıkarma konusunda başarılıdı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 ReadUsing IronPDF
{
public static void Read()
{
// Specify the path to the PDF document
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance to read the PDF
// IronPDF automatically handles various PDF versions and encryption
var pdfReader = PdfDocument.FromFile(filename);
// Extract all text from the PDF - maintains formatting and structure
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
// Extract all images from the PDF - supports various image formats
var allImages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images = {allImages.Count()}");
// Save extracted images if needed (production example)
for (int i = 0; i < allImages.Count(); i++)
{
// allImages[i].SaveAs($"image_{i}.png");
}
Console.WriteLine("------------------Image Count From PDF-----------------");
// Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine($"Page {page + 1} content:");
Console.WriteLine(text);
}
// Additional IronPDF capabilities for production use
// Extract form data
var form = pdfReader.Form;
if (form != null)
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field: {field.Name} = {field.Value}");
}
}
// Access metadata
Console.WriteLine($"Author: {pdfReader.MetaData.Author}");
Console.WriteLine($"Title: {pdfReader.MetaData.Title}");
Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}");
}
}
using IronPdf;
// Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#");
// Read PDF using IronPDF
ReadUsingIronPdf.Read();
public class ReadUsing IronPDF
{
public static void Read()
{
// Specify the path to the PDF document
string filename = "C:\\code\\articles\\ITextSharp\\ITextSharpIronPdfDemo\\Example.pdf";
// Create a PDF Reader instance to read the PDF
// IronPDF automatically handles various PDF versions and encryption
var pdfReader = PdfDocument.FromFile(filename);
// Extract all text from the PDF - maintains formatting and structure
var allText = pdfReader.ExtractAllText();
Console.WriteLine("------------------Text From PDF-----------------");
Console.WriteLine(allText);
Console.WriteLine("------------------Text From PDF-----------------");
// Extract all images from the PDF - supports various image formats
var allImages = pdfReader.ExtractAllImages();
Console.WriteLine("------------------Image Count From PDF-----------------");
Console.WriteLine($"Total Images = {allImages.Count()}");
// Save extracted images if needed (production example)
for (int i = 0; i < allImages.Count(); i++)
{
// allImages[i].SaveAs($"image_{i}.png");
}
Console.WriteLine("------------------Image Count From PDF-----------------");
// Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------");
var pageCount = pdfReader.PageCount;
for (int page = 0; page < pageCount; page++)
{
string text = pdfReader.ExtractTextFromPage(page);
Console.WriteLine($"Page {page + 1} content:");
Console.WriteLine(text);
}
// Additional IronPDF capabilities for production use
// Extract form data
var form = pdfReader.Form;
if (form != null)
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field: {field.Name} = {field.Value}");
}
}
// Access metadata
Console.WriteLine($"Author: {pdfReader.MetaData.Author}");
Console.WriteLine($"Title: {pdfReader.MetaData.Title}");
Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}");
}
}
Imports IronPdf
' Begin the comparison of IronPDF and iTextSharp for reading PDFs in C#
Console.WriteLine("Comparison of IronPDF And iTextSharp Read PDF Files in C#")
' Read PDF using IronPDF
ReadUsingIronPdf.Read()
Public Class ReadUsingIronPdf
Public Shared Sub Read()
' Specify the path to the PDF document
Dim filename As String = "C:\code\articles\ITextSharp\ITextSharpIronPdfDemo\Example.pdf"
' Create a PDF Reader instance to read the PDF
' IronPDF automatically handles various PDF versions and encryption
Dim pdfReader = PdfDocument.FromFile(filename)
' Extract all text from the PDF - maintains formatting and structure
Dim allText = pdfReader.ExtractAllText()
Console.WriteLine("------------------Text From PDF-----------------")
Console.WriteLine(allText)
Console.WriteLine("------------------Text From PDF-----------------")
' Extract all images from the PDF - supports various image formats
Dim allImages = pdfReader.ExtractAllImages()
Console.WriteLine("------------------Image Count From PDF-----------------")
Console.WriteLine($"Total Images = {allImages.Count()}")
' Save extracted images if needed (production example)
For i As Integer = 0 To allImages.Count() - 1
' allImages(i).SaveAs($"image_{i}.png")
Next
Console.WriteLine("------------------Image Count From PDF-----------------")
' Iterate through each page to extract text from them
Console.WriteLine("------------------One Page Text From PDF-----------------")
Dim pageCount = pdfReader.PageCount
For page As Integer = 0 To pageCount - 1
Dim text As String = pdfReader.ExtractTextFromPage(page)
Console.WriteLine($"Page {page + 1} content:")
Console.WriteLine(text)
Next
' Additional IronPDF capabilities for production use
' Extract form data
Dim form = pdfReader.Form
If form IsNot Nothing Then
For Each field In form.Fields
Console.WriteLine($"Form Field: {field.Name} = {field.Value}")
Next
End If
' Access metadata
Console.WriteLine($"Author: {pdfReader.MetaData.Author}")
Console.WriteLine($"Title: {pdfReader.MetaData.Title}")
Console.WriteLine($"Created: {pdfReader.MetaData.CreationDate}")
End Sub
End Class
IronPDF Kodu Ne Yapar?
- Bir Word Belgesi Oluşturun: Öncelikle istenen metin içeriği ile bir Word belgesi oluşturun ve
Example.pdfisimli bir PDF belgesi olarak kaydedin. - PDFReader Örneği: Kod, metin ve görüntüleri çıkarmak için PDF dosya yolunu kullanarak bir
PdfDocumentnesnesi oluşturur. - Metin ve Görüntüleri Çıkarma: Belgedeki tüm metni yakalamak için
ExtractAllTextyöntemi kullanılırken,ExtractAllImagesgörüntüleri çıkarır. - Sayfa Başına Metin Çıkarma: Her sayfadan metin
ExtractTextFromPageyöntemi ile çıkarılır.
IronPDF'den Ne Tür Çıktı Beklemeliyim?
iText kullanarak PDFlerden Metin Nasıl Okunur?
Artık iText ile metin çıkarmayı karşılaştırmak için aşağıdaki kodu aynı Program.cs dosyasına ekleyin. Basitlik adına, sınıfları farklı dosyalara ayırmadık. iText'in temel işlemler için daha karmaşık kod gerektirdiğini 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
iText Hangi Çıktıyı Üretir?
iText'in Sınırlamaları Nelerdir?
- Öğrenme Eğrisi: Özellikle yeni başlayanlar için daha dik bir öğrenme eğrisi.
- Lisanslama: AGPL lisansı, uygulamanızını açık kaynaklı yapmanızı gerektirir.
- Karmaşık API: Basit işlemler birçok nesne ve elle yönetim gerektirir.
- Sınırlı HTML Desteği: IronPDF'ye göre minimal HTML render.
-
Manuel Kaynak Yönetimi: Kaynakları açıkça kapatmanız gerekir.
- Öğrenme Eğrisi: iText'in öğrenme eğrisi, özellikle yeni başlayanlar için daha dik.
-
Lisanslama: iText'in lisans modeli, özellikle bütçe kısıtlamaları olan projeler için uygun olmayabilir.
- Kullanım Kolaylığı: .NET konvansiyonlarını takip eden basit API.
- Belge Render: Pikselsiz render, orijinal formatlamayı korur.
- Ticaret Dostu Lisanslama: AGPL kısıtlamaları olmadan şeffaf lisanslama.
- Tam Özellikler: Formlar, imzalar ve açıklamalar için yerleşik destek.
-
Geliştirilmiş Performans: Çoklu iş parçacığı ve büyük belge işleme için geliştirilmiş.
- Kullanım Kolaylığı: IronPDF, geliştiricilerin başlamasını kolaylaştıran sezgisel API'siyle tanınır.
- Belge Render: IronPDF, PDF belgelerinin doğru renderlerek çıkarılan metnin orijinaline sadık kalmasını sağlar.
Şu anda iText kullanan ekipler için IronPDF'ye geçiş yapmak oldukça kolay. Aşağıdaki kod örneğini göz önünde bulundurun:
// 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üphanelerin zorlandığı karmaşık PDF'leri ele alma konusunda öne çıkıyor:
- Tarayıcıdan Geçirilmiş Belgeler: OCR işlenmiş PDF'leri işlerken daha iyi metin akışı
- Çok Sütunlu Düzenler: Gazete tarzı düzenleri üstün şekilde ele alma
- Şifrelenmiş Dosyalar: Şifre korumalı PDF'lerin otomatik işlenmesi
- Unicode Desteği: Tam UTF-8 ve uluslararası dil desteği
- Gömülü Yazı Tipleri: Yazı tipi gömülmesinden bağımsız olarak doğru çıkarım
IronPDF Lisanslamasını Nasıl Yapılandırırım?
IronPDF lisans anahtarınızı appsettings.json dosyasına yerleştirin. Üretim dağıtımları için güvenli anahtar yönetimi adına ortam değişkenlerini kullanmayı düşünebilirsiniz.
{
"IronPdf.LicenseKey": "your license key",
"IronPdf.LoggingMode": "Custom",
"IronPdf.ChromeGpuMode": "Disabled"
}
Bir deneme lisansı almak için lütfen e-posta adresinizi lisans sayfamızda sağlayın. IronPDF, geliştirme, hazırlama ve üretim lisansları dahil olmak üzere esnek lisanslama seçenekleri sunar.## Projem İçin Hangi Kütüphaneyi Seçmeliyim?
IronPDF ve iText arasında seçim yapmak, projenizin özel gereksinimlerine bağlıdır. Kurumsal uygulamalar için ticari lisanslama gerekiyorsa, iText'in kısıtlayıcı AGPL lisansı nedeniyle IronPDF tercih edilen seçimdir. Yaygın PDF işlemleri için basit ve kullanımı kolay bir kütüphaneye ihtiyacınız varsa, IronPDF, sezgisel API'si ile üstün bir geliştirici deneyimi sunar.
Kararınızı verirken bu faktörleri göz önüne alın:
- Lisanslama Gereklilikleri: AGPL vs ticari dostu lisanslama
- API Karmaşıklığı: Basit, sezgisel API vs karmaşık, düşük seviye API
- Özellik Seti: IronPDF, PDF manipülasyon özellikleri açısından tam kapsam sunar
- Performans: IronPDF, daha iyi performans iyileştirmeleri sağlar
- Destek: Aktif geliştirme ve 24/5 teknik destek
IronPDF, PDF üretimini uygulamanıza sorunsuz bir şekilde entegre etmek için tasarlanmıştır ve biçimlendirilmiş belgelerin dönüştürülmesini PDF'lere etkili bir şekilde sağlar. Bu yaklaşım, web formlarını, yerel HTML sayfalarını ve diğer web içeriklerini PDF'ye .NET kullanarak dönüştürmeniz gerektiğinde belirgin faydalar sağlar. Uygulamanız, indirilebilir, e-posta gönderilebilir veya belgeleri bulut deposunda saklayabilir. Faturalar, teklifler, raporlar, sözleşmeler veya diğer profesyonel belgeler üretmeniz gerektiğinde, IronPDF'nin PDF Üretim Yetenekleri ihtiyacınızı karşılayacaktır. Kütüphane ayrıca PDF sıkıştırma, hızlı web görünümü için lineerizasyon ve uzun süreli arşivleme için PDF/A uyumluluğu gibi gelişmiş özellikleri destekler. IronPDF'nin sezgisel ve verimli PDF üretim yetenekleri ile uygulamanızı geliştirin.
[{iText ve iText, ilgili sahiplerinin tescilli ticari markalarıdır. Bu site, iText veya iText tarafından onaylanmamış veya sponsor edilmemiştir. 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.)}]
Sıkça Sorulan Sorular
PDF dosyalarını C#'ta nasıl okuyabilirim?
IronPDF kütüphanesi ile PDF dosyalarını okumak için bir PdfDocument örneği oluşturabilir ve ExtractAllText ve ExtractAllImages gibi yöntemleri kullanarak PDF'deki içeriği çıkartabilirsiniz.
C# için bir PDF kütüphanesi seçerken nelere dikkat etmeliyim?
C#'da PDF manipülasyonu için IronPDF ve iTextSharp gibi kütüphaneler arasında seçim yaparken kullanım kolaylığı, lisanslama, öğrenme eğrisi ve özel proje gereksinimleri gibi faktörleri göz önünde bulundurun.
C# projemde bir PDF kütüphanesini nasıl kurabilirim?
IronPDF'i Visual Studio'daki NuGet Paket Yöneticisi üzerinden 'IronPDF: C# PDF Library' araması yaparak ve 'Yükle' düğmesine tıklayarak yükleyebilirsiniz.
PDF işleme için IronPDF kullanmanın avantajları nelerdir?
IronPDF, kullanım kolaylığı, basit bir API ve doğru belge işleme sunarak, uygulamalarına hızlıca PDF işlevselliği entegre etmesi gereken geliştiriciler için idealdir.
IronPDF ve iTextSharp kullanım karmaşıklığında bir fark var mı?
Evet, IronPDF basitliği ile bilinirken, iTextSharp daha fazla esneklik ve genişletilebilirlik sunar ve bu durum daha dik bir öğrenme eğrisi gerektirebilir.
IronPDF HTML içeriğini PDF'ye dönüştürebilir mi?
Evet, IronPDF HTML içeriğini, web formları ve sayfaları gibi, PDF belgelerine nahtif şekilde dönüştürebilir ve PDF'leri indirme ve e-posta ile gönderme gibi görevleri kolaylaştırır.
PDF görevleri için iTextSharp kullanmanın bazı sınırlamaları nelerdir?
iTextSharp daha dik bir öğrenme eğrisi taşıyabilir ve lisanslama modeli özellikle basit bir çözüm arıyorsanız tüm proje bütçelerine uymayabilir.
IronPDF uygulama işlevselliğini nasıl artırır?
IronPDF, uygulamalara PDF oluşturma ve manipülasyon özellikleri entegre edilmesine olanak tanır, web içeriğinin PDF'lere dönüştürülmesi ve fatura ve rapor gibi profesyonel belgelerin yönetimi sağlanır.



