IronPDF ve SelectPdf: HTML to PDF Dönüşümü için Tam .NET Core PDF Kütüphanesi Karşılaştırması
Taşınabilir Belge Formatı (PDF), belgeleri metin ve grafik biçimlendirmesiyle dağıtmak için Adobe tarafından oluşturulmuştur. Bir PDF dosyasını açmak için ayrı bir uygulamaya ihtiyacımız var. Günümüz kültüründe, PDF dosyaları kesinlikle gereklidir. Fatura ve belge oluşturma için Taşınabilir Belge Formatı dosyaları, çok çeşitli işletmelerde kullanılmaktadır. Geliştiriciler, müşterilerinin ihtiyaçlarına yönelik belgeler oluşturmak için PDF formatını kullanır. Günümüz kütüphaneleri sayesinde, PDF oluşturmak hiç olmadığı kadar kolay. Bu tür bir kütüphaneyi bir projede kullanırken, hangi kütüphanenin piyasada en iyi olduğunu belirlemek için yapım, okuma ve dönüştürme yeteneği gibi faktörleri göz önünde bulundurmalıyız.
Bu makalede, .NET bileşenleri için en yaygın iki PDF kütüphanesini karşılaştıracağız. Bu iki kütüphane:
- IronPDF
- DevExpress PDF Viewer Kontrolleri
IronPDF ve DevExpress PDF, Microsoft .NET uygulamanızda kullanılabilecek iki kütüphanedir. IronPDF, ister çevrimiçi ister masaüstü uygulaması olsun, bir PDF'yi oluşturmak, okumak ve değiştirmek için kullanılabilir. DevExpress, belgeleri görüntülemek için bir PDF Görüntüleyici kontrolü ve programatik PDF oluşturma ve işleme için tam bir PDF kütüphanesi olan DevExpress.Pdf sunar.
IronPDF Özellikleri
IronPDF, tarayıcının yapabildiği neredeyse her şeyi yapabilen yetenekli bir PDF dönüştürücüdür. PDF dosyaları oluşturmayı, okumayı ve manipüle etmeyi son derece kolay hale getiren geliştirici dostu bir PDF kütüphanesidir. IronPDF, HTML'yi Chrome motorunu kullanarak PDF'ye dönüştürür. IronPDF, Windows Forms, HTML, ASPX, Razor HTML, .NET Core, ASP.NET, Windows Form, WPF, Xamarin, Blazor, Unity ve HoloLens uygulamalarını destekler. Microsoft .NET ve .NET çekirdek uygulamaları IronPDF tarafından desteklenmektedir (hem ASP.NET Web uygulamaları hem de geleneksel Windows uygulamaları). IronPDF, görsel açıdan çekici PDF'ler oluşturmak için de kullanılabilir.
IronPDF, HTML5, JavaScript, CSS ve resimleri PDF belgelerine dönüştürebilir. Bir dosyada başlık ve altbilgi de dahil edilebilir. Ayrıca, PDF'leri kolay okunabilir kılar. IronPDF ayrıca PDF dosyalarıyla çalışan sağlam bir HTML'den PDF'ye dönüştürücü ile birlikte gelir. IronPDF, güçlü bir PDF dönüştürme motoruna sahiptir. IronPDF ile harici bir bağımlılık yoktur.
- PDF oluşturmak için kullanılabilecek kaynaklar arasında HTML, HTML5, ASPX ve Razor/MVC Görünümü bulunur. Sadece bir HTML dosyasını PDF'ye dönüştürmekle kalmaz, aynı zamanda resim dosyalarını da dönüştürebiliriz.
- IronPDF ile gerçekleştirebileceğimiz işlemlerden sadece bazıları interaktif PDF belgeleri oluşturmak, interaktif formları doldurmak ve göndermek, PDF belgelerini birleştirmek ve bölmek, PDF belgelerinden metin ve resim çıkarmak, PDF belgelerinde metin aramak, PDF sayfalarını resimlere dönüştürmek ve PDF belgelerini dönüştürmektir.
- Başlamak için, bir belgeyi resmi IronPDF web sitesi vasitasyonla oluşturun. Ayrıca, özel ağ oturum açma kimlik bilgilerini, kullanıcı ajanlarını, proxy'leri, tanımlama bilgilerini, HTTP başlıklarını ve HTML giriş formlarının arkasında oturum açma için form değişkenlerini destekler.
- Kullanıcı adları ve şifreleri belirleyerek IronPDF'nin korunmuş belgeleri açmamıza izin verir.
- IronPDF, mevcut PDF belgelerini okuyan ve boşlukları dolduran bir programdır.
- Belgelerden resim çıkarmak yeteneğine sahiptir.
- Belgeri başlık, altbilgi, metin, resimler, yer imleri, filigranlar ve daha fazlası ile kişiselleştirmemize olanak tanır.
- Yeni veya mevcut bir belgede sayfaları bölme ve birleştirme sağlar.
- Acrobat okuyucu olmaksızın belgeleri PDF nesnelerine hala dönüştürebiliriz.
- Bir CSS dosyası, PDF belgelerine dönüştürülebilir.
- CSS dosyası medya türü dosyaları belgelere dönüştürülebilir.
- Var olan PDF formlarını doldurun ve yenilerini ekleyin.
DevExpress PDF Özellikleri
DevExpress, Visual Studio'da bulunan Windows uygulamalarında kullanılabilecek WinForms kontrolleri sağlar. Kullanıcıların PDF'lere erişebilmesi için bir liste WinForms kontrolleri sağlar. WPF kontrolleri ve ASP.NET biçim kontrolleri için de kontroller sağlar.
PDF Görüntüleyici, PC'nizde harici bir PDF görüntüleyici yüklemeye gerek kalmadan PDF dosyalarını doğrudan WinForms uygulamanızda görüntüler. Windows Forms'taki PDF Görüntüleyici kontrolü uygulamanızdan doğrudan PDF belgelerini görüntüleme, değiştirme ve yazdırma sağlar. PDF Görüntüleyici sadece belgeleri görüntülemekten daha fazlasını yapar; kullanıcılara form alanlarını değiştirme, belgeleri not ekleme ve panoyu kullanma imkanı da tanır. DevExpress tüm .NET Çerçeveleri ve Kütüphaneleri için mevcuttur. ASP.NET, MVC, ASP.NET Core vb. için de kontroller ve uzantılar sağlar.
PDF Görüntüleyici, zengin bir belge içerik türleri setini destekler, bunlar arasında:
- JPX / JBIG2 Resimleri
- Desenler
- Şeffaflık Grupları
- Tip 3 Yazı Tipleri
- Etkileşimli Formlar
Evet, DevExpress'in WinForms PDF kontrolü DirectX tarafından desteklenmekte olup, etkileyici metin işleme ve metin başlatma desteği sunar.
WinForms için PDF görünümü ile tam bir kullanıcı arayüzü dahildir. Bir belgenin saat yönünde ve saat yönünün tersine döndürülmesi, sayfa içeriğine yakınlaştırma ve yeni kullanılan sayfa görüntüleme stilleri arasında geçiş yapılması gibi belgenin görüntülenme biçimini değiştirmek için kullanılabilir.
El aletleri, seçim yakınlaştırma araçları ve çeşitli klavye ve imleç etkileşim modları PDF Görüntüleyici kontrollerinde mevcuttur. Bağlam menüsünde imleç modunu değiştirin veya Command UI'de aracı seçin.
Gezinme Paneli kaydedilmiş sayfalara atlamanızı, bir önizleme resmi kullanarak belirli bir sayfaya gitmenizi ve bir dosya ve açıklamalar düzenlemenizi sağlar.
DevExpress, bize geri bildirim sağlamaya ve sorgulara yanıt olarak sürekli destek sunmaya olanak tanır. Detaylı geri bildirime ihtiyaç duyulması durumunda destek ekibi ile iletişime geçilebilir.
2. Visual Studio'da Yeni Proje Oluşturma
Visual Studio yazılımını açın ve dosya menüsüne gidin. "Yeni proje" seçeneğini seçin ve ardından "Konsol Uygulaması"nı seçin. Bu makalede, PDF belgeleri oluşturmak için bir konsol uygulaması kullanacağız.
Proje adını girin ve uygun metin kutusuna dosya yolunu seçin. Ardından, Yarat butonuna tıklayın ve aşağıdaki ekran görüntüsünde olduğu gibi gerekli .NET Framework'ü seçin:
Visual Studio projesi artık seçilen uygulamanın yapısını oluşturacak ve konsol, windows ve web uygulamasını seçtiyseniz, kodu girip uygulamayı derleyip/çalıştırabileceğiniz program.cs dosyasını şimdi açacaktır.
Sonrasında, kodu test etmek için kütüphaneyi ekleyebiliriz.
3.0 IronPDF Kütüphanesini Yükleyin
IronPDF Kütüphanesi dört şekilde indirilebilir ve yüklenebilir.
Bunlar şunlardır:
- Visual Studio Kullanarak
- Visual Studio Komut Satırını Kullanarak
- NuGet web sitesinden doğrudan indirme
- IronPDF web sitesinden doğrudan indir
3.1 Visual Studio Kullanarak
Visual Studio yazılımı, paketin doğrudan çözüme yüklenmesi için NuGet Paket yöneticisi seçeneği sunar. Aşağıdaki ekran görüntüsü, NuGet Paket Yöneticisi'ni nasıl açacağınızı gösterir.
NuGet web sitesinden paket listesini göstermesi için bir arama kutusu sağlar. Paket yöneticisinde "IronPDF" anahtar kelimesini aramamız gerekiyor, aşağıdaki ekran görüntüsünde olduğu gibi:
Yukarıdaki resimde, ilgili arama öğeleri listesini alıyoruz. Çözüme paketi kurmak için gerekli seçeneği seçmemiz gerekiyor.
3.2 Visual Studio Komut Satırını Kullanarak
Visual Studio'da, Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu'na gidin
Paket yöneticisi konsol sekmesine aşağıdaki satırı girin:
Install-Package IronPdf
Paket şimdi mevcut projeye indirilecek/yüklenecek ve kullanıma hazır olacak.
3.3 NuGet Web Sitesinden Doğrudan İndir
Üçüncü yol, NuGet paketini doğrudan web sitesinden indirmektir.
- NuGet paket sayfasına gidin NuGet
- Sağdaki menüden indirme paketi seçeneğini seçin.
- İndirilen paketi çift tıklayın. Otomatik olarak yüklenecek.
- Daha sonra çözümü yeniden yükleyin ve projede kullanmaya başlayın.
3.4 IronPDF Web Sitesinden Doğrudan İndir
IronPDF sitesinden en son paketi doğrudan indirin. İndirildikten sonra, paketi projeye eklemek için aşağıdaki adımları takip edin.
- Çözüm penceresinden projeye sağ tıklayın.
- Ardından, başvuru seçeneğini seçin ve indirilen referansın konumuna göz atın.
- Bundan sonra, referansı eklemek için Tamam'a tıklayın.
4.0 PDF Görüntüleyici Kütüphanesini Yükleyin
PDF Görüntüleyici kütüphanesi dört şekilde indirilebilir ve yüklenebilir.
Bunlar şunlardır:
- Visual Studio Kullanarak
- Visual Studio Komut Satırını Kullanarak
- DevExpress web sitesinden doğrudan indirin
DevExpress NuGet'i Kayıt
NuGet'i kullanarak DevExpress paketlerini yüklemek için öncelikle DevExpress NuGet beslemesini bir paket kaynağı olarak kaydetmelisiniz.
- Bir NuGet Besleme URL'si veya bir yetki anahtarı ile DevExpress NuGet paketlerine erişebilirsiniz. Daha fazla bilgi veya güncellemeler için, DevExpress belgelerini kontrol edin.
- Visual Studio'da, Seçenekler panelini açın (Araçlar -> Seçenekler) ve DevExpress NuGet beslemesini bir paket kaynağı olarak kaydedin. Bu diyaloğdaki Paket Yöneticisi seçeneğini bulun ve aşağıda gösterildiği gibi DevExpress Feed'i paket kaynağına ekleyin.
- Yetkilendirme anahtarı kullanıyorsanız,
https://nuget.devexpress.com/apipaket kaynağı olarak kullanın. - Bir NuGet Besleme URL'si kullanıyorsanız, bunu paket kaynağı olarak belirtin.
- Yetkilendirme anahtarı kullanıyorsanız,
4.1 Visual Studio Kullanımı
Yukarıda belirtildiği gibi, sadece NuGet paket yöneticisine gidin ve DevExpress NuGet paket yöneticisini seçin. Ardından, "Win.PdfViewer" anahtar kelimesini arayın. Aşağıda olduğu gibi tüm ilgili arama sonuçlarını sağlayacaktır.
Projede paketi yüklemek için ilk sonuç seçeneğini seçin.
4.2 Visual Studio Komut Satırını Kullanma
Visual Studio'da, Araçlar -> NuGet Paket yöneticisi -> Paket yöneticisi konsolu'na gidin
Paket yöneticisi konsol sekmesine aşağıdaki satırı girin:
Install-Package DevExpress.Win.PdfViewer
Ardından, Enter tuşuna basın. Bu, aşağıda gösterildiği gibi bir oturum açma penceresi isteyecektir. Kullanıcı adını DevExpress olarak girmemiz ve şifre DevExpress URL'den alınabilir. Bu, DevExpress'in indirmek için sunucuyla iletişim kurmasına izin verecektir.
Ardından, paket mevcut projeye indirilecek/yüklenecek ve kullanıma hazır olacaktır.
4.3 DevExpress Web Sitesinden Doğrudan İndir
DevExpress Ürün Deneme sayfasını ziyaret edin, ve bu, çeşitli .NET framework ortamları için web sitesinden en son paketi doğrudan indirmek üzere mevcut DLL seçenekleri listesine yönlendirecektir; gerekli paketi indirmek için seçebilirsiniz. İndirildikten sonra, paketi projeye eklemek için aşağıdaki adımları takip edin.
Dosya indirildikten sonra, indirilen dosyayı çift tıklayın ve aşağıdaki resimde olduğu gibi kurulum başlamış olacaktır:
Sonra, kurulum düğmesine tıklayın ve yeni bir açılır pencere belirecektir.
Yüklemek için gerekli seçeneği seçin.
Daha sonra, lisansı kabul edin ve birkaç dakika içinde yükleme tamamlanacaktır.
5.0 IronPDF Kullanarak PDF Oluşturun
IronPDF ile PDF belgeleri oluşturmak kolaydır - bir URL'den bir HTML dosyası oluşturacak ve bunu PDF'ye dönüştürecektir.
Aşağıdaki adımlar, PDF belgeleri oluşturmayı kolaylaştırır.
using IronPdf;
// Create an instance of the ChromePdfRenderer
ChromePdfRenderer Renderer = new ChromePdfRenderer();
// Render a URL as a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, do the above in a single line
new ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
using IronPdf;
// Create an instance of the ChromePdfRenderer
ChromePdfRenderer Renderer = new ChromePdfRenderer();
// Render a URL as a PDF and save it
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, do the above in a single line
new ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
Imports IronPdf
' Create an instance of the ChromePdfRenderer
Private Renderer As New ChromePdfRenderer()
' Render a URL as a PDF and save it
Private Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")
' Alternatively, do the above in a single line
Call (New ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
Yukarıdaki örnekte, bir bağlantıyı belgeye dönüştürmek için iki yöntem kullanabiliriz. Bir yöntem, bir IronPDF nesnesi oluşturarak belgeyi oluşturmaktır ve başka bir yöntem ve RenderUrlAsPdf için bir nesne oluşturmaktır.
Yukarıdaki, RenderUrlAsPdf kullanarak bir belgeye dönüştürebileceğimizi gösteriyor. Sadece bağlantıyı ve kaydetme yerini geçmemiz gerekiyor.
6.0 IronPDF Kullanarak HTML Dizelerinden PDF Oluşturma
IronPDF'ün yardımıyla HTML dizelerini PDF belgelerine dönüştürebiliriz. Aşağıda, bir HTML dizesinin nasıl belge haline getirileceğine dair bir örnek bulunmaktadır. Ayrıca herhangi bir HTML etiketini PDF'ye dönüştürme yeteneğine de sahiptir.
using IronPdf;
// Render an HTML string as a PDF and save it
new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
using IronPdf;
// Render an HTML string as a PDF and save it
new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
Imports IronPdf
' Render an HTML string as a PDF and save it
Call (New ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
Yukarıdaki örnek, bir HTML dizesini dönüştürmek için RenderHtmlAsPdf'in nasıl kullanılacağını göstermektedir. Buna ek olarak, HTML'yi dizeye dönüştüren fonksiyona herhangi bir sayıda HTML kodu sağlayabiliriz. "Farklı kaydet" işlevini kullanarak dizeyi aldıktan sonra belgeyi kaydedebiliriz.
Bootstrap Yetenek Matrisi
PDF oluşturma araçları, kurumsal uygulamalar için modern web çerçevelerini desteklemelidir. Bu Bootstrap 5 demonstrasyonu, IronPDF'nin kapsamlı özellik setini liste grupları ve durum rozetleri kullanarak göstermektedir.
using IronPdf;
var renderer = new ChromePdfRenderer();
string capabilityMatrix = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(capabilityMatrix);
pdf.SaveAs("capability-matrix.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string capabilityMatrix = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(capabilityMatrix);
pdf.SaveAs("capability-matrix.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim capabilityMatrix As String = "
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.capability-item { border-left: 4px solid transparent; transition: all 0.2s; }
.capability-item.supported { border-left-color: #198754; }
.capability-item.limited { border-left-color: #ffc107; }
@media print { .list-group-item { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-primary text-white'>
<h3 class='mb-0'>PDF Library Feature Comparison</h3>
</div>
<div class='card-body'>
<div class='row'>
<div class='col-md-6'>
<h5 class='text-primary mb-3'>Rendering Capabilities</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>HTML5 Support</strong><br><small class='text-muted'>Modern semantic elements</small></span>
<span class='badge bg-success align-self-center'>Full</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>CSS3 Layouts</strong><br><small class='text-muted'>Flexbox and Grid</small></span>
<span class='badge bg-success align-self-center'>Native</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>JavaScript</strong><br><small class='text-muted'>Dynamic content rendering</small></span>
<span class='badge bg-success align-self-center'>V8 Engine</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Web Fonts</strong><br><small class='text-muted'>Google Fonts, custom fonts</small></span>
<span class='badge bg-success align-self-center'>Complete</span>
</li>
</ul>
</div>
<div class='col-md-6'>
<h5 class='text-success mb-3'>Document Operations</h5>
<ul class='list-group list-group-flush'>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Merge/Split</strong><br><small class='text-muted'>Combine or extract pages</small></span>
<span class='badge bg-success align-self-center'>Available</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Watermarking</strong><br><small class='text-muted'>Text and image stamps</small></span>
<span class='badge bg-success align-self-center'>Advanced</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Form Fields</strong><br><small class='text-muted'>Interactive PDF forms</small></span>
<span class='badge bg-success align-self-center'>Full Support</span>
</li>
<li class='list-group-item capability-item supported d-flex justify-content-between'>
<span><strong>Security</strong><br><small class='text-muted'>Encryption and signatures</small></span>
<span class='badge bg-success align-self-center'>AES-256</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class='row g-3'>
<div class='col-md-6'>
<div class='card shadow-sm h-100'>
<div class='card-body'>
<h5 class='card-title text-primary'>✓ IronPDF Strengths</h5>
<ul class='mb-0'>
<li>Chrome-based rendering for accuracy</li>
<li>Complete Bootstrap 5 compatibility</li>
<li>Cross-platform deployment ready</li>
<li>Intuitive API with extensive docs</li>
</ul>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card shadow-sm h-100 bg-light'>
<div class='card-body'>
<h5 class='card-title text-warning'>⚠ DevExpress Notes</h5>
<ul class='mb-0'>
<li>PDF Viewer control focused on display</li>
<li>DevExpress.Pdf library for programmatic operations</li>
<li>Requires UI suite subscription</li>
<li>Complex licensing model</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(capabilityMatrix)
pdf.SaveAs("capability-matrix.pdf")
Çıktı: Bootstrap 5 liste grupları, rozetleri ve kart düzenleriyle kapsamlı bir yetenek matrisi PDF'si. IronPDF, tüm yardımcı sınıfları, flexbox doğrulaması ve duyarlı ızgara sistemlerini mükemmel bir şekilde işler, üstün Bootstrap çerçevesi desteğini gösterir.
Bootstrap desteği hakkında daha fazla bilgi için Bootstrap & Flexbox CSS Kılavuzuna bakın.
7.0 IronPDF Kullanarak PDF Okuma
IronPDF, mevcut PDF dosyalarını okumamıza olanak tanır. Mevcut bir PDF'yi okumak için IronPDF'nin nasıl kullanılacağına dair bir örnek aşağıdadır.
using IronPdf;
// Read an existing PDF file
var pdfDocument = PdfDocument.FromFile("result.pdf");
// Extract all text from the PDF
string AllText = pdfDocument.ExtractAllText();
using IronPdf;
// Read an existing PDF file
var pdfDocument = PdfDocument.FromFile("result.pdf");
// Extract all text from the PDF
string AllText = pdfDocument.ExtractAllText();
Imports IronPdf
' Read an existing PDF file
Private pdfDocument = PdfDocument.FromFile("result.pdf")
' Extract all text from the PDF
Private AllText As String = pdfDocument.ExtractAllText()
Yukarıdaki kodda gösterildiği gibi, bir PDF'yi mevcut bir dosyadan okumak ve bir PdfDocument nesnesine dönüştürmek için FromFile yöntemi kullanılır. Bu nesneyi kullanarak PDF sayfalarında erişilebilir metin ve resimleri okuyabiliriz. Nesnenin, bir PDF belgesinden tüm metni bir dizgeye dönüştüren ExtractAllText adlı bir yöntemi vardır.
8.0 Bir PDF Görüntüleyici Uygulaması Oluşturma
Bir PDF görüntüleyici uygulaması aşağıdaki adımlarla oluşturulabilir:
- Microsoft® Visual Studio'da yeni bir Windows Forms Uygulaması projesi oluşturun.
- DX.21.2: Common Controls araç kutusu menüsünden form üzerine PDF Görüntüleyici öğesini sürükleyin.
- PDF Görüntüleyici kontrolü Görevler menüsünde, PDF Görüntüleyici için akıllı etiketi tıklayın ve üst kapsayıcının içine yerleştir seçeneğini seçin. Bu, PDF Görüntüleyici'nin formun boyutuna kadar genişletilmesine neden olur.
- PDF Görüntüleyici kontrolünü kullanmak için önce bir belge yüklemelisiniz. PDF Görüntüleyici'nin etkinlik listesine erişmek için akıllı etiketine tıklayın. Eylemler listesinde PDF yükle seçeneğini tıklayın.
- "Aç" iletişim kutusu görüntülenir. Bu diyaloğda açılacak belgeyi bulun ve Aç'a tıklayın.
Kontrolleri kullanarak aşağıdaki görevleri gerçekleştirebiliriz:
PDF'ler Arasında Gezinme
Bir PDF dosyasında kolayca gezinin ve inceleyin. Görüntüleyici kontrolleri, aşağıdakiler dahil geniş bir belge gezinti seçenekleri yelpazesiyle birlikte gelir:
- Yer İmleri ve Bağlantılar
- Gezinme paneli (özelleştirilebilir belge gezinti UI)
- Tüm sayfaların önizleme resimleri
- Şerit ile UI
Görüntüleyici, ziyaret edilen tüm sayfaları takip eder ve kullanıcıların gerektiğinde geri ve ileri gidebilmelerini sağlar. Ayrıca, Adobe Reader'daki gibi (seçenekler arasında büyük küçük harf duyarlı ve bütün kelime arama dahil) PDF içeriğini aramak için Find panelini kullanabilirsiniz.
İnceleme ve Yorum Yapma
Kullanıcıların yorum ekleme, düzenleme ve silme yetenekleri vardır. WinForms için olan Görüntüleyici, bir text highlighter ve yapışkan notları içeren tam bir açıklama yetenekleri setine sahiptir.
- Zorluk çekmeden işbirliği yapın
- Ek yetenekler/seçenekler arasında:
- Yanıtlar ve incelemeler eklenebilir
- İşaretleme aracının seçeneklerini yapılandır (renk ve opaklık)
- Yorumlar sıralanabilir, filtrelenebilir ve aranabilir
- Kapsamlı bir API
- DevExpress kullanarak yakınlaştır ve uzaklaştır.
Doldurulabilir bir PDF formu
AcroForms, belgeleri düzenlemenizi sağlar. Görüntüleyiciyi WinForms projenize ekledikten sonra, kullanıcılarınız form alanı verilerini içeren herhangi bir PDF'yi düzenleyebilirsiniz. Görüntüleyicideki her bir alan, ait olduğu form türüne göre, örneğin metin kutusu, radyo düğmesi, otomatik tamamlamalı kombo kutu, onay kutusu ve listeler gibi gösterilir.
PDF'niz AcroForm verilerini içeriyorsa, aşağıdaki formatlardan içe/dışa aktarabilirsiniz: FDF, XFDF, XML ve TXT.
Eklenmiş dosyaları açın ve kaydedin
DevExpress PDF Görüntüleyicilerin Gezinme Panelinde ilişkili dosyalar görüntülenir. Bir dosyaya bağlı bir PDF açılabilir ve diske kaydedilebilir. PDF'ye bağlı bir dosya açıldığında, Görüntüleyici ayrıca bir güvenlik uyarısı görüntüleme seçeneğine sahiptir.
PDF Yazdırma
Görüntüleyici, Adobe'den esinlenmiş tam bir yazdırma seçenekleri seti içeren bir Baskı Önizleme Diyaloğu ile birlikte gelir. Gerçek zamanlı önizleme, sayfa aralığı seçimi, DPI ayarları ve yönlendirme bunlara dahildir.
9.0 Sonuç
Bu makalede IronPDF ve DevExpress'i karşılaştırdık. Her iki kütüphanede de mevcut olan bir dizi ortak özellik vardır. IronPDF, HTML render için kullanıcının Chrome ayarlarını dikkate alır, fakat DevExpress, HTML'yi işlemek için geçerli kullanıcı ayarlarını görmezden gelen ayrı bir motor üzerinde çalışır. IronPDF, HTML'yi DevExpress'ten daha hızlı render edebilir.
Performans açısından, IronPDF, HTML-to-PDF üretim görevleri için DevExpress'den daha hızlıdır. DevExpress PDF Görüntüleyici kontrolü, belgeleri göstermeye odaklanırken, DevExpress.Pdf programatik PDF yetenekleri sağlar. Telif ücretsiz yeniden dağıtım kapsamı IronPDF ile ekstra maliyetle gelir; yeniden dağıtım ayrıntıları için DevExpress lisanslama şartlarını kontrol edin. IronPDF, DevExpress PDF kontrolleri ile karşılaştırıldığında anlamlı şekilde daha fazla HTML-to-PDF üretim özellikleri sunar.
Sonuç olarak, IronPDF'yi yüksek performans seviyeleri ve PDF'lerle çalışan geliştiricilere sunduğu geniş özellik çeşitliliği nedeniyle tercih ediyoruz. IronPDF ayrıca kullanıcıların sunulan etkileyici özellikler yelpazesinden tam ve etkili bir şekilde yararlanabilmesini sağlayan iyi destek ve dokümantasyon sağlar.
Sıkça Sorulan Sorular
HTML'yi C# içerisinde PDF'ye nasıl dönüştürebilirim?
HTML dizgilerini PDF'lere dönüştürmek için IronPDF'ün RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca, HTML dosyalarını RenderHtmlFileAsPdf kullanarak PDF'lere dönüştürebilirsiniz.
IronPDF ile DevExpress PDF Viewer arasındaki farklar nelerdir?
IronPDF, birden fazla platformda PDF oluşturma, okuma ve değiştirme için çok yönlü bir araçtır ve güçlü bir HTML'den PDF'ye dönüştürme yeteneklerine sahiptir. Buna karşılık, DevExpress PDF Viewer öncelikle PDF'leri görüntülemeye odaklanır ve belge açıklama ve form doldurma işlevlerini destekler.
Bir kütüphane kullanarak mevcut bir PDF'den metin ve resim çıkartabilir miyim?
Evet, IronPDF, kapsamlı API'si kullanılarak mevcut PDF dosyalarından metin ve resim çıkarmaya olanak tanır.
Hangi platformlar IronPDF'yi PDF yönetimi için destekler?
IronPDF, Windows Forms, ASP.NET, .NET Core, WPF, Xamarin, Blazor, Unity ve HoloLens uygulamaları dahil birçok platformu destekler.
.NET projesine IronPDF nasıl yüklenir?
IronPDF, Visual Studio'nun NuGet Paket Yöneticisi, Visual Studio Komut Satırı veya doğrudan NuGet ya da IronPDF web sitelerinden indirerek bir .NET projesine yüklenebilir.
Neden geliştiriciler IronPDF'yi DevExpress PDF Viewer yerine tercih edebilir?
Geliştiriciler, HTML'den PDF'ye dönüşüm, etkileşimli PDF oluşturma ve güçlü performans dahil geniş özellikleri nedeniyle IronPDF'yi tercih edebilir. Ayrıca, mükemmel destek ve belgelendirme sunar, bu da onu DevExpress yerine tercih edilen bir seçim yapar.
PDF kütüphaneleri kullanırken yaygın hata ayıklama senaryoları nelerdir?
Yaygın hata ayıklama senaryoları, kütüphanenin doğru kurulumu, .NET sürümüyle uyumluluğun doğrulanması ve PDF oluşturma veya dönüştürme sırasında dosya yolları veya izinlerle ilgili istisnaların ele alınması gibi işlemleri içerir.
Bir PDF yönetim kütüphanesinde bakılması gereken özellikler nelerdir?
Dikkate alınması gereken temel özellikler; HTML'den PDF'ye dönüşüm, metin ve resim çıkarma, etkileşimli formlar, belge özelleştirme seçenekleri ve çeşitli platformlar için destek içermelidir. IronPDF, bu özelliklerin tümünü sunar, bu da onu PDF yönetimi için kapsamlı bir seçenek yapar.



