IronPDF ve DynamicPDF - Kapsamlı Karşılaştırma
1. Tanıtım
PDF, biçimlendirilmiş metin ve resimler içeren belgeleri sunmak için Adobe tarafından geliştirilen Portable Document Format anlamına gelir. PDF formatındaki dosyaları açmak için ayrı bir uygulamaya ihtiyaçımız var. PDF, modern dünyada önemli bir rol oynuyor; PDF dosyaları, faturalama ve belge oluşturma için çoğu endüstri sektöründe kullanılır. Geliştiriciler, belge oluşturma talimatları için müşteri gereksinimlerini karşılamak amacıyla PDF'ler kullanıyor. Günümüzde, PDF oluşturmak piyasada artık mevcut olan kütüphaneler sayesinde çok daha kolay hale geldi. Bir projede bu tür bir kütüphaneyi kullanırken, oluşturma, okuma ve dönüştürme gibi faktörleri göz önünde bulundurmalıyız; bu, hangi kütüphanenin bize en uygun olduğuna karar vermemize yardımcı olacaktır.
Bu yazıda, .NET bileşenleri için en popüler iki PDF kütüphanesini karşılaştıracağız. Bu iki kütüphane şunlardır:
- IronPDF
- DynamicPDF
IronPDF ve DynamicPDF kütüphaneleri, Microsoft .NET uygulamalarınızda, ASP.NET web uygulamalarında ve geleneksel Windows uygulamalarında PDF dosyaları oluşturmak, okumak veya değiştirmek için kullanılır. Artık bu iki kütüphaneyi karşılaştırabiliriz. Uygulamamızda hangisinin en iyi şekilde kullanılacağına karar vermek için, önce iki kütüphanenin özelliklerini karşılaştıracak, daha sonra PDF dosyalarını dönüştürüp işleme performans seviyelerini analiz edeceğiz. Her iki kütüphane de Microsoft .NET Core frameworkleri tarafından desteklenmektedir.
1.1 IronPDF Özellikleri
IronPDF, bir web tarayıcısının sunabileceği hemen hemen her şeyi halledebilen güçlü bir HTML dönüştürücüdür. Geliştiriciler için bir .NET kütüphanesi, PDF dosyaları oluşturmak, okumak veya değiştirmek amacıyla kolaylıkla kullanılabilir. IronPDF, HTML'yi PDF'ye render etmek için Chromium motoru kullanır ve HTML, ASPX, Razor HTML ve MVC View gibi çeşitli web bileşenlerini destekler. IronPDF, Microsoft .NET uygulamalarınızda (hem ASP.NET Web uygulamaları hem de geleneksel Windows uygulamaları) dosyaları destekler.
IronPDF, HTML5, JavaScript, CSS ve görüntülerden dosyalar oluşturmamıza olanak tanır. Dosyalara başlıklar ve altbilgiler de ekleyebiliriz ve genel olarak PDF dosyalarını okumak çok basit hale gelir. Ayrıca, IronPDF, tüm PDF dosyalarını halledecek güçlü bir HTML'den PDF'ye dönüştürücü içerir.
HTML, HTML5, ASPX ve Razor/MVC Görünümü'nden çeşitli dosya türlerinden PDF dosyaları oluşturulabilir. Görüntü dosyalarını PDF'lere dönüştürme imkanına da sahibiz.
Bir URL bağlantısından belge oluşturun. Ayrıca özel ağ giriş kimlik bilgileri, Kullanıcı Aracıları, Proxy'ler, Çerezler, HTTP başlıkları ve form değişkenlerinin kullanılmasına izin vererek HTML giriş formlarının arkasında oturum açma imkanı sunar.
- IronPDF, mevcut PDF belgelerinde form okuma ve doldurma olanağı sağlar.
- Belgelerden görüntü çıkarabilme yeteneğine sahiptir.
- Belgelerimize başlıklar, altbilgiler, metin, görüntüler, sık kullanılanlar, filigranlar vb. eklememize olanak tanır.
- Yeni veya mevcut belge sayfalarını birleştirmek ve bölmek için olanak sağlar.
- Belgeleri Acrobat Reader'sız PDF objelerine dönüştürebiliriz.
- CSS dosyalarını ve medya türü dosyalarını belgelere dönüştürebiliriz.
1.2 DynamicPDF Özellikleri
DynamicPDF for .NET, kullanıcılarının .NET platformunda oluşturma, düzenleme, birleştirme, bölme, raporlama ve yazma gibi çeşitli özelliklerden faydalanmasını sağlayan bir PDF manipülasyon aracıdır. DynamicPDF, kullanıcıların PDF ile ilgili işlerinde yardımcı olan yedi farklı özellik veya ürün sunmaktadır. DynamicPDF tarafından sunulan ürünleri aşağıda görebilirsiniz.
DynamicPDF HTML Dönüştürücü for .NET
DynamicPDF HTML Dönüştürücü, HTML'yi PDF ve PDF bayt dizilerine dönüştürür.
DynamicPDF Core Suite for .NET
DynamicPDF Core Suite, PDF oluşturma, PDF raporu oluşturma, PDF paketleme, PDF/A uyumlu PDF, PDF/X uyumlu PDF, PDF damgalama, etiketli PDF ve şablon gibi tüm PDF manipülasyonlarını yöneten ana ürünleridir.
DynamicPDF PrintManager for .NET
Bu özellik, bir PDF'yi yazdırma, bir PDF'yi faks çekme, bayt dizisinden PDF yazdırma ve birden çok PDF yazdırma imkanı sunar.
DynamicPDF Dönüştürücü for .NET
Bu, farklı dosya formatlarını PDF'ye dönüştürmek için .NET platformlarını HTML, Excel, PowerPoint, Tiff ve Word gibi kullanarak sunmaktadır.
DynamicPDF Yönlendirme for .NET
Bu ürün, kullanıcıların PDF'yi JPG, TIFF, BMP, PNG ve GIF gibi farklı görüntü formatlarına dönüştürmesine olanak tanır.
DynamicPDF Görüntüleyici for .NET
DynamicPDF Görüntüleyici, PDF'lerin açılmasını ve görüntülenmesini sağlar.
- Şifreli PDF Aç
- Bayt Dizisinden PDF Aç
- Yol Dosyasından PDF Aç
DynamicBarcode Creator for .NET
Bu özellik, geliştiricilere farklı türlerde barkodlar oluşturma imkanı tanır.
- 2D barkod
- Lineer barkod
- Posta barkodu
2. Visual Studio'da Yeni Proje Oluşturma
Visual Studio yazılımını açın, dosya menüsüne gidin ve yeni bir proje seçin. Ardından konsol uygulaması seçin. Bu makalede, PDF belgeleri oluşturmak için bir konsol uygulaması kullanacağız.
Proje adını girin ve ilgili metin kutusunda dosya yolunu seçin. Ardından Oluştur düğmesine tıklayın. Ayrıca, gereken .NET Framework'ü seçin.
Visual Studio projesi şimdi seçilen uygulama için yapıyı oluşturacak ve eğer konsol, Windows ve web uygulaması seçerseniz, kodunuzu girebileceğiniz program.cs dosyasını açacak ve uygulamayı oluşturup çalıştıracaktır.
Sonraki adımda, kodu test etmek için kutuphaneyi ekleyebiliriz.
3. IronPDF Kütüphanesini Yükleyin
IronPDF kütüphanesi dört farklı şekilde indirilebilir ve kurulabilir.
Bunlar su sekildedir:
- Visual Studio kullanarak.
- Visual Studio Komut Satırı kullanarak.
- NuGet web sitesinden doğrudan indirme.
- IronPDF web sitesinden doğrudan indirme.
3.1 Visual Studio Kullanımı
Visual Studio yazılımı, paketi doğrudan çözüm içine kurmak için NuGet Package Manager seçeneğini sunar.
NuGet web sitesinden paketlerin listesini göstermek için arama kutusu sağlar. Paket yöneticisinde, "IronPDF" anahtar kelimesini aramamız gerekiyor.
3.2 Visual Studio Komut Satırı Kullanarak
- Microsoft Visual Studio içinde, Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu üzerine gidin
- Paket Yöneticisi Konsolu sekmesine aşağıdaki satırı girin:
Install-Package IronPdf
Şimdi paket mevcut projeye indirilecek/kurulacak ve kullanıma hazır olacaktır.
3.3 NuGet Web Sitesinden Doğrudan İndirme
Üçüncü yol, NuGet paketini doğrudan web sitesinden indirmektir.
- IronPdf NuGet Paketi konumuna gidin.
- Sağ taraftaki menüden indirme paketi seçeneğini seçin.
- İndirilen paketi çift tıklayın. Otomatik olarak yüklenecektir.
- Şimdi çözümü yeniden yükleyin ve projede kullanmaya başlayın.
3.4 IronPDF Web Sitesinden Doğrudan İndirme
IronPDF Resmi Web Sitesini ziyaret edip en yeni paketi doğrudan web sitesinden indirin. İndirdikten sonra paketi projeye eklemek için aşağıdaki adımları izleyiniz.
- Çözüm penceresinden projeyi sağ tıklayın.
- Sonrasında, referans verme seçeneğini seçin ve indirilen referansın yerini tarayarak bulun.
- Eklemek için Tamam'a tıklayın.
4. DynamicPDF Kütüphanesini Kurun
NuGet Paketi
DynamicPDF Core Suite, NuGet üzerinde mevcuttur ve ceTe.DynamicPDF.CoreSuite.NET paketi içerisindedir. Paketi kurmanın en kolay yolu, Visual Studio Paket Yöneticisi'ni kullanmaktır. Ayrıca paketi doğrudan NuGet'ten indirebilirsiniz.
NuGet Package ID: ceTe.DynamicPDF.CoreSuite.NET
DynamicPDF Core Suite Bilgileri
Daha fazla bilgi DynamicPDF Core Suite Dokümantasyonunda bulunabilir.
Diğer platformlarda kullanılabilir. DynamicPDF Core Suite, Java ve COM/ActiveX platformları için mevcuttur. Daha fazla detay için ilgili ürün sayfalarını inceleyiniz.
4.1 Dokümantasyon
Dokümantasyon hem çevrimiçi hem de ana bilgisayarın makinesine yerel olarak yüklenmiş .chm dosyaları olarak mevcuttur.
4.2 Örnekler
Örnek uygulama, DynamicPDF tarafından sunulan özellikleri gösterir. Bunlar da ana bilgisayarın makinesine yerel olarak yüklenmiştir.
Örnek uygulamalar için DynamicPDF GitHub Deposunu ziyaret edin.
4.3 Yardımcı Araçlar
Ürünü kullanmak için diğer yardımcı araçlar gerekebilir. Örneğin, HTML'yi PDF'ye eklemek için bir araç.
4.3.1 DynamicPDF Referans NuGet Paketini Eklemek
DynamicPDF HTML Dönüştürücü, DynamicPDF Core Suite ve DynamicPDF Dönüştürücü, NuGet aracılığıyla mevcuttur. Paketleri kurmanın en kolay yolu, Visual Studio Paket Yöneticisi aracılığıyladır.
DynamicPDF HTML Dönüştürücü, ceTe.DynamicPDF.HtmlConverter.NET paketi ile NuGet'te mevcuttur.
DynamicPDF Core Suite, ceTe.DynamicPDF.CoreSuite.NET paketi ile NuGet'te mevcuttur.
DynamicPDF Dönüştürücü, ceTe.DynamicPDF.Converter.NET paketi ile NuGet'te mevcuttur.
GitHub Örnek Projesi
Örnek projeyi GitHub'da kopyalayın veya görüntüleyin: DynamicPDF Örnek Projesi.
DynamicPDF Dönüştürücü ve Üreteç Bilgileri
Üç ürünle ilgili daha fazla bilgi şurada mevcuttur:
5. Bir URL'den Taşınabilir Belge Biçimi Oluşturun
Her iki PDF kütüphanesi de güçlü HTML'den PDF'ye dönüştürme yapabilen dönüştürücülere sahiptir. PDF dosyalarını nasıl oluşturabileceğimizi aşağıda görelim.
5.1 IronPDF Kullanarak
IronPDF, PDF'leri oluşturmayı bizim için kolay hale getiriyor. HTML dosyalarını URL'lerden işler ve bunları PDF belgelerine dönüştürür.
Aşağıdaki yöntemler PDF belgeleri oluşturmayı kolaylaştırır:
// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
// Initialize a new instance of the ChromePdfRenderer class.
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Render a PDF from a given URL and save it as "result.pdf".
var Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/");
Pdf.SaveAs("result.pdf");
// Alternatively, chain the method calls
new IronPdf.ChromePdfRenderer().RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf");
' Initialize a new instance of the ChromePdfRenderer class.
Dim Renderer As New IronPdf.ChromePdfRenderer()
' Render a PDF from a given URL and save it as "result.pdf".
Dim Pdf = Renderer.RenderUrlAsPdf("https://www.google.co.in/")
Pdf.SaveAs("result.pdf")
' Alternatively, chain the method calls
Call (New IronPdf.ChromePdfRenderer()).RenderUrlAsPdf("https://www.google.co.in/").SaveAs("result.pdf")
Yukarıdaki örnekte, bağlantıyı belgeye dönüştürmek için iki yöntem kullanıyoruz. Bir yöntem IronPDF nesnesi oluşturmayı içerirken, diğer yöntem RenderUrlAsPdf çağrısını doğrudan zincirlemeyi içerir.
5.2 DynamicPDF Kullanımı
Güçlü HTML'den PDF'e dönüştürücü, DynamicPDF tarafından sağlanan bir özelliktir. Herhangi bir HTML veya işaretleme dosyasını PDF'e dönüştürür. Aşağıda DynamicPDF kullanarak bir PDF oluşturmanın örneği verilmiştir.
// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
// Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath);
' Convert a specified URL to a PDF file.
Converter.Convert("http://www.google.com", pdfFilePath)
Bu örnek, HTML'den (belirtilen bir URL) PDF'e basit bir dosya dönüştürme işlemini göstermektedir.
6. HTML'den Taşınabilir Belge Formatı Oluşturma
IronPDF ve DynamicPDF, HTML dizgisini bir PDF'e dönüştürmek için kolay bir yöntem sağlar.
6.1 IronPDF Kullanımı
IronPDF yardımıyla, HTML dizgilerini PDF belgelerine dönüştürebiliriz. Aşağıda, HTML dizgisini belgelere dönüştürme örneği verilmiştir. Ayrıca herhangi bir HTML etiketini PDF belgelerine dönüştürmeye de olanak tanır.
// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
// Convert an HTML string to a PDF and save it as "result.pdf".
var Renderer = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf");
' Convert an HTML string to a PDF and save it as "result.pdf".
Dim Renderer = (New IronPdf.ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Hello world!!</h1>").SaveAs("result.pdf")
Yukarıdaki örnek, HTML dizgilerini RenderHtmlAsPdf kullanarak dönüştürebildiğimizi göstermektedir.
6.2 DynamicPDF Kullanımı
DynamicPDF de HTML dizgilerini belgelere dönüştürmemize yardımcı olur. Aşağıda HTML dizgilerini dönüştürme örneği verilmiştir.
// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +
"<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +
"<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";
// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath);
// Define a simple HTML string with a table.
string sampleHtml = "<html><body><p>This is a very simple HTML string including a Table below.</p>" +
"<h4>Two rows and three columns:</h4><table border=\"1\"><tr><td>100</td><td>200</td>" +
"<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>";
// Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath);
' Define a simple HTML string with a table.
Dim sampleHtml As String = "<html><body><p>This is a very simple HTML string including a Table below.</p>" & "<h4>Two rows and three columns:</h4><table border=""1""><tr><td>100</td><td>200</td>" & "<td>300</td></tr><tr><td>400</td><td>500</td><td>600</td></tr></table></body></html>"
' Convert the HTML string to a PDF file.
Converter.ConvertHtmlString(sampleHtml, pdfFilePath)
Aşağıdaki örnek, belirli bir HTML dizgisinin PDF'e dönüştürülmesini göstermektedir.
7. Taşınabilir Belge Formatı Belgeleri Okuma
Hem IronPDF hem de DynamicPDF kullanarak PDF belgeleri okuyabiliriz.
7.1 IronPDF Kullanımı
IronPDF, mevcut PDF dosyalarını okumamıza yardımcı olur. Aşağıda, IronPDF kullanarak mevcut PDF'leri okuma örneği verilmiştir.
// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
// Read an existing PDF file and convert it into a PDF document object.
var pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf");
' Read an existing PDF file and convert it into a PDF document object.
Dim pdfDocument = IronPdf.PdfDocument.FromFile("result.pdf")
Yukarıdaki kod FromFile yöntemini çağırır, bu da mevcut bir dosyadan bir PDF'i okuyup onu bir PDF belge nesnesine dönüştürmek için kullanılır.
7.2 DynamicPDF Kullanımı
DynamicPDF, Microsoft .NET uygulamalarında, ASP.NET web uygulamalarında ve geleneksel Windows uygulamalarında mevcut PDF'leri okumamıza da yardımcı olur. Aşağıda PDF belgelerinden veri okuma örneği verilmiştir.
Aşağıdaki adımlar ve örnek kod, Rasterizer ürünü kullanarak bir dosya yolundan PDF açmayı göstermektedir.
Dosya Yolundan PDF Açma Adımları
- PDF Belgesini, dosya yolunu sağlayarak PDF Görüntüleyici kullanarak açın.
Örnek Kod - C#
// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
// Open the PDF from a specified file path.
pdfViewer.Open(@"C:\DocumentA.pdf");
' Open the PDF from a specified file path.
pdfViewer.Open("C:\DocumentA.pdf")
Özellik Karşılaştırma PDF Kılavuzu
Modern PDF oluşturma, günümüz web teknolojileri için sağlam desteğe ihtiyaç duyar. Bu etkileşimli karşılaştırma, IronPDF'in Bootstrap 5'i nasıl kullanarak gelişmiş düzen ve stillerle profesyonel PDF belgeleri oluşturduğunu göstermektedir.
using IronPdf;
var renderer = new ChromePdfRenderer();
string pdfFeaturesTable = @"
<!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>
.feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
.metric-card { border-left: 4px solid #0d6efd; }
@media print { .table { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='row g-3 mb-4'>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>HTML Rendering</h6>
<h3 class='mb-0'>Chrome V8</h3>
<span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>Rendering Speed</h6>
<h3 class='mb-0'><1.5s</h3>
<span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>CSS Support</h6>
<h3 class='mb-0'>CSS3 Full</h3>
<span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
</div>
</div>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
</div>
<div class='card-body p-0'>
<div class='table-responsive'>
<table class='table table-hover mb-0'>
<thead class='table-light'>
<tr>
<th>Feature</th>
<th>IronPDF</th>
<th>DynamicPDF</th>
<th>Advantage</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>HTML to PDF</strong></td>
<td><span class='badge bg-success'>Full Support</span></td>
<td><span class='badge bg-warning text-dark'>Limited</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>JavaScript Execution</strong></td>
<td><span class='badge bg-success'>Native</span></td>
<td><span class='badge bg-danger'>Not Supported</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>CSS3 Layouts</strong></td>
<td><span class='badge bg-success'>Flexbox/Grid</span></td>
<td><span class='badge bg-warning text-dark'>Basic</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>Web Fonts</strong></td>
<td><span class='badge bg-success'>Google Fonts</span></td>
<td><span class='badge bg-warning text-dark'>Limited</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>Image Formats</strong></td>
<td><span class='badge bg-success'>All Modern</span></td>
<td><span class='badge bg-success'>Standard</span></td>
<td>Both</td>
</tr>
<tr>
<td><strong>Form Fields</strong></td>
<td><span class='badge bg-success'>Interactive</span></td>
<td><span class='badge bg-success'>Supported</span></td>
<td>Both</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class='card-footer text-muted'>
<small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string pdfFeaturesTable = @"
<!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>
.feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
.metric-card { border-left: 4px solid #0d6efd; }
@media print { .table { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='row g-3 mb-4'>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>HTML Rendering</h6>
<h3 class='mb-0'>Chrome V8</h3>
<span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>Rendering Speed</h6>
<h3 class='mb-0'><1.5s</h3>
<span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>CSS Support</h6>
<h3 class='mb-0'>CSS3 Full</h3>
<span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
</div>
</div>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
</div>
<div class='card-body p-0'>
<div class='table-responsive'>
<table class='table table-hover mb-0'>
<thead class='table-light'>
<tr>
<th>Feature</th>
<th>IronPDF</th>
<th>DynamicPDF</th>
<th>Advantage</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>HTML to PDF</strong></td>
<td><span class='badge bg-success'>Full Support</span></td>
<td><span class='badge bg-warning text-dark'>Limited</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>JavaScript Execution</strong></td>
<td><span class='badge bg-success'>Native</span></td>
<td><span class='badge bg-danger'>Not Supported</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>CSS3 Layouts</strong></td>
<td><span class='badge bg-success'>Flexbox/Grid</span></td>
<td><span class='badge bg-warning text-dark'>Basic</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>Web Fonts</strong></td>
<td><span class='badge bg-success'>Google Fonts</span></td>
<td><span class='badge bg-warning text-dark'>Limited</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>Image Formats</strong></td>
<td><span class='badge bg-success'>All Modern</span></td>
<td><span class='badge bg-success'>Standard</span></td>
<td>Both</td>
</tr>
<tr>
<td><strong>Form Fields</strong></td>
<td><span class='badge bg-success'>Interactive</span></td>
<td><span class='badge bg-success'>Supported</span></td>
<td>Both</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class='card-footer text-muted'>
<small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable);
pdf.SaveAs("pdf-features-comparison.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdfFeaturesTable 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>
.feature-badge { font-size: 0.75rem; padding: 0.25rem 0.5rem; }
.metric-card { border-left: 4px solid #0d6efd; }
@media print { .table { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='row g-3 mb-4'>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>HTML Rendering</h6>
<h3 class='mb-0'>Chrome V8</h3>
<span class='badge bg-success feature-badge mt-2'>98% Browser Fidelity</span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>Rendering Speed</h6>
<h3 class='mb-0'><1.5s</h3>
<span class='badge bg-info feature-badge mt-2'>Complex HTML</span>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card metric-card h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase'>CSS Support</h6>
<h3 class='mb-0'>CSS3 Full</h3>
<span class='badge bg-primary feature-badge mt-2'>Flexbox + Grid</span>
</div>
</div>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>PDF Generation Capabilities Comparison</h5>
</div>
<div class='card-body p-0'>
<div class='table-responsive'>
<table class='table table-hover mb-0'>
<thead class='table-light'>
<tr>
<th>Feature</th>
<th>IronPDF</th>
<th>DynamicPDF</th>
<th>Advantage</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>HTML to PDF</strong></td>
<td><span class='badge bg-success'>Full Support</span></td>
<td><span class='badge bg-warning text-dark'>Limited</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>JavaScript Execution</strong></td>
<td><span class='badge bg-success'>Native</span></td>
<td><span class='badge bg-danger'>Not Supported</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>CSS3 Layouts</strong></td>
<td><span class='badge bg-success'>Flexbox/Grid</span></td>
<td><span class='badge bg-warning text-dark'>Basic</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>Web Fonts</strong></td>
<td><span class='badge bg-success'>Google Fonts</span></td>
<td><span class='badge bg-warning text-dark'>Limited</span></td>
<td>IronPDF</td>
</tr>
<tr>
<td><strong>Image Formats</strong></td>
<td><span class='badge bg-success'>All Modern</span></td>
<td><span class='badge bg-success'>Standard</span></td>
<td>Both</td>
</tr>
<tr>
<td><strong>Form Fields</strong></td>
<td><span class='badge bg-success'>Interactive</span></td>
<td><span class='badge bg-success'>Supported</span></td>
<td>Both</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class='card-footer text-muted'>
<small><strong>Note:</strong> DynamicPDF focuses on programmatic PDF creation while IronPDF excels at HTML-to-PDF conversion with modern web standards.</small>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(pdfFeaturesTable)
pdf.SaveAs("pdf-features-comparison.pdf")
Çıktı: Bootstrap 5 kartları, duyarlı tablolar ve özellik karşılaştırmalarını gösteren renkli rozetlere sahip profesyonel bir PDF belgesi. IronPDF, tüm Bootstrap bileşenlerini, flexbox düzenleri, yardımcı sınıflar ve modern kart sistemleri dahil olmak üzere pikselle mükemmel doğrulukla işler.
Bootstrap uyumluluğu hakkında daha fazla bilgi için Bootstrap & Flexbox CSS Kılavuzu bölümüne bakın.
8. Taşınabilir Belge Formatı Belgelerini Birleştirme
Hem IronPDF hem de DynamicPDF, birden fazla belgeyi Microsoft .NET uygulamanızda tek bir belgeye birleştirmenize yardımcı olur. Bu kütüphanelerin yardımıyla, belgeleri kolayca birleştirebiliriz.
8.1 IronPDF Kullanımı
IronPDF, birden fazla belgeyi tek bir belgeye birleştirmemize yardımcı olur.
// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
// Create a list of PDF documents to merge.
var pdfDocuments = new List<IronPdf.PdfDocument>();
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"));
// Merge the list of documents and save the merged document.
var mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf");
' Create a list of PDF documents to merge.
Dim pdfDocuments = New List(Of IronPdf.PdfDocument)()
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))
pdfDocuments.Add(IronPdf.PdfDocument.FromFile("result.pdf"))
' Merge the list of documents and save the merged document.
Dim mergedPdfDocument = IronPdf.PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("Ironpdfmerged.pdf")
8.2 DynamicPDF Kullanımı
DynamicPDF de birden fazla belgeyi tek bir belgede birleştirmemize yardımcı olur. Aşağıda belgeleri birleştirmeyi gösteren bir örnek verilmiştir.
// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");
// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");
// Draw the merged document to an output file.
document.Draw("output.pdf");
// Create a MergeDocument object to begin merging.
MergeDocument document = new MergeDocument("DocumentA.pdf");
// Append additional documents.
document.Append("DocumentB.pdf");
document.Append("DocumentC.pdf");
// Draw the merged document to an output file.
document.Draw("output.pdf");
' Create a MergeDocument object to begin merging.
Dim document As New MergeDocument("DocumentA.pdf")
' Append additional documents.
document.Append("DocumentB.pdf")
document.Append("DocumentC.pdf")
' Draw the merged document to an output file.
document.Draw("output.pdf")
9. Taşınabilir Belge Formatı Belgelerini Bölme
IronPDF ve DynamicPDF kütüphaneleri, kullanıcıların sayfaları ayrı belgelere bölmelerine olanak tanır. Her ikisi de bu süreci tamamlamak için doğrudan bir yöntem sunar.
9.1 IronPDF Kullanımı
IronPDF, tek ve çoklu sayfaları ayrı belgelere dönüştürmemize olanak tanır. Aşağıda ayrılmış sayfaları ayrı belge olarak oluşturma örneği verilmiştir.
// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");
// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
// Load the PDF document to be split.
var Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf");
// Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf");
' Load the PDF document to be split.
Dim Splitdocument = IronPdf.PdfDocument.FromFile("Ironpdfmerged.pdf")
' Copy specific page(s) from the document and save it to a new file.
Splitdocument.CopyPages(0, 0).SaveAs("Ironpdfsplit.pdf")
9.2 DynamicPDF Kullanımı
DynamicPDF, tek bir belge sayfasını birden çok belgeye bölmemize de olanak tanır. Aşağıda belirli belge sayfalarını başka bir belgeye bölme örneği verilmiştir.
// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");
// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
// Create a PdfDocument object for the original document.
PdfDocument pdf = new PdfDocument("DocumentA.pdf");
// Split the document into parts and save each part as a separate PDF.
MergeDocument part1 = new MergeDocument(pdf, 1, 4);
part1.Draw("output-part1.pdf");
MergeDocument part2 = new MergeDocument(pdf, 5, 8);
part2.Draw("output-part2.pdf");
' Create a PdfDocument object for the original document.
Dim pdf As New PdfDocument("DocumentA.pdf")
' Split the document into parts and save each part as a separate PDF.
Dim part1 As New MergeDocument(pdf, 1, 4)
part1.Draw("output-part1.pdf")
Dim part2 As New MergeDocument(pdf, 5, 8)
part2.Draw("output-part2.pdf")
10. Lisanslama
DynamicPDF, HTML dizi ve HTML bağlantıları gibi çeşitli kaynaklardan PDF belgeleri oluşturmamıza, ayrıca belgeleri bölüp birleştirmemize olanak tanıyan bir kütüphanedir. DynamicPDF, farklı bir fiyat yapısına sahip olup, en düşük fiyatla bireysel lisans için $799'dan başlamaktadır. Geliştirici lisansı ücretsizdir, bu yüzden deneme yapabiliriz. DynamicPDF fiyat yapısını DynamicPDF Fiyat Sayfası üzerinden kontrol edin.
IronPDF de bir kütüphanedir ve ücretsiz bir geliştirici lisansına sahiptir. IronPDF farklı bir fiyat yapısına da sahiptir. Lite paketi, süreklilik olmayan maliyetlerle, SaaS ve OEM yeniden dağıtımı dahil, $799'dan başlar. Tüm lisanslar, 30 günlük para iade garantisi, bir yıl ürün desteği ve güncellemeleri, geliştirme/staging/üretim için geçerlilik içerir. Ayrıca kalıcı bir lisans (tek seferlik alım) da vardır. IronPDF Fiyat Sayfası üzerinden IronPDF için tam fiyat yapısını ve lisanslama seçeneklerini kontrol edin.
11. Sonuç
Bu makalede, IronPDF ve DynamicPDF'i karşılaştırdık. Her iki kütüphanede de mevcut olan bazı yaygın özellikleri inceledik. IronPDF, HTML'yi oluşturmak için kullanıcının Chrome ayarlarını dikkate alır, ancak DynamicPDF ayrı bir motor üzerinde çalışarak mevcut kullanıcı ayarlarını görmezden gelir. IronPDF, DynamicPDF ile karşılaştırıldığında HTML'yi hızlı bir şekilde oluşturabilir.
Performans açısından, IronPDF, DynamicPDF'den daha hızlıdır, yukarıdaki test sonuçları bunu göstermektedir. Telif haksız yeniden dağıtım kapsamı, IronPDF ile ek bir maliyetle gelir, ancak bu DynamicPDF ile mevcut değildir. IronPDF ayrıca DynamicPDF'den daha fazla özellik sunar.
Sonuç olarak, yüksek performans düzeyleri ve geliştiricilere PDF'ler ile çalışırken sağladığı çok sayıda özellik nedeniyle IronPDF'i tercih ediyoruz. IronPDF ayrıca, tüm özelliklerini kullanmamıza yardımcı olacak iyi destek ve bolca dokümantasyon sunar.
Sıkça Sorulan Sorular
Bir .NET uygulamasinda HTML'yi PDF'ye nasıl dönüştürebilirim?
HTML dizelerini PDF'ye dönüştürmek için IronPDF'nin RenderHtmlAsPdf yöntemini kullanabilirsiniz. Bu yöntem, yüksek doğruluklu render sağlamak için Chromium bazlı bir motordan yararlanır.
IronPDF kullanarak PDF manipülasyonu yapmanın avantajları nelerdir?
IronPDF, özellikle HTML'yi PDF'ye dönüştürmede üstün hız ve performans sunar çünkü bir Chromium motoru kullanır. Ayrıca başlıklar, altlıklar ve yer işaretleri ekleme, belgeleri birleştirme ve ayırma gibi geniş kapsamlı PDF manipülasyonlarını destekler.
IronPDF için hangi kurulum seçenekleri mevcuttur?
IronPDF, Visual Studio'nun NuGet Paket Yöneticisi, Visual Studio Komut Satırı veya doğrudan NuGet veya IronPDF web sitelerinden indirilebilir.
IronPDF'yi kullanarak PDF belgelerini birleştirebilir miyim?
Evet, IronPDF, birden fazla PDF belgesini tek bir belgeye birleştirme işlevselliği sağlayarak kolay belge yönetimi ve manipülasyonu sağlar.
IronPDF hangi lisans seçeneklerini sunar?
IronPDF, ücretsiz bir geliştirici lisansı ve çeşitli ticari lisans seçenekleri sunar. Farklı ölçeklerdeki geliştiriciler için uygun hale getiren uygun fiyat yapısı sunar.
IronPDF, geliştiriciler için destek ve belgeler sunuyor mu?
Evet, IronPDF, geliştiricilerin özelliklerini etkili bir şekilde kullanmalarına yardımcı olmak için güçlü bir destek ve kapsamlı belgeler sağlar.
IronPDF, HTML'den PDF'ye dönüştürme hızı açısından DynamicPDF ile nasıl karşılaştırılır?
IronPDF, genellikle DynamicPDF'den daha hızlıdır çünkü HTML'yi PDF'ye dönüştürmek için verimli ve yüksek performanslı render sağlayan bir Chromium motoru kullanır.
Geliştiriciler neden IronPDF yerine DynamicPDF'yi seçebilir?
Geliştiriciler, geniş kapsamlı özellikleri, Chromium motoru kullanarak hızlı render kabiliyeti ve uygun lisans seçenekleri nedeniyle .NET PDF çalışmaları için üstün bir seçim olan IronPDF'yi tercih edebilir.
IronPDF'nin PDF işleme için bazı temel özellikleri nelerdir?
IronPDF, HTML, ASPX ve Razor HTML'yi PDF'ye dönüştürmeyi destekler ve başlıklar ve altlıklar ekleme, yer imleri oluşturma, CSS ve resimlerle entegrasyon gibi işlevsellikler sunar.



