KARşıLAşTıRMA

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.

ÖzellikPDFBoltIronPDF
BarındırmaYalnızca bulut (AB sunucuları)Kendi kendine barındırılan
Veri KonumuDış sunucular (Almanya)Sadece sizin sunucularınız
GizlilikBelgeler dışarıda işlenirTam 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 GerekliEvet, her zamanHayır
GecikmeAğa dönüş içerenYerel işleme
Çevrimdışı OperasyonMümkün değilTam destekli
C# EntegrasyonuHttpClient ile REST APIDoğrudan kütüphane entegrasyonu
Maliyet ModeliBelge kotalarıyla aylık abonelikTek 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 Module
$vbLabelText   $csharpLabel

IronPDF 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 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(), 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 Module
$vbLabelText   $csharpLabel

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

IronPDF, 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 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ı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>"} ilerenderer.RenderHtmlAsPdf(html)
POST /v1/direct ve {"url": "... ilerenderer.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.

ÖzellikPDFBoltIronPDF
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 İşlemKota 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ışı:

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

IronPDF veri akışı:

  1. Uygulamanız HTML/URL'i yerel olarak işler
  2. Chromium motoru, işlemi içinde PDF'yi oluşturur
  3. PDF verisi sunucularınızı terk etmez
  4. Üçü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")
$vbLabelText   $csharpLabel

IronPDF kurulumu:

Install-Package IronPdf
Install-Package IronPdf
SHELL

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

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

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

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

Performans Özellikleri

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

MetrikPDFBoltIronPDF
İşlemBulut işleme + ağ aktarımıYerel işleme
Ağ bağımlılığıHer istek bağlantı gerektirirNone
Toplu işlemPlan bazında sınırlı (20-150 istek/dk)Hız sınırı yok
Eşzamanlı isteklerPlana bağlı olarak 1-20Sunucu kaynakları ile sınırlı
Çevrimdışı çalışmaMümkün değilTam 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:

  1. IronPDF NuGet paketini yükleyin: Install-Package IronPdf
  2. Temel dönüştürme modelleri için HTML'den PDF'ye eğitimini gözden geçirin
  3. Web sayfası yakalama için URL to PDF dönüşümünü keşfedin
  4. 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.

Lütfen dikkate alınPdfBolt, ilgili sahibinin tescilli ticari markasıdır. Bu site,PDFBoltile bağlantılı,PDFBolttarafından onaylanan veya desteklenen bir site değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.