IRONSOFTWAREHOME
PDF ARAÇLARI

PDF'yi Küçültme (Ücretsiz Çevrimiçi Araçlar)

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

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?

  1. 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.
  2. Projenize NuGet Paket Yöneticisi aracılığıyla IronPDF ve iText kütüphanelerini yükleyin.
  3. Metin çıkarmak için IronPDF'nin sezgisel API'sini kullanarak PDF dosyalarını okuyun.
  4. İtext'in daha karmaşık nesne modeli kullanılarak PDF dosyalarını okuyun.

Bu Eğitim için Gereksinimler Nelerdir?

  1. 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.
  2. 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}");
    }
}
C#

IronPDF Kodu Ne Yapar?

  1. Bir Word Belgesi Oluşturun: Öncelikle istenen metin içeriği ile bir Word belgesi oluşturun ve Example.pdf isimli bir PDF belgesi olarak kaydedin.
  2. PDFReader Örneği: Kod, metin ve görüntüleri çıkarmak için PDF dosya yolunu kullanarak bir PdfDocument nesnesi oluşturur.
  3. Metin ve Görüntüleri Çıkarma: Belgedeki tüm metni yakalamak için ExtractAllText yöntemi kullanılırken, ExtractAllImages görüntüleri çıkarır.
  4. Sayfa Başına Metin Çıkarma: Her sayfadan metin ExtractTextFromPage yö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();
    }
}

iText Hangi Çıktıyı Üretir?

iText'in Sınırlamaları Nelerdir?

  1. Öğrenme Eğrisi: Özellikle yeni başlayanlar için daha dik bir öğrenme eğrisi.

  2. Lisanslama: AGPL lisansı, uygulamanızını açık kaynaklı yapmanızı gerektirir.

  3. Karmaşık API: Basit işlemler birçok nesne ve elle yönetim gerektirir.

  4. Sınırlı HTML Desteği: IronPDF'ye göre minimal HTML render.

  5. Manuel Kaynak Yönetimi: Kaynakları açıkça kapatmanız gerekir.

  6. Öğrenme Eğrisi: iText'in öğrenme eğrisi, özellikle yeni başlayanlar için daha dik.

  7. Lisanslama: iText'in lisans modeli, özellikle bütçe kısıtlamaları olan projeler için uygun olmayabilir.

  8. Kullanım Kolaylığı: .NET konvansiyonlarını takip eden basit API.

  9. Belge Render: Pikselsiz render, orijinal formatlamayı korur.

  10. Ticaret Dostu Lisanslama: AGPL kısıtlamaları olmadan şeffaf lisanslama.

  11. Tam Özellikler: Formlar, imzalar ve açıklamalar için yerleşik destek.

  12. Geliştirilmiş Performans: Çoklu iş parçacığı ve büyük belge işleme için geliştirilmiş.

  13. Kullanım Kolaylığı: IronPDF, geliştiricilerin başlamasını kolaylaştıran sezgisel API'siyle tanınır.

  14. 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;
}

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"
}
JSON

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:

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.)}]

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez