IronPDF ve iTextPdf: Tam .NET PDF Kütüphanesi Karşılaştırması
PDF (Taşınabilir Belge Formatı) dosyaları, birçok farklı çalışma ortamının ayrılmaz bir parçasıdır ve fatura hazırlama veya ürün belgeleri hazırlama gibi görevlerde sıklıkla önemlidir. Ancak, günümüzde piyasada birçok farklı PDF aracı bulunmaktadır, bu nedenle sizin için uygun olan hangisi olduğunu nasıl belirleyeceksiniz? Bugün, PDF kütüphanelerinin özelliklerini, desteğini ve lisanslama modellerini karşılaştıracağız: PDFreactor ve IronPDF.
IronPDF ve PDFreactor Genel Bakış
IronPDF, .NET ekosistemi içinde tüm PDF ile ilgili görevler için kapsamlı bir çözüm olacak şekilde tasarlanmış sağlam bir .NET kütüphanesidir. HTML, CSS, JavaScript ve çeşitli görüntü formatlarını destekler ve web tabanlı uygulamalar için oldukça uyarlanabilir hale getirir. Geniş bir dizi özelliği ile, PDF oluşturma, düzenleme, imzalama ve şifreleme gibi özelliklerin yanı sıra modern .NET çerçeveleri ile tam entegrasyon sunar, IronPDF, .NET geliştiricileri için tek durak bir PDF çözümüdür.
Öte yandan, PDFreactor, HTML'den PDF'ye dönüştürücü olarak profesyonel düzeyde olup, genellikle veri odaklı dokümanlar, raporlar veya veri sayfaları gibi belgeleri dönüştürmek için kullanılan yüksek kalitede basılabilir PDF'ler sunarak başarılıdır. Özgün web içeriğine sadık kalarak karmaşık CSS ve JavaScript işleme konusunda özellikle güçlüdür. Geriye dönük karmaşık yerleşim ve stil işlemede başarı ile yüksek derecede takdir edilir, bu da onu hassas kontrole gereksinim duyan yayıncılık ve diğer endüstriler için uygun hale getirir.
Çapraz Platform Uyumlu
IronPDF:
IronPDF, geniş bir platform yelpazesini destekler, böylece tercih ettiğiniz ortamda çalışabilirsiniz. İşte uyumluluğunun bir dökümü:
- .NET sürümleri:
- C#, VB.NET, F#
- .NET Core (8, 7, 6, 5 ve 3.1+)
- .NET Standard (2.0+)
-
.NET Framework (4.6.2+)
-
Uygulama ortamları: IronPDF, Windows, Linux, Mac, Docker, Azure, ve AWS gibi ortamlar ile çalışır.
-
Geliştirme Ortamları: Microsoft Visual Studio ve JetBrains Rider & ReSharper gibi geliştirme ortamlarıyla çalışır
- İşletim Sistemleri ve İşlemciler: Windows, Mac, Linux, x64, x86, ARM gibi çeşitli işletim sistemlerini ve işlemcileri destekler
Daha fazla bilgi için, IronPDF Uyumluluğu adresine gidin.
PDFreactor
-
.NET sürümleri:
- .NET Core 2.1+
- .NET Framework 4.5+
-
Destekler: HTML5, CSS3, JavaScript, Java, Python, Docker Görüntüsü, Node.js ve daha fazlası.
- İşletim sistemleri: Windows, Linux ve macOS işletim sistemlerinde çalışır ve ayrıca AWS ve Azure gibi bulut bazlı sistemlerde de çalışır.
Temel Özellik Karşılaştırması: IronPDF ve PDFreactor İçindeki PDF İşlevselliği
IronPDF Özellikleri
-
HTML'den PDF'ye dönüştürme: IronPDF, HTML'den PDF'ye dönüştürme sağlar ve modern web standartları desteği ile IronPDF'nin HTML içeriğinizden sürekli olarak piksel mükemmelinde PDF'ler döndüreceğinden emin olabilirsiniz.
-
PDF dosya dönüştürme: HTML dışındaki dosya formatlarını PDF'ye dönüştürmeniz mi muhtemeldir? IronPDF birçok farklı dosya formatının dönüştürülmesini destekler; DOCX'ten PDF'ye, RTF'den PDF'ye, Görüntüden PDF'ye, URL'den PDF'ye ve hatta PDF'den HTML'ye, belgede istenen yapıyı koruyarak.
-
Güvenlik özellikleri: IronPDF ile her zaman hassas PDF dosyalarının güvenli olduğundan emin olabilirsiniz, çünkü güvenlik özellikleri mevcuttur. IronPDF'yi kullanarak PDF dosyalarınızı şifreleyin, parolalar ayarlayın ve PDF dosyalarınız için izinler ayarlayın.
- PDF düzenleme özellikleri: IronPDF ile, PDF dosyalarını kolaylıkla düzenleyebilirsiniz. IronPDF, PDF sayfalarına başlık ve altbilgi ekleme, metin ve resim damgalama, PDF'ye özel filigran ekleme, PDF formları ile çalışma ve PDF dosyalarını birleştirme gibi düzenleme özellikleri sunar.
IronPDF tarafından sunulan özellikler hakkında ayrıntılı bilgi için, IronPDF Özellikleri adresini ziyaret edin.
PDFreactor Özellikleri
-
HTML'den PDF'ye dönüşüm: PDFreactor web servisi sunucu tarafında HTML'yi PDF'ye dönüştürmede uzmanlaşmıştır, genellikle dinamik veri odaklı belgelerin (örneğin faturalar, formlar, raporlar vb.) ve karmaşık ve yüksek kaliteli PDF'lerin elektronik dağıtımı için kullanılır.
-
Etkileşimli destek: JavaScript desteği sayesinde, PDFreactor, içindeki işlevselliği koruyabilecek olan düğmeler ve formlar gibi etkileşimli öğelerin gömülmesine izin verir.
- Gelişmiş düzen tasarımı: PDFreactor, sayfa düzeni üzerindeki kontrol, çok sütun desteği, PDF'e öğe ekleme, elemanların ölçeklenmesi ve dönüştürülmesi, üstbilgi ve altbilgi ekleme ve özelleştirilebilir sayfa boyutları ve yönleri gibi gelişmiş düzen ve tasarım özellikleri sunar.
Bootstrap ve Modern CSS Çerçeve Uyumluluğu
Modern web uygulamalarından PDF oluştururken, Bootstrap ve CSS çerçeve desteği esastır. Bootstrap tasarımıyla stillendirilmiş web sayfalarını doğrudan PDF'ye dönüştürme yeteneği, kodda değişiklik yapmadan tasarım tutarlılığını sağlar ve geliştirme süresini önemli ölçüde azaltır.
IronPDF: Tam Bootstrap ve CSS Framework Desteği
- Bootstrap 5: Tam esnek kutu düzen motoru, CSS Grid, yardımcı sınıflar ve tüm bileşen sistemleri
- Bootstrap 4: Tam kart bileşenleri, navigasyon öğeleri, esnek yardımcılar ve duyarlı kesme noktaları
- Tailwind CSS: Tüm yardımcı sınıflar tarayıcı doğruluğuyla işlenir
- Foundation: Tam ızgara sistemi ve bileşen kütüphanesi desteği
- Modern CSS3: Flexbox, CSS Grid, özel özellikler, animasyonlar, geçişler ve dönüşümler
Gerçek dünya doğrulaması: IronPDF, Bootstrap anasayfasını ve tüm resmi örnekleri piksel mükemmelliğiyle başarıyla işler.
Kod Örneği: Sipariş Takip Panosu
using IronPdf;
// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";
var renderer = new ChromePdfRenderer();
string bootstrapTracking = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='mb-4'>Order Tracking - #ORD-2025-0428</h1>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card text-center bg-primary text-white h-100'>
<div class='card-body'>
<h3>Order Placed</h3>
<p class='mb-0'>April 20, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-info text-white h-100'>
<div class='card-body'>
<h3>Processing</h3>
<p class='mb-0'>April 21, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-light h-100'>
<div class='card-body'>
<h3 class='text-muted'>Delivered</h3>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</div>
</div>
</div>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-white'>
<h5 class='mb-0'>Shipping Timeline</h5>
</div>
<div class='card-body'>
<ul class='list-group list-group-flush'>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Confirmed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:30 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Payment Processed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:35 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Shipped</strong>
<p class='mb-0 text-muted'>April 21, 2025 at 9:00 AM</p>
<small class='text-muted'>Tracking: TRK-9876543210</small>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-primary me-3'>→</span>
<div class='flex-grow-1'>
<strong>In Transit</strong>
<p class='mb-0 text-primary'>Currently en route to delivery location</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Out for Delivery</strong>
<p class='mb-0 text-muted'>Pending</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Delivered</strong>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</li>
</ul>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Order Details</h5>
</div>
<div class='card-body'>
<div class='table-responsive'>
<table class='table mb-0'>
<thead class='table-light'>
<tr>
<th>Item</th>
<th>Quantity</th>
<th class='text-end'>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Premium Widget Pro</strong></td>
<td>2</td>
<td class='text-end'>$199.98</td>
</tr>
<tr>
<td><strong>Standard Gadget</strong></td>
<td>1</td>
<td class='text-end'>$49.99</td>
</tr>
<tr>
<td colspan='2'><strong>Subtotal</strong></td>
<td class='text-end'><strong>$249.97</strong></td>
</tr>
<tr>
<td colspan='2'>Shipping</td>
<td class='text-end'>$12.50</td>
</tr>
<tr class='table-primary'>
<td colspan='2'><strong>Total</strong></td>
<td class='text-end'><strong>$262.47</strong></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapTracking);
pdf.SaveAs("order-tracking.pdf");
using IronPdf;
// Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here";
var renderer = new ChromePdfRenderer();
string bootstrapTracking = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='mb-4'>Order Tracking - #ORD-2025-0428</h1>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card text-center bg-primary text-white h-100'>
<div class='card-body'>
<h3>Order Placed</h3>
<p class='mb-0'>April 20, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-info text-white h-100'>
<div class='card-body'>
<h3>Processing</h3>
<p class='mb-0'>April 21, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-light h-100'>
<div class='card-body'>
<h3 class='text-muted'>Delivered</h3>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</div>
</div>
</div>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-white'>
<h5 class='mb-0'>Shipping Timeline</h5>
</div>
<div class='card-body'>
<ul class='list-group list-group-flush'>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Confirmed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:30 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Payment Processed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:35 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Shipped</strong>
<p class='mb-0 text-muted'>April 21, 2025 at 9:00 AM</p>
<small class='text-muted'>Tracking: TRK-9876543210</small>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-primary me-3'>→</span>
<div class='flex-grow-1'>
<strong>In Transit</strong>
<p class='mb-0 text-primary'>Currently en route to delivery location</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Out for Delivery</strong>
<p class='mb-0 text-muted'>Pending</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Delivered</strong>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</li>
</ul>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Order Details</h5>
</div>
<div class='card-body'>
<div class='table-responsive'>
<table class='table mb-0'>
<thead class='table-light'>
<tr>
<th>Item</th>
<th>Quantity</th>
<th class='text-end'>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Premium Widget Pro</strong></td>
<td>2</td>
<td class='text-end'>$199.98</td>
</tr>
<tr>
<td><strong>Standard Gadget</strong></td>
<td>1</td>
<td class='text-end'>$49.99</td>
</tr>
<tr>
<td colspan='2'><strong>Subtotal</strong></td>
<td class='text-end'><strong>$249.97</strong></td>
</tr>
<tr>
<td colspan='2'>Shipping</td>
<td class='text-end'>$12.50</td>
</tr>
<tr class='table-primary'>
<td colspan='2'><strong>Total</strong></td>
<td class='text-end'><strong>$262.47</strong></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapTracking);
pdf.SaveAs("order-tracking.pdf");
Imports IronPdf
' Set your IronPDF license key
IronPdf.License.LicenseKey = "License-Key goes here"
Dim renderer As New ChromePdfRenderer()
Dim bootstrapTracking As String = "
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h1 class='mb-4'>Order Tracking - #ORD-2025-0428</h1>
<div class='row g-4 mb-4'>
<div class='col-md-4'>
<div class='card text-center bg-primary text-white h-100'>
<div class='card-body'>
<h3>Order Placed</h3>
<p class='mb-0'>April 20, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-info text-white h-100'>
<div class='card-body'>
<h3>Processing</h3>
<p class='mb-0'>April 21, 2025</p>
</div>
</div>
</div>
<div class='col-md-4'>
<div class='card text-center bg-light h-100'>
<div class='card-body'>
<h3 class='text-muted'>Delivered</h3>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</div>
</div>
</div>
<div class='card shadow-sm mb-4'>
<div class='card-header bg-white'>
<h5 class='mb-0'>Shipping Timeline</h5>
</div>
<div class='card-body'>
<ul class='list-group list-group-flush'>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Confirmed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:30 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Payment Processed</strong>
<p class='mb-0 text-muted'>April 20, 2025 at 2:35 PM</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-success me-3'>✓</span>
<div class='flex-grow-1'>
<strong>Order Shipped</strong>
<p class='mb-0 text-muted'>April 21, 2025 at 9:00 AM</p>
<small class='text-muted'>Tracking: TRK-9876543210</small>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-primary me-3'>→</span>
<div class='flex-grow-1'>
<strong>In Transit</strong>
<p class='mb-0 text-primary'>Currently en route to delivery location</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Out for Delivery</strong>
<p class='mb-0 text-muted'>Pending</p>
</div>
</li>
<li class='list-group-item d-flex'>
<span class='badge bg-secondary me-3'>○</span>
<div class='flex-grow-1'>
<strong>Delivered</strong>
<p class='mb-0 text-muted'>Est. April 25, 2025</p>
</div>
</li>
</ul>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Order Details</h5>
</div>
<div class='card-body'>
<div class='table-responsive'>
<table class='table mb-0'>
<thead class='table-light'>
<tr>
<th>Item</th>
<th>Quantity</th>
<th class='text-end'>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Premium Widget Pro</strong></td>
<td>2</td>
<td class='text-end'>$199.98</td>
</tr>
<tr>
<td><strong>Standard Gadget</strong></td>
<td>1</td>
<td class='text-end'>$49.99</td>
</tr>
<tr>
<td colspan='2'><strong>Subtotal</strong></td>
<td class='text-end'><strong>$249.97</strong></td>
</tr>
<tr>
<td colspan='2'>Shipping</td>
<td class='text-end'>$12.50</td>
</tr>
<tr class='table-primary'>
<td colspan='2'><strong>Total</strong></td>
<td class='text-end'><strong>$262.47</strong></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapTracking)
pdf.SaveAs("order-tracking.pdf")
Çıktı: Bootstrap 5'in ızgara sistemi, kart bileşenleri, rozeti, liste grupları, duyarlı tablolar ve esnek kutu düzenleri ile profesyonel sipariş takip PDF'si—hepsi mükemmel renk doğruluğu ve mesafeleri ile işlenebilir.
PDFreactor: Java Bağımsızlığıyla İyi Bootstrap Desteği
PDFreactor, sağlam Bootstrap desteği sunan Prince XML motorunu kullanır, ancak bazı mimari gereksinimleri vardır:
- İyi Bootstrap 4/5 desteği: Prince XML, modern çerçeveleri makul şekilde işler
- Java gereksinimi: PDFreactor Java üzerinde çalışır, bu da .NET uygulamaları için dağıtım karmaşıklığı ekler
- Sunucu tabanlı mimari: Özel sunucu altyapısı gerektirir
- Lisans modeli: Geliştirici başına değil, sunucu başına lisanslama
Geliştirme etkisi: PDFreactor Bootstrap'i etkin bir şekilde işlese de Java bağımlılığı ve sunucu gereksinimleri .NET ekipleri için operasyonel karmaşıklık ekler, ek altyapı yönetimi ve çapraz platform koordinasyonu gerektirir.
Kapsamlı Bootstrap çerçevesi kılavuzu ve CSS3 işleme yetenekleri için Bootstrap & Flexbox CSS Kılavuzu adresine bakın.
IronPDF ve PDFreactor Arasındaki Başlıca Özelliklerin Karşılaştırması
Şimdi, PDF dosyaları ile çalışırken karşılaşabileceğiniz bazı yaygın kullanım alanlarına daha yakından bakalım. Bu bölümde, bu kullanım alanlarını ele alarak IronPDF ve PDFreactor'un bunları nasıl ele aldığını karşılaştırıyoruz.
HTML'den PDF'ye Dönüşüm
IronPDF:
using IronPdf;
// Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: images, CSS and JavaScript.
// An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"c:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Enable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: images, CSS and JavaScript.
' An optional BasePath 'c:\site\assets\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "c:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PDFreactor:
using System.IO;
using RealObjects.PDFreactor.Webservice.Client;
PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
Timeout = 0
};
var config = new Configuration
{
Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};
Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
FileMode.Create,
FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();
using System.IO;
using RealObjects.PDFreactor.Webservice.Client;
PDFreactor pdfReactor = new PDFreactor("https://cloud.pdfreactor.com/service/rest") {
Timeout = 0
};
var config = new Configuration
{
Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"
};
Result data = pdfReactor.Convert(config);
BinaryWriter binWriter = new BinaryWriter(new FileStream("test.pdf",
FileMode.Create,
FileAccess.Write));
binWriter.Write(data.Document);
binWriter.Close();
Imports System.IO
Imports RealObjects.PDFreactor.Webservice.Client
Private pdfReactor As New PDFreactor("https://cloud.pdfreactor.com/service/rest") With {.Timeout = 0}
Private config = New Configuration With {.Document = "http://www.pdfreactor.com/product/samples/textbook/textbook.html"}
Private data As Result = pdfReactor.Convert(config)
Private binWriter As New BinaryWriter(New FileStream("test.pdf", FileMode.Create, FileAccess.Write))
binWriter.Write(data.Document)
binWriter.Close()
IronPDF, yüksek kaliteli PDF dosyaları sunar ve bu, ChromePdfRenderer kullanımı ve modern web standartlarına desteği sayesinde olur. IronPDF'i HTML'den PDF'ye dönüştürme için kullanırken, HTML belgelerinden, web sayfalarından ve daha fazlasından piksel mükemmelliğinde PDF'ler oluşturabileceksiniz. PDFreactor, HTML'den PDF'ye dönüştürme yetenekleriyle gurur duyar ve yüksek kaliteli PDF belgeleri sunmasına rağmen, daha fazla kod satırı gerektiren daha manuel bir yaklaşım benimser.
IronPDF'i HTML'den PDF'ye dönüştürme örnekleri için IronPDF HTML'den PDF'ye adresini ziyaret edin.
PDF Belgelerini Şifreleme
IronPDF:
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
' The following code makes a PDF read only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
PDFreactor:
PDFreactor, öncelikli olarak HTML'den PDF'ye dönüştürme aracı olarak bilindiği için PDF şifreleme için yerleşik destek sunmaz.
IronPDF, net C# yöntemleri ile PDF şifrelemeyi basitleştirir ve PDF şifreleme için basit ama güçlü bir araç sunar. IronPDF ile, sürecin tamamı üzerinde tam kontrole sahip olacaksınız, güvenlik ayarları belirlemeniz de dahil. PDFreactor ile, PDF şifreleme görevini ele alabilecek üçüncü taraf bir kütüphane bulmanız gerekecek, çünkü PDFreactor bu desteği şu anda sunmaz.
Daha fazla şifreleme örneği için, IronPDF'nin bu konudaki kılavuzuna göz atın.
PDF İçeriğini Gizleme
IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
PDFreactor:
PDFreactor, yerleşik şifreleme araçları sunmaz.
IronPDF, PDF belgelerinizde içeriği silmek için yalnızca birkaç kod satırı ile kullanabileceğiniz kısa ve kullanımı kolay bir belge silme aracı sunar. PDFreactor, yerleşik bir şifreleme aracı sunmaz.
PDF'leri İmzalama
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
PDFreactor:
PDFreactor, dijital imzalamayı doğrudan desteklemez.
IronPDF'nin dijital imza özelliği, PDF'lerinizi imzalama işlemini otomatik hale getirmenin basit ve kolay bir yolunu sunar. PDFreactor, PDF belgelerinize dijital imza uygulamak için herhangi bir destek sunmaz.
IronPDF ile PDF belgelerine dijital imza uygulama hakkında daha fazla bilgi için bu aracın kılavuzuna göz atın.
PDF Sayfalarına Filigran Uygulama
IronPDF:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
PDFreactor:
PDFreactor damgalama desteği sağlamaz.
IronPDF'nin yerleşik şifreleme aracı, HTML ve CSS kullanarak PDF sayfalarınıza şifreleme uygulamanın kolay bir yolunu sunarken, aynı zamanda üzerinde tam kontrol sağlar, tüm bunları yalnızca birkaç kod satırı kullanarak.
IronPDF'nin şifreleme aracını daha fazla görmek ister misiniz? Bu aracın yardımcı kılavuzunu ziyaret edin!
PDF Belgelerine Görüntü ve Metin Damgalamak
IronPDF:
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
' Create image stamper
Dim imageStamper As New ImageStamper(New Uri("/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
PDFreactor:
PDFreactor, yerleşik damgalama araçları sunmaz
IronPDF, PDF belgelerinize görüntü ve metin damgalama için sağlam bir araç sunar. HTML ve CSS'yi andıran bir yaklaşımla damgalama süreci üzerinde tam kontrol sahibi olursunuz. PDFreactor, yerleşik damgalama araçları sunmaz.
IronPDF'nin görüntü ve metin damgalama araçları hakkında daha fazla bilgi edinmek istiyorsanız, bu konudaki kılavuzumuzu ziyaret ettiğinizden emin olun.
DOCX'ten PDF'ye Dönüştürme
IronPDF:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
PDFreactor:
PDFreactor, doğrudan DOCX'ten PDF'ye dönüşümü desteklemiyor, çünkü odak noktası HTML'den PDF'ye dönüşümdür.
IronPDF kullanarak DOCX dosyalarınızı kısa, kolay kullanılabilir DOCX dönüşüm aracı ile dönüştürebilirsiniz. PDFreactor kullanırken, dönüşümü ele almak için DOCX'ten PDF'ye dönüşüm kütüphanesi yüklemeniz gerekecek, çünkü PDFreactor bu dönüşüm için herhangi bir destek sunmaz.
IronPDF'nin DOCX'ten PDF'ye dönüşüm aracını daha ayrıntılı bir şekilde görmek için, bu konudaki yardımcı kılavuzu ziyaret edin.
Özellik Karşılaştırmasının Özeti

Ayrıntılı kod örnekleri görmek için, IronPDF Kod Örnekleri Sayfası adresini ziyaret edin.
Fiyatlandırma ve Lisanslama: IronPDF vs. PDFreactor
IronPDF
IronPDF'nin, lisans satın almak için farklı seviyeleri ve ek özellikleri bulunmaktadır. Geliştiriciler ayrıca, iki ürün fiyatına tüm Iron Software ürünlerine erişim sağlayan Iron Suite lisansını satın alabilirler. Bir lisans almaya hazır değilseniz, IronPDF 30 gün süren ücretsiz bir deneme sunar.
- Süresiz lisanslar: Ekibinizin boyutuna, proje ihtiyaçlarınıza ve yer sayısına bağlı olarak bir dizi süresiz lisans sunar. Her lisans türü email desteği ile birlikte gelir.
- Lite Licansı: Bu lisans $999 değerindedir ve bir geliştirici, bir konum ve bir projeyi destekler.
- Plus Lisansı: Üç geliştirici, üç konum ve üç projeyi destekleyen bu lisans, hafif lisansın bir sonraki adımıdır ve $1,499 değerindedir. Plus lisans, temel email desteğine ek olarak sohbet ve telefon desteği sunar.
- Profesyonel Lisans: Bu lisans, daha büyük ekipler için uygundur, on geliştirici, on konum ve on projeyi $2,999 değerinde destekler. Önceki seviyelerdeki aynı kontak destek kanallarını sunar, ancak ayrıca ekran paylaşımı desteği de sunar.
- Telif ücretsiz yeniden dağıtım: IronPDF'nin lisansı ayrıca telif ücretsiz yeniden dağıtım kapsamı için ekstra $2,999 sunar.
- Kesintisiz ürün desteği: IronPDF, devam eden ürün güncellemelerine, güvenlik özelliği yükseltmelerine ve mühendislik ekibinden destek almaya erişim sağlar ve ya $1,499/yıl ya da 5 yıllık kapsama için bir $2,999 bir kerelik satın alma ile.
- Iron Suite: $2,998 karşılığında IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint ve IronWebScraper dahil tüm Iron Software ürünlerine erişebilirsiniz.

PDFreactor
-
CPU Lisansı: Bu PDFreactor'un temel maliyetidir ve 4 CPU koduna kadar destekleyen ve ilk yıl destek ve bakımı içeren $2.950 olarak fiyatlandırılır.
- Eklentiler: Lisansına ek olarak, PDFreactor aşağıdaki eklentileri sunar:; raster görüntü çıktısı eklentisi, bir yıllık destek ve bakım uzatması ve bir CPU Lisans Yükseltmesi.
Dokümantasyon ve Destek: IronPDF vs. PDFreactor
IronPDF
IronPDF, geniş kapsamlı dokümantasyon ve destek sağlama konusunda mükemmeldir:
- Kapsamlı Dokümantasyon: Tüm özellikleri ele alan kapsamlı ve kullanıcı dostu dokümantasyon.
- 24/5 Destek: Aktif mühendis desteği mevcuttur.
- Video Eğitimler: Adım adım video rehberleri YouTube'da mevcut.
- Topluluk Forumu: Ek destek için etkileşimli bir topluluk.
- Düzenli Güncellemeler: En son özellikler ve güvenlik yamalarını sağlamak için aylık ürün güncellemeleri.
Daha fazla bilgi için IronPDF'nin kapsamlı dokümantasyonu'na göz atın ve Iron Software YouTube Kanalı'nı ziyaret edin.
PDFreactor
- Ayrıntılı Belgeler: HTML'den PDF'ye dönüşümün tüm yönlerini kapsar.
- E-posta Desteği: Teknik ve lisanslama sorularına açıktır.
- Topluluk Forumları: Diğer kullanıcılar ve geliştiricilerle etkileşim kurun.
- Bilgi Tabanı: Makalelere ve sorun giderme kılavuzlarına erişim sağlar.
- Professional Hizmetler: Karmaşık uygulamalar için ücretli destek.
Sonuç
HTML'den PDF'ye dönüşüm söz konusu olduğunda, IronPDF ve PDFreactor güçlü iki adaydır, her ikisi de HTML içeriğinden PDF belgeleri oluşturma yeteneğine sahiptir. Ancak, eğer şifreleme, filigranlama ve HTML haricindeki dosya türlerini PDF'ye dönüştürme gibi daha karmaşık görevleri ele alabilecek bir PDF aracı arıyorsanız, o zaman IronPDF sizin için uygun araçtır.
Geniş özellik seti, modern .NET çerçeveleri ile uyumluluğu ve mükemmel desteği ile, IronPDF elinizde bulundurmanız gereken güçlü bir araçtır. PDFreactor, nişinde güçlü olmasına rağmen, IronPDF tarafından sunulan bazı gelişmiş özellikler ve esneklikten yoksundur.
30 günlük ücretsiz deneme ile mevcut özellikleri keşfedebilirsiniz.
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 ve PDFreactor arasındaki temel farklar nelerdir?
IronPDF, PDF oluşturma, düzenleme, imzalama ve şifreleme gibi geniş özellikler sunar ve HTML, CSS, JavaScript ve çeşitli resim formatları için sağlam destek ile birlikte gelir. PDFreactor, baskıya hazır PDF'ler için karmaşık CSS ve JavaScript'i mükemmel bir şekilde işleyerek yüksek kaliteli HTML'den PDF'ye dönüşüme odaklanır.
IronPDF birden fazla platformda kullanılabilir mi?
Evet, IronPDF Windows, Linux, macOS, Docker, Azure ve AWS dahil olmak üzere birden çok platformu destekler. .NET Core, .NET Standard ve .NET Framework gibi çeşitli .NET sürümleriyle uyumludur.
IronPDF, PDF belgelerine dijital imza ekleme yeteneği sunar mı?
Evet, IronPDF, PDF'lere dijital imzaları uygulamak için basit bir yol sunar.
IronPDF kullanıcıları için hangi destek seçenekleri mevcuttur?
IronPDF, geniş kapsamlı dokümantasyon, 24/5 mühendis desteği, video öğreticiler, bir topluluk forumu ve kullanıcıları desteklemek için düzenli güncellemeler dahil olmak üzere kapsamlı destek sunar.
IronPDF hangi tür lisanslar sunar?
IronPDF, e-posta desteği ve telif ücretsiz yeniden dağıtım gibi avantajlarla birlikte süresiz lisanslar ve bir paket seçeneği gibi çeşitli lisanslama seçenekleri sunar.
IronPDF, PDF'lerde karmaşık CSS ve JavaScript'i nasıl işler?
IronPDF, karmaşık CSS ve JavaScript'i PDF'lerde destekleyerek web tabanlı belgeler oluşturmak için ideal hale getirir.
IronPDF kullanarak PDF belgelerini şifrelemek mümkün mü?
Evet, IronPDF, PDF şifrelemesi için yerleşik destek sunar ve belgelerinizi güçlü şifre koruması ile güvenceye almanızı sağlar.
IronPDF'nin HTML dışında dönüşüm yetenekleri nelerdir?
IronPDF, belge yapısını korurken DOCX, RTF ve resimler gibi çeşitli dosya formatlarını PDF'ye dönüştürmeyi destekler.
IronPDF, PDF dosyalarına filigran ve damga uygulayabilir mi?
Evet, IronPDF, HTML ve CSS kullanarak PDF belgelerine filigran ve damga eklemeyi sağlar ve görünüm üzerinde tam kontrol sunar.



