Altbilgi içeriğine atla
ÜRüN KARşıLAşTıRMALARı

IronPDF ve Puppeteer Sharp: Kapsamlı C# PDF Kütüphanesi Karşılaştırma Rehberi

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Itext on pricing, HTML support, and licensing.

View Full Comparison

PDF belgelerinden metin çıkarmak, modern yazılım projelerinde sıkça karşılaşılan bir gereksinimdir; faturaları işlemekten arama motorları için içeriği madencilik yapmaya. Geliştiriciler, yalnızca doğru sonuçlar sunmayan, aynı zamanda C# .NET uygulamalarında verimli bir entegrasyon deneyimi de sunan güvenilir kütüphanelere ihtiyaç duyar. Bazı geliştiriciler, taranmış belgelerden ve görüntülerden veri çıkarmak için OCR (optik karakter tanıma) araçlarını kullanırken, bazen sağlam bir metin çıkartma aracı ihtiyacı doğar.

Ancak, pazarda birkaç PDF kütüphanesi varken doğru aracı seçmek bunaltıcı olabilir. Sıkça konuşulan iki kütüphane iText ve IronPDF'dir. Her ikisi de PDF'lerden metin çıkarabilir, ancak kullanılabilirlik, destek, performans ve fiyatlandırma bakımından önemli ölçüde farklılık gösterirler. Bu makale, projelerinize en uygun olanı belirlemenize yardımcı olmak için metin çıkartma işlemini nasıl ele aldıklarını göstermek için farklı kod örneklerine bakarak iki kütüphaneyi karşılaştırır.

IronPDF ve iText Kütüphanesi Genel Bir Bakış

iText uzun süredir .NET için popüler bir açık kaynak PDF kütüphanesidir, içerik oluşturma, manipülasyon ve çıkarma için güçlü araçlar sunar. Java tabanlı iText'in bir C# portu olarak, PDF yapıları üzerinde derin kontrol sağlar—ileri düzey kullanıcılar için idealdir. Ancak, bu esneklik dik bir öğrenme eğrisi ve lisanslama kısıtlamaları ile birlikte gelir; ticari kullanım genellikle AGPL yükümlülüklerinden kaçınmak için ücretli bir lisans gerektirir.

IronPDF sahneye çıkıyor—.NET için modern, geliştirici dostu bir PDF kütüphanesi. Bilinen bir API, net dokümantasyon ve hızlı destek ile metin çıkartma gibi yaygın görevleri kolaylaştırır. Bu araçla, geliştiriciler PDF belgelerinden kolayca görüntüler ve metin çıkarabilir, yeni PDF dosyaları oluşturabilir, PDF güvenliği uygulayabilir ve daha fazlasını yapabilir.

iText'ten farklı olarak, IronPDF karmaşık düşük düzey yapıları önleyerek daha hızlı ve daha verimli çalışmanızı sağlar. İster tek bir sayfayı ister yüzlerce PDF'yi işlerken, işleri basit tutar.

Ayrıca, düzenli güncellemeler ve küçük takımlar ve solo geliştiriciler için ücretsiz deneme ile uygun maliyetli planlar dahil olmak üzere, düzenli bakım ve basit bir lisanslama modeli ile aktif olarak sürdürülmektedir.

IronPDF'nin Kurulumu ve Kullanımı

IronPDF, NuGet Paket Yöneticisi Konsolunda aşağıdaki komutu çalıştırarak NuGet aracılığıyla kurulabilir:

Install-Package IronPdf

Alternatif olarak, Çözüm ekranı için NuGet paket yöneticisi aracılığıyla yükleyebilirsiniz. "Tools > NuGet Package Manager > Manage NuGet Packages for Solution" navigasyonuyla yapın. Daha sonra IronPDF'yi arayın ve "Install" seçeneğine tıklayın.

IronPDF ile PDF Dosyalarından Metin Çıkartma

Kurulduktan sonra, metin çıkartmak basittir:

using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");

// Extract text from the PDF
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("invoice.pdf");

// Extract text from the PDF
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf

' Load the PDF document
Private pdf = PdfDocument.FromFile("invoice.pdf")

' Extract text from the PDF
Private extractedText As String = pdf.ExtractAllText()

' Output the extracted text
Console.WriteLine(extractedText)
$vbLabelText   $csharpLabel

Not: Bu yöntem tüm PDF dosyasını okur ve okuma sırasındaki metni döndürür, geleneksel kütüphanelere kıyasla saatlerce ayrıştırma süresi kazandırır.

Kodlamaları, içerik akışlarını veya manuel ayrıştırmayı ele almanız gerekmez. IronPDF bu işlemlerin tamamını dahili olarak yönetir, temiz ve doğru bir çıktı sağlar ve minimal kurulum gerektirir. Ardından, çıkarılan metni yeni bir metin dosyasına kolayca kaydedebilir ve daha fazla işlem veya kullanım için kullanabilirsiniz.

iText PDF Kütüphanesi Kurulumu

PDF oluşturma için iText'in çekirdek paketini indirmek için aşağıdaki komutu kullanın:

Install-Package iTextSharp

iText, Çözüm Ekranı Paket Yöneticisi aracılığıyla da kurulabilir. Bunu yapmak için, önce Araçlar açılır menüsüne gitmeniz, ardından "NuGet Paket Yöneticisi > Çözümler için NuGet Paketlerini Yönet" seçeneğini bulmanız gerekir. Daha sonra, iText'i arayın ve "Yükle"ye tıklayın.

iText ile PDF belgelerinden Metin Çıkarma

Tek bir PDF sayfasından metin çıkarmak için bir örnek:

using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;

// Define the path to your PDF
string path = "sample.pdf";

// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
    // Use a simple text extraction strategy
    var strategy = new SimpleTextExtractionStrategy();

    // Extract text from the first page
    string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);

    // Output the extracted text
    Console.WriteLine(pageText);
}
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;

// Define the path to your PDF
string path = "sample.pdf";

// Open the PDF reader and document
using (PdfReader reader = new PdfReader(path))
using (PdfDocument pdf = new PdfDocument(reader))
{
    // Use a simple text extraction strategy
    var strategy = new SimpleTextExtractionStrategy();

    // Extract text from the first page
    string pageText = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy);

    // Output the extracted text
    Console.WriteLine(pageText);
}
Imports iText.Kernel.Pdf
Imports iText.Kernel.Pdf.Canvas.Parser
Imports iText.Kernel.Pdf.Canvas.Parser.Listener

' Define the path to your PDF
Private path As String = "sample.pdf"

' Open the PDF reader and document
Using reader As New PdfReader(path)
Using pdf As New PdfDocument(reader)
	' Use a simple text extraction strategy
	Dim strategy = New SimpleTextExtractionStrategy()

	' Extract text from the first page
	Dim pageText As String = PdfTextExtractor.GetTextFromPage(pdf.GetPage(1), strategy)

	' Output the extracted text
	Console.WriteLine(pageText)
End Using
End Using
$vbLabelText   $csharpLabel

Bu örnek, iText'in yeteneğini gösterir, ancak basit bir görevi yerine getirmek için gereken cüsseli yapıyı ve ek nesneleri fark edin.

Ayrıntılı Karşılaştırma

Kurulumu ve temel kullanımı ele aldığımıza göre, bu iki kütüphanenin, çok sayfalı bir PDF belgesinden metin çıkartarak metin çıkartma işlemini nasıl ele aldığını daha derinlemesine inceleyelim.

Gelişmiş Örnek: IronPDF ile Sayfa Aralığından Metin Çıkartmak

IronPDF, sayfa seçimi ve mizanpaj farkında metin çıkartma üzerinde ayrıntılı kontrol sağlar.

using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");

// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };

// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);

// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
using IronPdf;

// Load the PDF document
var pdf = PdfDocument.FromFile("longPdf.pdf");

// Define the page numbers to extract text from
int[] pages = new[] { 2, 3, 4 };

// Extract text from the specified pages
var text = pdf.ExtractTextFromPages(pages);

// Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:\n" + text);
Imports Microsoft.VisualBasic
Imports IronPdf

' Load the PDF document
Private pdf = PdfDocument.FromFile("longPdf.pdf")

' Define the page numbers to extract text from
Private pages() As Integer = { 2, 3, 4 }

' Extract text from the specified pages
Private text = pdf.ExtractTextFromPages(pages)

' Output the extracted text
Console.WriteLine("Extracted text from pages 2, 3, and 4:" & vbLf & text)
$vbLabelText   $csharpLabel

Gelişmiş Örnek: iText Kullanarak Sayfa Aralığından Metin Çıkarma

iText'te, sayfa aralığını manuel olarak belirtmeniz ve PdfTextExtractor kullanarak metni çıkarmanız gerekecektir:

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();

// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
    string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
    textBuilder.AppendLine(pageText);
}

// Output the extracted text
Console.WriteLine(textBuilder.ToString());

// Close the PDF reader
reader.Close();
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF document
PdfReader reader = new PdfReader("longPdf.pdf");
StringBuilder textBuilder = new StringBuilder();

// Extract text from pages 2–4
for (int i = 2; i <= 4; i++)
{
    string pageText = PdfTextExtractor.GetTextFromPage(reader, i, new LocationTextExtractionStrategy());
    textBuilder.AppendLine(pageText);
}

// Output the extracted text
Console.WriteLine(textBuilder.ToString());

// Close the PDF reader
reader.Close();
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text

' Load the PDF document
Private reader As New PdfReader("longPdf.pdf")
Private textBuilder As New StringBuilder()

' Extract text from pages 2–4
For i As Integer = 2 To 4
	Dim pageText As String = PdfTextExtractor.GetTextFromPage(reader, i, New LocationTextExtractionStrategy())
	textBuilder.AppendLine(pageText)
Next i

' Output the extracted text
Console.WriteLine(textBuilder.ToString())

' Close the PDF reader
reader.Close()
$vbLabelText   $csharpLabel

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

Hem IronPDF hem de iText gelişmiş PDF metin çıkarma yeteneğine sahiptir, ancak yaklaşımları karmaşıklık ve açıklık açısından önemli ölçüde farklıdır:

  • IronPDF her şeyi temiz ve erişilebilir tutar. Yüksek seviye yöntemleri, dosyaları düzgün ve yapılandırılmış içerik çıkarmaya olanak sağlar. Kod basittir, bu da PDF işleme konusunda yeni olan geliştiricilerin bile uygulamayı kolaylaştırır.

  • Öte yandan, iText derinlemesine bir PDF yapısı anlayışı gerektirir. Metin çıkartma, özel render dinleyicilerini ayarlamayı, sayfaları manuel olarak yönetmeyi ve her satır için layout verilerini incelemeyi içerir. Güçlü olmasına rağmen, daha ayrıntılı ve sezgisel olmayan bir süreçtir, IronPDF'yi çoğu .NET projesi için daha hızlı ve daha düşük maliyetli bir seçenek haline getirir.

Ancak, karşılaştırmamız burada bitmiyor. Bir sonraki adımda, bu iki kütüphanenin diğer alanlarda nasıl karşılaştırıldığını inceleyelim.

Detaylı Karşılaştırma: IronPDF ve iText

.NET için PDF metin çıkartma kütüphaneleri değerlendirilirken, geliştiriciler genellikle basitlik, performans ve uzun vadeli destek arasında dengeyi tartıyorlar. IronPDF ve iText'in gerçek dünyadaki kullanımda, özellikle C#'ta PDF'lerden metin çıkarmada nasıl karşılaştırıldığını inceleyelim.

1. Kullanım Kolaylığı

IronPDF: Temiz ve Modern API

IronPDF, geliştirici deneyimini vurgular. Kurulumu NuGet aracılığıyla kolaydır ve sözdizimi sezgiseldir:

using IronPdf;

// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");

// Extract all text from every page
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
using IronPdf;

// Load the PDF
var pdf = PdfDocument.FromFile("sample.pdf");

// Extract all text from every page
string extractedText = pdf.ExtractAllText();

// Output the extracted text
Console.WriteLine(extractedText);
Imports IronPdf

' Load the PDF
Private pdf = PdfDocument.FromFile("sample.pdf")

' Extract all text from every page
Private extractedText As String = pdf.ExtractAllText()

' Output the extracted text
Console.WriteLine(extractedText)
$vbLabelText   $csharpLabel

IronPDF, ExtractAllText() gibi basit yöntem çağrılarının arkasındaki karmaşıklığı soyutlar, temel kodlar veya ayrıştırma mantığı gerektirmez.

iText: Daha Ayrıntılı ve Düşük Düzeyde

iText, her sayfanın manuel olarak çözümlenmesini ve sade metni çıkarmayı daha fazla efor gerektiren bir hale getirir.

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}

// Output the extracted text
Console.WriteLine(text.ToString());
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
using System.Text;

// Load the PDF
var reader = new PdfReader("sample.pdf");
StringBuilder text = new StringBuilder();

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
}

// Output the extracted text
Console.WriteLine(text.ToString());
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Text

' Load the PDF
Private reader = New PdfReader("sample.pdf")
Private text As New StringBuilder()

For i As Integer = 1 To reader.NumberOfPages
	text.Append(PdfTextExtractor.GetTextFromPage(reader, i))
Next i

' Output the extracted text
Console.WriteLine(text.ToString())
$vbLabelText   $csharpLabel

Geliştiricilerin sayfaları manuel olarak döngüyle yönetmeleri gerekir, bu da daha fazla kod ve kenar durumları ortaya çıkarsa hata olasılığı oluşturur.

2. Performans ve Güvenilirlik

  • IronPDF, modern bir render motoru (Chromium) üzerine kurulmuştur, bu da gömülü fontlar, döndürülen metinler ve birden çok layout içeren modern PDF'ler için uygun hale getirir. Metin çıkartma, layout farkındadır ve boşlukları daha doğal bir şekilde korur.

  • iText, güçlü olmasına rağmen, karmaşık biçimlendirmelerde zorlanabilir. Karışık yönlendirme veya standart olmayan kodlamalar içeren PDF dosyalarında, metin bozulmuş veya yanlış sıralanmış olabilir.

3. Maliyet ve Lisanslama

Özellik IronPDF iText
Lisans Türü Ticari (Ücretsiz Deneme Mevcuttur) AGPL (Ücretsiz) / Ticari (Ücretli)
Fiyatlandırma Şeffaflığı Kamuoyu fiyatlandırması ve süresiz lisanslama Karmaşık seviyeler ve yeniden dağıtım kuralları
Destek Özel Destek Ekibi Toplum desteği (eğer lisanslı değilse)
Kapalı Kaynak Uygulamada Kullanım Evet (lisans ile) AGPL ile değil

Lütfen dikkate alınTicari veya özel yazılım geliştiriyorsanız, iText AGPL, kodunuzu açık kaynak yapmanız veya ticari lisans için ödeme yapmanız zorlayacaktır. IronPDF kapalı kaynak projeleri için daha esnek bir lisanslama modeli sunar.

4. Geliştirici Desteği ve Dokümantasyon

  • IronPDF: Modern dokümantasyon, video eğitimler ve hızlı bilet tabanlı destekle gelir.

  • iText: İyi belgelendirme, ancak siz ödenmiş bir müşteri olmadığınız sürece sınırlı ücretsiz destek.

5. Kütüphane Genel Özeti

Kriter IronPDF iText
Basitlik Yüksek – Tek satırlık metin çıkarma Orta – Manuel sayfa yineleme
Performans Hızlı ve modern ayrıştırma Karmaşık veya taranmış PDF'lerde daha yavaş
Ticari Dostu Evet, AGPL sınırlamaları yok AGPL kapalı kaynak uygulamalarda kullanımı sınırlar
Destek & Dokümantasyon Özverili, duyarlı Topluluk bağımlı
.NET Core Desteği Full Tam

Sonuç

C#'ta PDF'lerden metin çıkarma konusunda, hem IronPDF hem de iText yeteneklidir — ancak farklı türdeki geliştiricilere hizmet ederler. Modern, kolay entegre edilebilir, mükemmel destekli ve aktif şekilde güncellenen özelliklerle sorunsuz düzen koruması sunan bir çözüm arıyorsanız, IronPDF açıkça öne çıkıyor. Geliştirme süresini azaltır, sezgisel API'ler sunar ve web uygulamalarından kurumsal sistemlere kadar geniş bir yelpazede uygulamalarda .NET çatısı içinde iyi çalışır.

Öte yandan, iText, ekosistemine zaten dahil olan geliştiriciler veya metin çıkarma stratejileri üzerinde ayrıntılı kontrol gerektirenler için güçlü bir seçenek olmaya devam ediyor. Ancak, daha dik bir öğrenme eğrisi ve ticari desteğin olmaması, hızla ölçeklenmesi gereken veya temiz kod tabanlarını korumak isteyen projeleri yavaşlatabilir.

.NET geliştiricileri için hız, netlik ve güvenilir sonuçlar önem taşıdığında, IronPDF geleceğe yönelik bir yol sunar. Belge otomasyon araçları, arama motorları veya dahili gösterge panelleri inşa ediyorsanız, IronPDF'in güçlü özellikleri ve performansı size daha hızlı ve akıllı teslimatlar yapmanıza yardımcı olacaktır.

Bugün IronPDF'i deneyerek ücretsiz deneme sürümünü indir ve farkı kendiniz görün. Ücretsiz deneme sürümü ve geliştirici dostu API ile dakikalar içinde başlayabilirsiniz.

Lütfen dikkate alıniText, ilgili sahibinin tescilli markasıdır. Bu site, iText ile ilişkili, onaylanmış veya sponsor olunmuş değildir. 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

Modern bir kütüphane kullanarak C# dilinde bir PDF'den metin nasıl çıkartabilirim?

PDF'lerden metin çıkartmak için IronPDF'yi PdfDocument.ExtractAllText() gibi yöntemlerini kullanarak, süreci basitleştirebilir ve karmaşık belge düzenlerinden bile doğru sonuçlar elde edilebilirsiniz.

Metin çıkartma işlemi için IronPDF ve iTextSharp arasındaki temel farklar nelerdir?

IronPDF, iTextSharp'a kıyasla daha sezgisel bir API sunar ve daha hızlı performansa sahiptir. Karmaşık düzenleri etkin şekilde ele almak için tasarlanmıştır ve metin çıkartmayı basitleştiren modern bir render motoru sağlar. Oysa iTextSharp daha fazla manuel kodlama ve PDF yapısını anlama gerektirir.

IronPDF, taranmış belgelerden metin çıkartma işlemi nasıl gerçekleştirir?

IronPDF standart PDF'lerden metin çıkartmayı destekler. Taranmış belgeler için, PDF içindeki görüntülerden metin çıkarmak için IronOCR gibi OCR araçları entegre edilebilir.

Ticari projelerde IronPDF kullanımının lisans avantajları nelerdir?

IronPDF, AGPL kısıtlamaları olmadan net bir ticari lisanslama modeli sunar, bu da onu kapalı kaynaklı uygulamalar için uygun kılar. Hem bireysel geliştiriciler hem de ekipler için uygun fiyatlı planlar sunar.

IronPDF, karmaşık düzenlere sahip PDF'lerden metin çıkarmak için uygun mudur?

Evet, IronPDF, formatlama ve boşlukları doğru bir şekilde koruyarak karmaşık düzenlere sahip PDF'lerden metin çıkarmak için iyi bir tercihtir, böylece layout-aware metin çıkartma yetenekleri ile donatılmıştır.

C# projemde bir PDF işleme kütüphanesi nasıl entegre edebilirim?

IronPDF'yi C# projenize entegre etmek için NuGet üzerinden yükleyebilirsiniz. Projenize eklemek için NuGet Paket Yöneticisi Konsolu'da Install-Package IronPdf komutunu çalıştırın.

IronPDF kullanan geliştiriciler için hangi destek ve kaynaklar mevcuttur?

IronPDF, modern belgeler, video eğitimleri ve hızlı ticket tabanlı yardım gibi kapsamlı destek sunar, bu da onu .NET projelerine entegrasyon için geliştirici dostu bir araç yapar.

IronPDF, PDF içindeki belirli sayfalardan metin çıkartabilir mi?

Evet, IronPDF, PdfDocument.ExtractTextFromPages() gibi yöntemleri kullanarak belirli sayfalardan metin çıkarmayı sağlar, böylece metin çıkartma süreçlerinde ayrıntılı kontrollere olanak tanır.

Neden PDF metin çıkarmada yeni olan geliştiricilere IronPDF önerilir?

IronPDF, kullanım kolaylığı sağlayan API'si, basit entegrasyon süreci ve detaylı destek kaynakları sayesinde PDF işlemlerine aşina olmayanlar için bile erişilebilir kılındığından yeni geliştiriciler tarafından tavsiye edilir.

IronPDF diğer kütüphanelere göre hangi performans avantajlarını sunar?

IronPDF, modern render motoru sayesinde metin çıkartma hızlarını optimize ettiği ve karmaşık PDF düzenlerini etkin şekilde işlediği için daha iyi performans sunar, bu da onu birçok diğer kütüphaneden daha hızlı kılar.

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