PDFBolt ve IronPDF Karşılaştırması: Teknik Kılavuz
.NET geliştiricileri PDF belgeleri oluşturmak zorunda kaldıklarında, bulut tabanlı hizmetler kullanmak (PDFBolt gibi) veyaIronPDFgibi kendi sunulan kütüphaneleri kullanmak arasında bir karar vermeleri gerekir. Bu analiz, önemli teknik yönler üzerinde her iki seçeneği de gözden geçirir ve geliştiricilere, mimarlara ve karar vericilere PDF üretim ihtiyaçları için doğru aracı seçmelerinde yardımcı olur.
PDFBoltNedir?
PDFBolt, dış sunucular aracılığıyla PDF oluşturmak için bir bulut tabanlı REST API hizmetidir. Geliştiriciler, HTML içeriği veya URL'leri HTTP POST istekleri yoluyla PDFBolt'un API uç noktalarına gönderirler, bu içerik başsız bir Chromium tarayıcı kullanılarak işlenir ve üretilen PDF geri döner.
Bulut tabanlı kurulum, hızlı entegrasyon sunar—geliştiriciler bir API anahtarı alır ve herhangi bir dilin standart HTTP istemcisi kullanarak HTTP istekleri yapar (örneğin, C#'ta HttpClient, Python'da requests, Node.js'te fetch).PDFBoltişleme altyapısını yönetir, yerel PDF oluşturma kaynaklarına ihtiyaç duyulmaz.
Ancak, bu kolaylıklarla birlikte bazı fedakarlıklar da gelir. Her belge, PDFBolt'un AB tabanlı sunucularından (Almanya) geçer. Ücretsiz katman ayda 100 belge ile sınırlıdır, daha yüksek hacimler için ücretli abonelik planları mevcuttur. Ek olarak, tüm PDF üretim işlemleri için ağ bağlantısı zorunludur.
IronPDFNedir?
IronPDF, PDF oluşturmayı yerel olarak sunucularınızda gerçekleştiren bir kendi barındırılan .NET kütüphanesidir. ChromePdfRenderer sınıfı, HTML, CSS ve JavaScript'i yüksek kaliteli PDF belgelerine dönüştürmek için gömülü bir Chromium motoru kullanır ve herhangi bir dış ağ çağrısı olmadan çalışır.
Kütüphane, tüm belgeleri uygulamanızın altyapısında işler. Hiçbir veri sunucularınızı terk etmez ve belge üretiminde kullanım sınırı yoktur. Lisans alındıktan sonra, belgelerin maliyeti belgelere bağlı olmaksızın sınırsız PDF oluşturabilirsiniz.
IronPDF, senkron ve asenkron yöntemleri sağlarken, bulut API'lerinin genellikle sağlayamayacağı ek yetenekler sunar—PDF birleştirme, filigran ekleme, metin çıkarımı ve güvenlik ayarları gibi.
Mimari Karşılaştırma
PDFBolt veIronPDFarasındaki temel fark, belge işlemenin nerede gerçekleştiğidir. Bu ayrım, veri gizliliğinden operasyonel güvenilirliğe kadar birçok şeyi etkiler.
| Özellik | PDFBolt | IronPDF |
|---|---|---|
| Barındırma | Yalnızca bulut (AB sunucuları) | Kendi kendine barındırılan |
| Veri Konumu | Dış sunucular (Almanya) | Sadece sizin sunucularınız |
| Gizlilik | Belgeler dışarıda işlenir | Tam veri gizliliği—yerel işleme, üçüncü taraf aktarımı yok |
| Kullanım Sınırları | Kota tabanlı (plana göre 100-50.000/ay) | Unlimited |
| İnternet Gerekli | Evet, her zaman | Hayır |
| Gecikme | Ağa dönüş içeren | Yerel işleme |
| Çevrimdışı Operasyon | Mümkün değil | Tam destekli |
| C# Entegrasyonu | HttpClient ile REST API | Doğrudan kütüphane entegrasyonu |
| Maliyet Modeli | Belge kotalarıyla aylık abonelik | Tek seferlik satın alma veya abonelik |
Hassas belgeleri—sözleşmeler, tıbbi kayıtlar, finansal veriler—ele alan uygulamalar için, verilerin altyapınızdan çıkması önemlidir.IronPDFher şeyi yerel olarak işler, böylece hiçbir belge içeriği dışarıya aktarılmaz. Bu, üçüncü taraf bir veri işlemcisi olmadığından ve denetlenmesi gereken herhangi bir veri aktarımı olmadığından dolayı, GDPR, HIPAA ve SOC2 ile uyumluluğu basitleştirir.
Temel HTML'den PDF'ye Dönüşüm
Her iki araç da HTML'den PDF'ye dönüşümü ele alır, ancak temelde farklı yaklaşımlarla—PDFBolt REST API çağrıları aracılığıyla veIronPDFbir C# kütüphanesi üzerinden.
PDFBolt HTML'den PDF'ye yaklaşımı:
// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = "<html><body><h1>Hello World</h1></body></html>";
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = "<html><body><h1>Hello World</h1></body></html>";
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}Imports System
Imports System.Net.Http
Imports System.Net.Http.Json
Imports System.IO
Imports System.Text
Imports System.Threading.Tasks
Module Program
Async Function Main() As Task
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
Dim base64Html As String = Convert.ToBase64String(Encoding.UTF8.GetBytes(html))
Dim response = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {.html = base64Html})
Dim pdfBytes = Await response.Content.ReadAsByteArrayAsync()
File.WriteAllBytes("output.pdf", pdfBytes)
End Function
End ModuleIronPDF HTML-to-PDF yaklaşımı:
// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}Imports IronPdf
Imports System.IO
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim html = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
End Sub
End ClassPDFBolt'un doğrudan API uç noktası, HTTP yanıt gövdesinde ham PDF ikili verilerini döndürür, bu File.WriteAllBytes() ile kaydedilebilir. IronPDF'nin RenderHtmlAsPdf(), SaveAs() gibi kullanışlı yöntemlerle beraber PdfDocument nesnesini ve alternatif çıktı işlemleri için BinaryData ve Stream gibi özellikleri döndürür.
IronPDF'deki HTML'den PDF'ye dönüşüm işlemi tamamen yerinde çalıştırılır, her dönüşüme gecikme ekleyen ağ dönüşü yoktur.
URL'den PDF'ye Dönüştürme
Web sayfalarını PDF'ye dönüştürmek, yöntem adlandırmasında ve işlemde dikkate değer farklılıklarla benzer kalıplar izler.
PDFBolt URL'inden PDF'ye yaklaşımı:
// REST API: requires an API key from pdfbolt.com
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { url = "https://www.example.com" });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("webpage.pdf", pdfBytes);
}
}// REST API: requires an API key from pdfbolt.com
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { url = "https://www.example.com" });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("webpage.pdf", pdfBytes);
}
}Imports System.Net.Http
Imports System.Net.Http.Json
Imports System.IO
Imports System.Threading.Tasks
Module Program
Async Function Main() As Task
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim response = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {.url = "https://www.example.com"})
Dim pdfBytes = Await response.Content.ReadAsByteArrayAsync()
File.WriteAllBytes("webpage.pdf", pdfBytes)
End Function
End ModuleIronPDF'in URL'den PDF'ye yaklaşımı:
// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}Imports IronPdf
Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End ClassIronPDF, gerçekleştirilen işlemi açıkça belirten özel bir RenderUrlAsPdf yöntemi sağlar. Ortaya çıkan PdfDocument nesnesi, ikili verileri kaydetmek, erişmek veya daha fazla işlemler için aynı zengin arayüzü sunar.
Özel Sayfa Boyutu ve Kenar Boşlukları
Profesyonel belgeler, genellikle belirli sayfa boyutları ve kenar boşluğu yapılandırmalarını gerektirir. Her iki araç da bu özelleştirmeleri farklı yapılandırma kalıplarıyla destekler.
PDFBolt sayfa yapılandırması:
// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = File.ReadAllText("input.html");
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new
{
html = base64Html,
format = "A4",
margin = new { top = "20mm", bottom = "20mm" }
});
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}// REST API: requires an API key from pdfbolt.com
using System;
using System.Net.Http;
using System.Net.Http.Json;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var html = File.ReadAllText("input.html");
var base64Html = Convert.ToBase64String(Encoding.UTF8.GetBytes(html));
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new
{
html = base64Html,
format = "A4",
margin = new { top = "20mm", bottom = "20mm" }
});
var pdfBytes = await response.Content.ReadAsByteArrayAsync();
File.WriteAllBytes("output.pdf", pdfBytes);
}
}Imports System
Imports System.Net.Http
Imports System.Net.Http.Json
Imports System.IO
Imports System.Text
Imports System.Threading.Tasks
Module Program
Async Function Main() As Task
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim html As String = File.ReadAllText("input.html")
Dim base64Html As String = Convert.ToBase64String(Encoding.UTF8.GetBytes(html))
Dim response As HttpResponseMessage = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {
.html = base64Html,
.format = "A4",
.margin = New With {.top = "20mm", .bottom = "20mm"}
})
Dim pdfBytes As Byte() = Await response.Content.ReadAsByteArrayAsync()
File.WriteAllBytes("output.pdf", pdfBytes)
End Function
End ModuleIronPDF sayfa yapılandırması:
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System.IO;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
}
}Imports IronPdf
Imports IronPdf.Rendering
Imports System.IO
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
Dim html = File.ReadAllText("input.html")
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
End Sub
End ClassPDFBolt, API istek gövdesinde JSON parametreleri olarak yapılandırma kabul eder (format, margin).IronPDFtüm yapılandırmaları RenderingOptions özelliği üzerinden merkezileştirir, bu da ayarların IDE otomatik tamamlama yoluyla keşfedilebileceği anlamına gelir.
PDFBolt, birden fazla birimde kenar boşluklarını destekler (px, in, cm, mm),IronPDFise milimetre cinsinden kenar boşluklarını ifade eder. Her ikisi de standart kağıt boyutlarını destekler—PDFBolt format dize parametresi (örneğin, "A4"),IronPDFise PdfPaperSize enumu aracılığıyla.
API Eşleme Başvurusu
PDFBolt'tan IronPDF'e geçmeyi düşünen takımlar için, API eşleştirmelerini anlamak çaba tahmininde yardımcı olur. PDFBolt'un REST API parametrelerini (JSON alanları), IronPDF'in ise C# sınıfları ve yöntemlerini kullandığını unutmayın.
Temel İşlem Eşlemeleri
| PDFBolt (REST API) | IronPDF (C# Kütüphanesi) |
|---|---|
POST /v1/direct ve {"html": "<base64>"} ile | renderer.RenderHtmlAsPdf(html) |
POST /v1/direct ve {"url": "... ile | renderer.RenderUrlAsPdf(url) |
| Yanıt gövdesi (ham PDF baytları) | pdf.SaveAs(path) |
"isEncoded": true (Base64 yanıtı) | pdf.BinaryData |
Yapılandırma Parametre Eşlemeleri
| PDFBolt (JSON parametresi) | IronPDF (C# özelliği) |
|---|---|
"format": "A4" | renderer.RenderingOptions.PaperSize = PdfPaperSize.A4 |
"margin": {"top": "20mm"} | renderer.RenderingOptions.MarginTop = 20 |
"margin": {"bottom": "20mm"} | renderer.RenderingOptions.MarginBottom = 20 |
"margin": {"left": "15mm"} | renderer.RenderingOptions.MarginLeft = 15 |
"margin": {"right": "15mm"} | renderer.RenderingOptions.MarginRight = 15 |
Başlık/Altbilgi Dinamik İçerik Eşlemeleri
Her iki araç da dinamik içerikle HTML tabanlı başlıkları ve altbilgileri, farklı söz dizimi kullanarak destekler:
| PDFBolt (HTML'de CSS sınıfı) | IronPDF (yer tutucu) | Amaç |
|---|---|---|
<span class="pageNumber"></span> | {page} | Geçerli sayfa numarası |
<span class="totalPages"></span> | {total-pages} | Toplam sayfa sayısı |
<span class="date"></span> | {date} | Geçerli tarih |
<span class="title"></span> | {html-title} | Belge başlığı |
<span class="url"></span> | {url} | Sayfa URL'si |
PDFBolt veIronPDFher ikisi de CSS stil vermesiyle HTML tabanlı başlıkları ve altbilgileri destekler. PDFBolt'un headerTemplate ve footerTemplate parametreleri Base64 ile kodlanmış HTML kabul ederken,IronPDFHTML dizelerini doğrudan işleme seçeneklerinde kullanır.
Özellik Mevcudiyet Karşılaştırması
Temel HTML'den PDF'ye dönüşümün ötesinde, araçlar mevcut yeteneklerde önemli ölçüde farklıdır.
| Özellik | PDFBolt | IronPDF |
|---|---|---|
| HTML'den PDF'ye | ✓ | ✓ |
| URL'yi PDF'ye çevir | ✓ | ✓ |
| Başlıklar/Altbilgiler | ✓ (HTML) | ✓ (HTML) |
| Sayfa Numaraları | ✓ | ✓ |
| Özel Sayfa Boyutları | ✓ | ✓ |
| Kenar Boşlukları | ✓ | ✓ |
| PDF Birleştirme | ✗ | ✓ |
| PDF Ayırma | ✗ | ✓ |
| Filigranlar | ✗ | ✓ |
| Şifre Koruması | ✗ | ✓ |
| Metin Çıkarma | ✗ | ✓ |
| PDF'den Görüntüye | ✗ | ✓ |
| Form Doldurma | ✗ | ✓ |
| Dijital İmzalar | ✗ | ✓ |
| Çevrimdışı İşlem | ✗ | ✓ |
| Sınırsız İşlem | Kota tabanlı (ayda 50.000'den fazla) | Unlimited |
IronPDF, PDF manipülasyon yetenekleri dahil olmak üzere birleştirme, ayırma, filigran ekleme ve güvenlik ayarları gibi, bulut API'lerinin genellikle API isteklerinin kalıcı özelliği nedeniyle sağlayamayacağı işlevler sunar.
Veri Gizliliği ve Uyum
Mimari fark, temelde farklı veri işleme özellikleri yaratır:
PDFBolt veri akışı:
- Uygulamanız HTML/URL'i PDFBolt'un AB tabanlı sunucularına (Almanya) gönderir
- PDFBolt, belgenin bulut altyapısını kullanarak işlenir
- Oluşturulan PDF ağ üzerinden geri döner
- Belge içeriği dış sunuculara iletilir ve işlenir
IronPDF veri akışı:
- Uygulamanız HTML/URL'i yerel olarak işler
- Chromium motoru, işlemi içinde PDF'yi oluşturur
- PDF verisi sunucularınızı terk etmez
- Üçüncü taraf veri işlemcisi dahil edilmez—DPA müzakeresi gerekli değil
IronPDF ile, kişisel olarak tanımlanabilir bilgiler, korunan sağlık bilgileri veya gizli iş verileri içeren belgeler alt yapınızdan çıkmaz. Kütüphane, uyum iş akışlarını destekleyen yerleşik güvenlik özelliklerini de içerir: parola koruması ve şifreleme (256-bit AES'e kadar), dijital imzalar ile PFX/P12 sertifikaları ve HSM desteği, kalıcı PII kaldırımı için metin sansürü ve uzun vadeli arşivleme gereksinimleri için PDF/A uyumluluğu. İzole ortamlarda,IronPDFsıfır internet bağlantısıyla çalışır.
Takımların PDFBolt'tan IronPDF'e Geçmeyi Düşündüğü Durumlar
Takımları PDFBolt'a alternatif olarak IronPDF'i değerlendirmeye iten birkaç faktör vardır:
Veri Gizliliği Gereklilikleri: GDPR, HIPAA veya iç veri yönetim politikalarına tabi kuruluşlar, belgelerin altyapılarından çıkmamasını talep edebilir. IronPDF'in yerel işleme modeli, tasarım gereği bu isteği karşılar—hiçbir veri dışarıya iletilmiyor ve dahili şifreleme ve sansürleme özellikleri uyum iş akışlarını doğrudan destekler.
Kullanım Hacmi Artışı: PDFBolt'un ücretsiz katmanı, aylık 100 belgeyle sınırlıdır (bunu aşan istekler bloke edilmez, faturalandırılmaz). Ücretli planlar aylık $19'dan (2.000 belge) $249'a kadar (50.000 belge) değişir ve ücretli katmanlarda katılmaya yönelik aşma seçeneği sunar. IronPDF, bir kez lisanslandıktan sonra belge kotaları veya ölçümleri olmadan sınırsız üretim sunar.
Ağ Güvenilirliği Endişeleri: Bulut API'leri her işlem için ağ bağlantısı gerektirir. Kesintili bağlantılı ortamlarda veya yüksek kullanılabilirlik gerektiren uygulamalar, ağ durumu ne olursa olsun çalışmayı sürdüren yerel işleme işlemlerinden faydalanır.
Gecikme Hassasiyeti: HerPDFBoltdönüşümü, işleme süresinin üzerine ek olarak ağ dönüşü süresini de kapsar.IronPDFbelgeleri yerinde işler, ağı tamamen önler.
Özellik Gereklilikleri: Uygulamalar PDF birleştirme, filigran ekleme, metin çıkarımı veya güvenlik ayarlama ihtiyacı duyduğunda, bulut API'leri genellikle bu yetenekleri sağlayamaz. IronPDF'nin kapsamlı özellik seti, bu gereksinimleri ek hizmetlere gerek kalmadan karşılar.
API Anahtar Yönetimi: Bulut API anahtarları, faturalanabilir bir hizmete erişim sağladıkları için güvenli depolama ve döndürme uygulamalarını gerektirir. IronPDF'nin lisans anahtarı modeli, kullanım başına bir faturalandırma yükü olmadan yerel kimlik doğrulaması sağlar.
Kurulum Karşılaştırması
PDFBolt kurulumu: PDFBolt, bir paket kurulumunu gerektirmez; bir REST API'dir. Geliştiriciler pdfbolt.com adresinde kaydolur, bir API anahtarı alır ve dillerinin standart HTTP istemcisini kullanarak HTTP talepleri yaparlar:
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")IronPDF kurulumu:
Install-Package IronPdfInstall-Package IronPdfIronPDF, uygulama başlangıcında lisans anahtarı yapılandırması gerektirir:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"PDFBolt, herhangi bir platformdan erişilebilen dil bağımsız bir REST API'dir (C#, Node.js, Python, Java, Go, PHP, Rust ve daha fazlası). IronPDF, .NET Framework ve modern .NET sürümlerini destekleyen, .NET 10 ve C# 14 hedefleyen uygulamalarla uyumlu bir .NET kütüphanesidir.
Async vs Sync Düşünceleri
PDFBolt'un bulut tabanlı mimarisi, ağ işlemleri için asenkron HTTP kalıplarını kullanır.PDFBoltüç uç nokta türü sunar: doğrudan (senkron ikili yanıt), senkron (indirme URL'si ile senkron JSON) ve asenkron (webhook temelli):
//PDFBoltREST API pattern - async HTTP call
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();//PDFBoltREST API pattern - async HTTP call
var client = new HttpClient();
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY");
var response = await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
new { html = base64Html });
var pdfBytes = await response.Content.ReadAsByteArrayAsync();Imports System.Net.Http
Imports System.Net.Http.Headers
Imports System.Threading.Tasks
'PDFBoltREST API pattern - async HTTP call
Dim client As New HttpClient()
client.DefaultRequestHeaders.Add("API-KEY", "YOUR-API-KEY")
Dim response As HttpResponseMessage = Await client.PostAsJsonAsync(
"https://api.pdfbolt.com/v1/direct",
New With {.html = base64Html})
Dim pdfBytes As Byte() = Await response.Content.ReadAsByteArrayAsync()IronPDF, yerel işlemenin asenkron gerektirmemesi nedeniyle varsayılan olarak senkron yöntemler sağlar:
//IronPDFlocal pattern - sync by default
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");//IronPDFlocal pattern - sync by default
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");'IronPDFlocal pattern - sync by default
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")Asenkron kalıplardan faydalanan uygulamalar için IronPDF, asenkron yöntem varyantları da sunar:
//IronPDFasync option
var pdf = await renderer.RenderHtmlAsPdfAsync(html);//IronPDFasync option
var pdf = await renderer.RenderHtmlAsPdfAsync(html);Performans Özellikleri
Yerel ve bulut işleme, farklı performans profilleri oluşturur:
| Metrik | PDFBolt | IronPDF |
|---|---|---|
| İşlem | Bulut işleme + ağ aktarımı | Yerel işleme |
| Ağ bağımlılığı | Her istek bağlantı gerektirir | None |
| Toplu işlem | Plan bazında sınırlı (20-150 istek/dk) | Hız sınırı yok |
| Eşzamanlı istekler | Plana bağlı olarak 1-20 | Sunucu kaynakları ile sınırlı |
| Çevrimdışı çalışma | Mümkün değil | Tam destekli |
IronPDF'nin gömülü Chromium motoru, ilk kullanımda başlatma yüküne sahiptir, ancak sonraki işlemler, bulut API çağrılarında bulunan ağ yükünden kaçınır. PDFBolt'un performansı ağ koşullarına, belge karmaşıklığına ve mevcut sunucu yüküne bağlıdır.
Karar Verme
PDFBolt veIronPDFarasında seçim yaparken spesifik gereksinimlerinize bağlıdır:
PDFBolt'u düşünün: Bir prototip için hızlı entegrasyon gerekiyorsa, belge hacminiz PDFBolt'un abone seviyelerine uyuyorsa, bulut tabanlı belge işleme konusunda rahatsanız ve ağ bağlantısı güvenilir ise.
IronPDF'yi düşünün: Gizlilik veya uyum için yerel veri işlemesine ihtiyacınız varsa, aylık 100'den fazla belge oluşturuyorsanız, oluşturmanın ötesinde PDF manipülasyonuna ihtiyacınız (birleştirme, watermark, güvenlik) varsa, çevrimdışı çalışma yeteneği gerekiyorsa veya gecikme kullanıcı deneyimi için önemli ise.
2025'te üretim uygulamaları geliştiren ve 2026'ya yönelik plan yapan ekipler için IronPDF'nin kendi kurulan mimarisi, operasyonel bağımsızlık ve bulut API'lerinin eşleşemeyeceği kapsamlı yetenekler sunar.
IronPDFKullanımına Başlama
PDF oluşturma gereksinimleriniz için IronPDF'yi değerlendirmek için:
- IronPDF NuGet paketini yükleyin:
Install-Package IronPdf - Temel dönüştürme modelleri için HTML'den PDF'ye eğitimini gözden geçirin
- Web sayfası yakalama için URL to PDF dönüşümünü keşfedin
- Kapsamlı örnekler için eğitim bölümünü kontrol edin
IronPDF dokümantasyonu, genel senaryolar için ayrıntılı kılavuz sağlar ve API referansı tüm mevcut sınıfları ve yöntemleri belgelemektedir.
