KARşıLAşTıRMA

PDFBolt vs IronPDF: Teknik Karşılaştırma Rehberi

.NET geliştiricileri PDF dokümanlari oluşturmalari gerektiginde, onemli bir karar ile karsi karsiya kalirlar:PDFBoltgibi bulut tabanli hizmetleri kullanmak ya daIronPDFgibi kendi barindirdiklari kutuphaneleri tercih etmek. Bu analiz, PDF oluşturma ihtiyaçları için doğru aracı seçmelerine yardımcı olmak amacıyla, geliştiriciler, mimarlar ve karar vericiler için önemli teknik yönlerden her iki seçeneği de inceler.

PDFBoltNedir?

PDFBolt, harici sunucular aracılığıyla PDF'ler oluşturmak için bulut tabanlı bir REST API hizmetidir. Geliştiriciler, HTML içeriğini veya URL'leri PDFBolt'un API uç noktalarına HTTP POST istekleri aracılığıyla gönderir, bu içerik başsız Chromium tarayıcı kullanılarak işlenir ve oluşturulan PDF geri döndürülür.

Bulut tabanlı kurulum, hızlı entegrasyon sunar—geliştiriciler, bir API anahtarı alır ve herhangi bir dilin standart HTTP istemcisini kullanarak HTTP istekleri yaparlar (örneğin, C#'ta HttpClient, Python'da requests, Node.js'te fetch). PDFBolt, yerel PDF oluşturma kaynaklarına duyulan ihtiyaçı ortadan kaldırarak işleme altyapısını yönetir.

Ancak, bu kolaylığın bazı ödünleri vardır. Her belge, PDFBolt'un AB merkezli 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. Ayrıca, tüm PDF oluşturma işlemleri için ağ bağlantısı zorunludur.

IronPDFNedir?

IronPDF, PDF oluşturma işlemlerini sunucularınızda yerel olarak gerçekleştiren bir .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 bu işlem sırasında herhangi bir harici ağ çağrısı yapılmaz.

Kutuphanesi, tüm belgeleri uygulamanizin altyapisinda isler. Verileriniz sunucularınızı terk etmez ve belge oluşturma konusunda herhangi bir kullanım sınırı yoktur. Lisanslandiktan sonra, belge basina maliyet olmadan sinirsiz sayida PDF oluşturabilirsiniz.

IronPDF, eşzamanlı ve eşzamansız yöntemler ile birlikte, temel oluşturmanın ötesinde geniş yetenekler sunar—PDF birleştirme, filigran ekleme, metin çıkarma ve bulut API'larının genellikle sağlayamayacağı güvenlik ayarları gibi.

Mimari Karşılaştırma

PDFBolt ileIronPDFarasındaki başlıca fark, belge işlemenin nerede gerçekleştiğidir. Bu ayrım, veri gizliliğinden operasyonel güvenilirliğe kadar her şeyi etkiler.

ÖzellikPDFBoltIronPDF
BarındırmaSadece bulut (AB sunucuları)Kendi kendine barındırılan
Veri KonumuHarici sunucular (Almanya)Sadece sizin sunuculariniz
GizlilikDışarıda işlenen belgelerTam veri gizliliği—yerel işleme, üçüncü taraf aktarımı yok
Kullanım SınırlamalarıKota bazlı (plana göre 100-50.000/ay)Sınırsız
İnternet GerekliEvet, her zamanHayır
GecikmeAğa turu gezinmesini içerirYerel işleme
Çevrimdışı ÇalışmaMümkün değilTam destek
C# EntegrasyonuHttpClient ile REST APIDogrudan kutuphane entegrasyonu
Maliyet ModeliAylık abonelik ile belge kotalarıTek seferlik satın alma veya abonelik

Verilerin altyapınızdan çıkması gereken hassas belgelerle - sözleşmeler, tıbbi kayıtlar, finansal veriler - ilgilenen uygulamalar için verilerin nereye gittiği önemlidir. IronPDF, her şeyi yerel olarak işler; bu nedenle, belge içeriği harici olarak iletilmez. Bu, GDPR, HIPAA ve SOC2 uyumunu basitleştirir, çünkü üçüncü taraf bir veri işlemcisi dahil değildir ve denetlenecek bir veri aktarımı yoktur.

Temel HTML'den PDF'e Dönüşüm

Her iki araç da HTML-to-PDF dönüşümünü ele alır, ancak temelde farklı yaklaşımlarla—PDFBolt REST API çağrıları yoluyla veIronPDFC# kutuphanesi aracılığıyla.

PDFBolt HTML'den PDF'e 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 Module
$vbLabelText   $csharpLabel

IronPDF HTML'den PDF'ye 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 Class
$vbLabelText   $csharpLabel

PDFBolt'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() bir PdfDocument nesnesi döndürür ve SaveAs() gibi kullanışlı yöntemler ve alternatif çıktı işlemi için BinaryData ve Stream gibi özellikler içerir.

HTML'den PDF'e donusum sureci IronPDF'de tamamen yerel olarak calisir, her donusume gecikme ekleyen ag yolculugu yoktur.

URL'den PDF'e Donusum

Web sayfalarını PDF'ye dönüştürme işlemi, yöntem adlandırma ve işleme konularında belirgin farklarla benzer kalıpları takip eder.

PDFBolt URL'den PDF'e 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 Module
$vbLabelText   $csharpLabel

IronPDFURL'den PDF'yeyaklaşı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 Class
$vbLabelText   $csharpLabel

IronPDF, gerçekleştirilen işlemi açıkça belirten RenderUrlAsPdf adında özel bir metod sunar. Ortaya çıkan PdfDocument nesnesi, kaydetme, ikili verilere erişme veya daha fazla işlem 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ı gerektirir. Her iki araç da bu özelleştirmeleri farklı yapılandırma desenleri ile 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 Module
$vbLabelText   $csharpLabel

IronPDF 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 Class
$vbLabelText   $csharpLabel

PDFBolt, API istek gövdesinde JSON parametreleri olarak yapılandırmayı kabul eder (format, margin). IronPDF, tüm yapılandırmayı RenderingOptions özelliği aracılığıyla merkezileştirir ve ayarları IDE otomatik tamamlaması yoluyla keşfedilebilir hale getirir.

PDFBolt, çoklu birimlerde (px, in, cm, mm) kenar boşluklarını desteklerken,IronPDFkenar boşluklarını milimetreyle ifade eder. Her ikisi de standart kağıt boyutlarını destekler—PDFBolt, format dize parametresi (örneğin, "A4") aracılığıyla,IronPDFise PdfPaperSize enum üzerinden.

API Eslestirme Referansi

PDFBolt'tan IronPDF'e geçmeyi düşünen ekipler için, API eşlemelerini anlamak çabayı tahmin etmeye yardımcı olur. PDFBolt'un REST API parametreleri (JSON alanları) kullanırken,IronPDFC# sınıfları ve yöntemleri kullanır.

Çekirdek İşlem Eşlemeleri

PDFBolt (REST API)IronPDF(C# Kütüphanesi)
POST /v1/direct ile {"html": "<base64>"}renderer.RenderHtmlAsPdf(html)
POST /v1/direct ile {"url": "...renderer.RenderUrlAsPdf(url)
Yanıt gövdesi (ham PDF baytları)pdf.SaveAs(path)
"isEncoded": true (Base64 yanıt)pdf.BinaryData

Yapılandırma Parametresi 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

Üst Bilgi/Alt Bilgi Dinamik İçerik Eşlemeleri

Her iki araç da dinamik içerikle HTML tabanlı üst ve alt bilgileri farklı sözdizimleri kullanarak destekler:

PDFBolt(HTML'de CSS sınıfı)IronPDF (placeholder)Amac
<span class="pageNumber"></span>{page}Geçerli sayfa numarası
<span class="totalPages"></span>{total-pages}Toplam sayfa sayısı
<span class="date"></span>{date}Güncel tarih
<span class="title"></span>{html-title}Belge başlığı
<span class="url"></span>{url}Sayfa URL'si

HemPDFBolthem de IronPDF, CSS stili ile HTML tabanlı üst ve alt bilgileri destekler. PDFBolt'un headerTemplate ve footerTemplate parametreleri Base64 kodlanmış HTML kabul ederken,IronPDFkendi render seçeneklerinde doğrudan HTML dizelerini kullanır.

Özellik Mevcudiyeti Karşılaştırması

Temel HTML'den PDF'ye dönüşümün ötesinde, araçlar mevcut yeteneklerde önemli ölçüde farklılık gösterir.

ÖzellikPDFBoltIronPDF
HTML'den PDF'ye
URL'den PDF'ye
Üstbilgi/Altbilgi✓ (HTML)✓ (HTML)
Sayfa Numaraları
Özel Sayfa Boyutları
Kenar Boşlukları
PDF Merging
PDF Ayırma
Filigranlar
Şifre Koruması
Metin Çıkarma
PDF'den Görüntülere
Form Doldurma
Dijital İmzalar
Çevrimdışı Çalışma
Sınırsız İşlemeKota bazlı (ayda 50.000'e kadar)Sınırsız

IronPDF, bulut API'lerinin isteksiz doğası nedeniyle genellikle sunamayacağı birleştirme, ayırma, filigran ekleme ve güvenlik ayarları dahil olmak üzere geniş PDF manipülasyon yetenekleri sağlar.

Veri Gizliliği ve Uyumluluk

Mimari fark, temelde farklı veri işleme özellikleri oluşturur:

PDFBolt veri akışı:

  1. Uygulamanız HTML/URL'yi PDFBolt'un AB tabanlı sunucularına (Almanya) gönderir
  2. PDFBolt, belgenizi bulut altyapısını kullanarak işler
  3. Oluşturulan PDF ağ üzerinden geri döner
  4. Belge içeriği harici sunuculara iletilir ve işlenir

IronPDF veri akışı:

  1. Uygulamanız HTML/URL'yi yerel olarak işler
  2. Chromium motoru PDF'yi sürecin içinde işler
  3. PDF verileri sunucularınızı asla terk etmez
  4. Üçüncü taraf veri işleyici yoktur—herhangi bir DPA müzakeresi gerekli değildir

IronPDF ile kişisel olarak tanımlanabilir bilgiler, korunan sağlık bilgileri veya gizli iş verileri içeren belgeleriniz altyapınızı hiçbir zaman terk etmez. Kütüphane ayrıca uyum iş akışlarını destekleyen yerleşik güvenlik özellikleri içerir: parola koruma ve şifreleme (256-bit AES'e kadar), dijital imzalar ile PFX/P12 sertifikaları ve HSM desteği, metin sansürü kalıcı PII kaldırımı için ve uzun süreli arşiv gereksinimleri için PDF/A uyumluluğu. Hava geçirmez ortamlarda,IronPDFsıfır internet bağlantısı ile çalışır.

Takımlar PDFBolt'tan IronPDF'e Geçmeyi Düşündüğünde

Birçok faktör, ekipleriPDFBoltyerine IronPDF'i değerlendirmeye yönlendiriyor:

Veri Gizliliği Gereksinimleri: GDPR, HIPAA veya iç veri yönetimi politikalarına tabi kuruluşlar, belgelerin altyapılarından hiç çıkmamasını isteyebilir. IronPDF'in yerel işleme modeli, veri harici olarak iletilmediği ve yerleşik şifreleme ve sansürleme özellikleri doğrudan uyum iş akışlarını desteklediği için bu gerekliliği karşılar.

Kullanım Hacmi Büyümesi: PDFBolt'un ücretsiz katmanı, ayda 100 belge ile sınırlı (bu sınırı aşan talepler engellenir, faturalandırılmaz). Ücretli planlar $19/ay (2.000 belge) ile $249/ay (50.000 belge) arasında değişir ve ücretli katmanlarda isteğe bağlı fazla kullanım imkanı sunar. IronPDF'in belge kotaları veya ölçeği yoktur—lisanslandıktan sonra üretim sınırsızdır.

Ağ Güvenilirliği Endişeleri: Bulut API'leri her işlem için ağ bağlantısı gerektirir. Aralıklı bağlantılı ortamlarda konuşlandırılan veya yüksek erişilebilirlik gerektiren uygulamalar, ağ durumu ne olursa olsun çalışmaya devam eden yerel işlemden faydalanabilir.

Gecikme Hassasiyeti: HerPDFBoltdönüşümü, ağ gidiş-dönüş süresini ve işlem süresini içerir.IronPDFbelgeleri yerel olarak işler, ağ ek yükünden tamamen kaçınır.

Özellik Gereksinimleri: Uygulamalar belik birleştirme, filigran ekleme, metin çıkarma veya güvenlik ayarlarına ihtiyaç duyduğunda, bulut API'leri genellikle bu yetenekleri sağlayamaz. IronPDF'in kapsamlı özellik seti, bu ihtiyaçları ek hizmetler olmadan karşılar.

API Anahtar Yönetimi: Bulut API anahtarları, güvenli depolama ve döndürme uygulamaları gerektirir, çünkü bunlar faturalanabilir bir hizmete erişim sağlar. IronPDF'in lisans anahtarı modeli, yerel olarak kimlik doğrular ve kullanım başına faturalama etkileri taşımaz.

Kurulum Karşılaştırması

PDFBolt kurulumu: PDFBolt paket yüklemesi gerektirmez—bu bir REST API'dir. Geliştiriciler pdfbolt.com'a kaydolurlar, bir API anahtarı alırlar ve dillerinin standart HTTP istemcisini kullanarak HTTP istekleri 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")
$vbLabelText   $csharpLabel

IronPDF kurulumu:

Install-Package IronPdf
Install-Package IronPdf
SHELL

IronPDF, uygulama başlatildiginda lisans anahtarı konfigürasyonu gerektirir:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

PDFBolt, C#, Node.js, Python, Java, Go, PHP, Rust ve daha fazlası gibi herhangi bir platformdan erişilebilen dil-den bağımsız bir REST API'dir. IronPDF, .NET Çerçevesi 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 async HTTP kalıplarını kullanır.PDFBoltüç uç nokta türü sunar: doğrudan (senkron ikili yanıt), senkron (indirilebilir URL ile senkron JSON), ve async (webhook bazlı):

//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()
$vbLabelText   $csharpLabel

IronPDF, varsayılan olarak senkron yöntemler sunar çünkü yerel işlem async gerektirmez:

//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")
$vbLabelText   $csharpLabel

Async kalıplarından yararlanan uygulamalar için,IronPDFayrıca async yöntem varyantları sağlar:

//IronPDFasync option
var pdf = await renderer.RenderHtmlAsPdfAsync(html);
//IronPDFasync option
var pdf = await renderer.RenderHtmlAsPdfAsync(html);
$vbLabelText   $csharpLabel

Performans Özellikleri

Yerel ve bulut işleme farklı performans profilleri oluşturur:

MetrikPDFBoltIronPDF
İşlemeBulut işleme + ağ aktarımlarıYerel işleme
Ağ bağımlılığıHer istek bağlantı gerektirirNone
Toplu işlemeDakikada 20-150 istek ile sınırlı (planlara göre)Hız limiti yok
Eşzamanlı isteklerPlana bağlı olarak 1-20Sunucu kaynakları ile sınırlıdır
Çevrimdışı operasyonMümkün değilTam destek

IronPDF'in gömülü Chromium motoru ilk kullanımda başlatma yüküne sahiptir, ancak sonraki işlemeler bulut API çağrılarının içsel olan 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 Süreci

PDFBolt veIronPDFarasında seçim yapmak, özel gereksinimlerinize bağlıdır:

PDFBolt'u değerlendirin: Prototip için hızlı entegrasyon ihtiyaçınız var, belge hacimleriniz PDFBolt'un abonelik katmanlarına uyuyor, bulut tabanlı belge işlemeyi rahat karşılıyorsunuz ve ağ bağlantısı güvenilirdir.

IronPDF'i değerlendirin: Gizlilik veya uyumluluk için yerel veri işleme ihtiyaçınız var, ayda 100'den fazla belge üretiyorsunuz, üretimin ötesinde PDF manipülasyonuna ihtiyaçınız var (birleştirme, filigran, güvenlik), çevrimdışı işletim yeteneği gerekli veya gecikme, kullanıcı deneyimi için önemlidir.

2025 yılında üretim uygulamaları inşa eden ve 2026'ya yönelik planlama yapan ekipler için, IronPDF'in kendi barındırdığı mimarisi, operasyonel bağımsızlık ve bulut API'leri ile eşleşemeyen geniş yetenekler sağlar.

IronPDFile Başlarken

PDF oluşturma ihtiyaçlarınız için IronPDF'u değerlendirmek için:

  1. IronPDF NuGet paketini yükleyin: Install-Package IronPdf
  2. Temel dönüşüm kalıpları için HTML'den PDF'ye öğreticiyi inceleyin
  3. Web sayfasi yakalamasi icin URL'den PDF'ye donusumunu inceleyin
  4. Kapsamli örnekler icin ogretici bölümunu kontrol edin

IronPDF belgeleri, yaygın senaryolar için detaylı rehberlik sağlar ve API referansı mevcut tüm sınıf ve yöntemleri belgelemektedir.