PDFBolt'tan IronPDF'e C# ile Nasıl Geçilir
PDFBolt'tan IronPDF'ye geçiş, .NET PDF iş akışınızı harici belge işleme ile sadece bulut tabanlı bir SaaS hizmetinden, tam veri gizliliği ve sınırsız yerel üretim sunan kendi barındırılan bir kütüphaneye taşır. Bu kılavuz, ağ bağımlılıklarını, kullanım limitlerini ve harici veri aktarımını ortadan kaldırarak, PDFBolt'un sağlayamayacağı PDF manipülasyon özelliklerine erişiminizi sağlayan kapsamlı, adım adım bir geçiş yolu sağlar.
Neden PDFBolt'tan IronPDF'ye Geçilmeli
Sadece Bulut Problem
PDFBolt, belgelerinizi harici sunucularda işleyen sadece bulut tabanlı bir SaaS platformudur. Hızlı prototipler için uygun olsa da, bu mimari üretim uygulamaları için önemli zorluklar yaratır:
-
Sadece Bulut İşleme: Her belge harici sunuculardan geçer—kendi barındırılan bir seçenek mevcut değildir, bu da verileri ve süreçleri üzerinde daha fazla kontrol isteyen işletmeleri caydırabilir.
-
Veri Gizliliği Riskleri: Hassas belgeler (sözleşmeler, tıbbi kayıtlar, finansal veriler) harici olarak aktarılmalıdır. Hassas bilgilerle ilgilenen şirketler meşru endişelere sahip olacaktır.
-
Kullanım Limitleri: Ücretsiz katman ayda 100 belge ile sınırlıdır, bu da daha büyük işletmeler için yeterli olmayabilir. Belge başına fiyatlandırma üretim yükleri için hızla birikir.
-
Ağ Bağımlılığı: İnternet kesintileri veyaPDFBoltarıza süreleri, PDF oluşturmanın tamamen durduğu anlamına gelir.
-
Gecikme: Ağ gidiş geliş süresi, yerel işlemeye kıyasla her dönüşüme saniyeler ekler.
-
Uyumluluk Sorunları: GDPR, HIPAA ve SOC2 denetimleri harici belge işleme tarafından karmaşık hale getirilir.
-
API Anahtar Güvenliği: Sızan API anahtarları hesabınıza fatura edilen yetkisiz kullanıma neden olabilir.
- Tedarikçi Bağımlılığı:PDFBoltşartları değiştirirse veya kapandığında uygulamanız başarısız olur.
PDFBolt vsIronPDFKarşılaştırması
| Kaygı | PDFBolt | IronPDF |
|---|---|---|
| Veri Konumu | Harici sunucular | Sadece sizin sunuculariniz |
| Kullanım Sınırlamaları | 100 ücretsiz, sonra belge başına | Sınırsız |
| İnternet Gerekli | Evet, her zaman | Hayır |
| Gecikme | Ağ gidiş-dönüşü | Milisaniye |
| Uyumluluk | Karmaşık (harici işleme) | Basit (yerel işleme) |
| Maliyet Modeli | Belge başına | Tek seferlik veya yıllık |
| Çevrimdışı Çalışma | İmkansız | Tam destek |
| API Anahtar Riskleri | Sızan = fatura edilir | Lisans anahtarı, fatura riski yok |
2025 ve 2026'ya kadar .NET 10 ve C# 14 uyarlamayı planlayan ekipler için IronPDF, tam veri gizliliğini sağlayan ve harici bulut hizmetlerine bağımlılığı ortadan kaldıran kendi barındırılan bir temel sağlar.
Başlamadan Önce
Önkoşullar
- .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet Erişimi: NuGet paketlerini yükleme yeteneği
- IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin
NuGet Paket Değişiklikleri
# Remove PDFBolt
dotnet remove package PDFBolt
# Install IronPDF
dotnet add package IronPdf
# Remove PDFBolt
dotnet remove package PDFBolt
# Install IronPDF
dotnet add package IronPdf
Lisans Yapılandırması
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
PDFBoltKullanımını Belirleme
# Find allPDFBoltreferences
grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" .
# Find API key references
grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" .
# Find allPDFBoltreferences
grep -r "PDFBolt\|HtmlToPdfConverter\|ConvertHtmlString\|ConvertUrl" --include="*.cs" .
# Find API key references
grep -r "PDFBOLT\|ApiKey" --include="*.cs" --include="*.json" --include="*.config" .
API Referansının Tamamı
Temel Sınıf Eşlemeleri
| PDFBolt | IronPDF |
|---|---|
new HtmlToPdfConverter() |
new ChromePdfRenderer() |
PageSize |
PdfPaperSize |
| (byte[] döner) | PdfDocument |
Dönüştürme Metod Eşleştirmeleri
| PDFBolt | IronPDF |
|---|---|
converter.ConvertHtmlString(html) |
renderer.RenderHtmlAsPdf(html) |
converter.ConvertUrl(url) |
renderer.RenderUrlAsPdf(url) |
Çıktı Metod Eşleştirmeleri
| PDFBolt | IronPDF |
|---|---|
File.WriteAllBytes(path, pdf) |
pdf.SaveAs(path) |
| (pdf byte[]) | pdf.BinaryData |
| (manuel akış) | pdf.Stream |
Sayfa Yapılandırma Eşlemeleri
| PDFBolt | IronPDF |
|---|---|
converter.PageSize = PageSize.A4 |
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4 |
converter.MarginTop = 20 |
renderer.RenderingOptions.MarginTop = 20 |
converter.MarginBottom = 20 |
renderer.RenderingOptions.MarginBottom = 20 |
converter.MarginLeft = 15 |
renderer.RenderingOptions.MarginLeft = 15 |
converter.MarginRight = 15 |
renderer.RenderingOptions.MarginRight = 15 |
Başlık/Altbilgi Yer Tutucu Eşlemeleri
| PDFBolt | IronPDF |
|---|---|
{pageNumber} |
{page} |
{totalPages} |
{total-pages} |
{date} |
{date} |
{title} |
{html-title} |
Kod Geçiş Örnekleri
Örnek 1: Temel HTML'den PDF'ye
Önce (PDFBolt):
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var html = "<html><body><h1>Hello World</h1></body></html>";
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
Imports PDFBolt
Imports System.IO
Class Program
Shared Sub Main()
Dim converter = New HtmlToPdfConverter()
Dim html = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = converter.ConvertHtmlString(html)
File.WriteAllBytes("output.pdf", pdf)
End Sub
End Class
Sonra (IronPDF):
// 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
Buradaki temel fark dönüş türü ve kaydetme desenidir. PDFBolt'un HtmlToPdfConverter.ConvertHtmlString(), diske elle yazmanız gereken bir byte[] döndürür, File.WriteAllBytes() kullanarak. Bu, System.IO'i içe aktarmayı ve dosya işlemini kendiniz yapmayı gerektirir.
IronPDF'un ChromePdfRenderer.RenderHtmlAsPdf(), yerleşik SaveAs() yöntemiyle bir PdfDocument nesnesi döndürür. Bu nesne yonelimli yöntem ek faydalar sunar: kaydetmeden once PDF'yi (filigran ekleme, belgeleri birlestirme, guvenlik ekleme) manipule edebilirsiniz. Mevcut kodla uyumluluk için ham baytlara ihtiyaçınız varsa, pdf.BinaryData kullanın. Daha fazla işleme seçeneği için HTML'den PDF'ye dokümantasyonuna bakın.
Örnek 2: URL'den PDF'e Dönüştürme
Önce (PDFBolt):
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var pdf = converter.ConvertUrl("https://www.example.com");
File.WriteAllBytes("webpage.pdf", pdf);
}
}
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
var pdf = converter.ConvertUrl("https://www.example.com");
File.WriteAllBytes("webpage.pdf", pdf);
}
}
Imports PDFBolt
Imports System.IO
Class Program
Shared Sub Main()
Dim converter = New HtmlToPdfConverter()
Dim pdf = converter.ConvertUrl("https://www.example.com")
File.WriteAllBytes("webpage.pdf", pdf)
End Sub
End Class
Sonra (IronPDF):
// 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
URL dönüşümü içinPDFBoltdeseni, HTML dönüşümüyle aynı yaklaşımı izler: ConvertUrl(), kaydetmek için File.WriteAllBytes() gerektirerek byte[] döndürür. PDFBolt'un, bir URL'den zaten alıyor olsanız bile sunucularına gidiş dönüşü hala gerektirdiğine dikkat edin.
IronPDF'un RenderUrlAsPdf() yöntemi, yerleşik SaveAs() yöntemiyle bir PdfDocument döndürür. Buradaki ana avantaj, IronPDF'nin URL'yi çekmesi ve PDF rendere etmesini yerel olarak gerçekleştirmesi—verileriniz yapınızı terk etmez.IronPDFsürümünün bu basit durumda using System.IO;'ye dahi ihtiyaç duymadığını fark edin. Daha fazla bilgi için URL'den PDF'ye dönüştürme hakkında bilgi edinin.
Örnek 3: Özel Sayfa Ayarlarına Sahip HTML Dosyası
Önce (PDFBolt):
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
converter.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
// NuGet: Install-Package PDFBolt
using PDFBolt;
using System.IO;
class Program
{
static void Main()
{
var converter = new HtmlToPdfConverter();
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
converter.MarginBottom = 20;
var html = File.ReadAllText("input.html");
var pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
}
}
Imports PDFBolt
Imports System.IO
Class Program
Shared Sub Main()
Dim converter As New HtmlToPdfConverter()
converter.PageSize = PageSize.A4
converter.MarginTop = 20
converter.MarginBottom = 20
Dim html As String = File.ReadAllText("input.html")
Dim pdf As Byte() = converter.ConvertHtmlString(html)
File.WriteAllBytes("output.pdf", pdf)
End Sub
End Class
Sonra (IronPDF):
// 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
Bu örnek, sayfa yapılandırma farklılıklarını gösterir. PDFBolt, özellikleri dönüştürücü nesnesine doğrudan ayarlar (converter.PageSize, converter.MarginTop). IronPDF, yapımcı üzerinde bir RenderingOptions nesnesi kullanır (renderer.RenderingOptions.PaperSize, renderer.RenderingOptions.MarginTop).
Anahtar eşleştirmeler:
PageSize.A4→PdfPaperSize.A4(farklı enum adı)MarginTop = 20→RenderingOptions.MarginTop = 20(RenderingOptions aracılığıyla)
Her ikisi de marjin değerleri için milimetre kullanır, bu yüzden mevcut marjin değerleriniz doğrudan aktarılmalıdır. IronPdf.Rendering ad alanı, PdfPaperSize enum'una erişim için gereklidir. Ek sayfa yapılandırma seçenekleri için, rendering options documentation'a bakınız.
Kritik Geçiş Notları
Dondurul Typi Değişikligi
PDFBolt, doğrudan byte[] döndürür; IronPDF, PdfDocument döndürür:
//PDFBoltpattern:
byte[] pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
//IronPDFpattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or if you need bytes:
byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData;
//PDFBoltpattern:
byte[] pdf = converter.ConvertHtmlString(html);
File.WriteAllBytes("output.pdf", pdf);
//IronPDFpattern:
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or if you need bytes:
byte[] pdfBytes = renderer.RenderHtmlAsPdf(html).BinaryData;
'PDFBoltpattern:
Dim pdf As Byte() = converter.ConvertHtmlString(html)
File.WriteAllBytes("output.pdf", pdf)
'IronPDFpattern:
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
' Or if you need bytes:
Dim pdfBytes As Byte() = renderer.RenderHtmlAsPdf(html).BinaryData
Sınıf İsimlendirme Değişikliği
Ana sınıf adı, dönüştürücü odaklıdan çizim odaklıya değişiyor:
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
' PDFBolt
Dim converter As New HtmlToPdfConverter()
' IronPDF
Dim renderer As New ChromePdfRenderer()
Yapılandırma Deseni Değişikliği
PDFBolt doğrudan özellikleri kullanır; IronPDF, RenderingOptions kullanır:
// PDFBolt: Direct properties
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
// IronPDF: Via RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
// PDFBolt: Direct properties
converter.PageSize = PageSize.A4;
converter.MarginTop = 20;
// IronPDF: Via RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
' PDFBolt: Direct properties
converter.PageSize = PageSize.A4
converter.MarginTop = 20
' IronPDF: Via RenderingOptions
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
API Anahtarı Kaldırma
PDFBolt her istek için API anahtarı yönetimi gerektirir;IronPDFbir kerelik lisans anahtarı kullanır:
// PDFBolt: API key per client (security risk if leaked)
var apiKey = config["PDFBolt:ApiKey"];
var client = new Client(apiKey);
// IronPDF: License key once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer();
// PDFBolt: API key per client (security risk if leaked)
var apiKey = config["PDFBolt:ApiKey"];
var client = new Client(apiKey);
// IronPDF: License key once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
var renderer = new ChromePdfRenderer();
' PDFBolt: API key per client (security risk if leaked)
Dim apiKey = config("PDFBolt:ApiKey")
Dim client = New Client(apiKey)
' IronPDF: License key once at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Dim renderer = New ChromePdfRenderer()
Ağ Hatası İşlemeyi Kaldır
Yerel işleme, işlenecek ağ hataları olmadığı anlamına gelir:
// PDFBolt: Network error handling required
catch (HttpRequestException ex)
catch (TaskCanceledException)
catch (TimeoutException)
// IronPDF: Remove network-specific catches entirely
// PDFBolt: Network error handling required
catch (HttpRequestException ex)
catch (TaskCanceledException)
catch (TimeoutException)
// IronPDF: Remove network-specific catches entirely
Kullanılabilir Yeni Özellikler
IronPDF'e geçtikten sonra, PDFBolt'un sağlayamayacağı yetenekler kazanırsınız:
// PDF Merging (not available in PDFBolt)
var merged = PdfDocument.Merge(pdf1, pdf2);
// Watermarks (not available in PDFBolt)
pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>");
// Password Protection (not available in PDFBolt)
pdf.SecuritySettings.UserPassword = "secret";
// Text Extraction (not available in PDFBolt)
string text = pdf.ExtractAllText();
// PDF to Images (not available in PDFBolt)
pdf.RasterizeToImageFiles("page_*.png");
// PDF Merging (not available in PDFBolt)
var merged = PdfDocument.Merge(pdf1, pdf2);
// Watermarks (not available in PDFBolt)
pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>");
// Password Protection (not available in PDFBolt)
pdf.SecuritySettings.UserPassword = "secret";
// Text Extraction (not available in PDFBolt)
string text = pdf.ExtractAllText();
// PDF to Images (not available in PDFBolt)
pdf.RasterizeToImageFiles("page_*.png");
' PDF Merging (not available in PDFBolt)
Dim merged = PdfDocument.Merge(pdf1, pdf2)
' Watermarks (not available in PDFBolt)
pdf.ApplyWatermark("<h1 style='opacity:0.3;'>DRAFT</h1>")
' Password Protection (not available in PDFBolt)
pdf.SecuritySettings.UserPassword = "secret"
' Text Extraction (not available in PDFBolt)
Dim text As String = pdf.ExtractAllText()
' PDF to Images (not available in PDFBolt)
pdf.RasterizeToImageFiles("page_*.png")
Ariza Giderme
Problem 1: HtmlToPdfConverter Bulunamadı
Problem: HtmlToPdfConverter sınıfı IronPDF'te mevcut değil.
Çözüm: ChromePdfRenderer kullanın:
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
// PDFBolt
var converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
' PDFBolt
Dim converter As New HtmlToPdfConverter()
' IronPDF
Dim renderer As New ChromePdfRenderer()
Sorun 2: ConvertHtmlString Bulunamadı
Problem: ConvertHtmlString() yöntemi mevcut değil.
Çözüm: RenderHtmlAsPdf() kullanın:
// PDFBolt
var pdf = converter.ConvertHtmlString(html);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
// PDFBolt
var pdf = converter.ConvertHtmlString(html);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
' PDFBolt
Dim pdf = converter.ConvertHtmlString(html)
' IronPDF
Dim pdf = renderer.RenderHtmlAsPdf(html)
Sorun 3: ConvertUrl Bulunamadı
Problem: ConvertUrl() metodu mevcut değil.
Çözüm: RenderUrlAsPdf() kullanın:
// PDFBolt
var pdf = converter.ConvertUrl(url);
// IronPDF
var pdf = renderer.RenderUrlAsPdf(url);
// PDFBolt
var pdf = converter.ConvertUrl(url);
// IronPDF
var pdf = renderer.RenderUrlAsPdf(url);
' PDFBolt
Dim pdf = converter.ConvertUrl(url)
' IronPDF
Dim pdf = renderer.RenderUrlAsPdf(url)
Sorun 4: PageSize Enum Bulunamadı
Problem: PageSize enumu mevcut değil.
Çözüm: PdfPaperSize kullanın IronPdf.Rendering'dan:
// PDFBolt
converter.PageSize = PageSize.A4;
// IronPDF
using IronPdf.Rendering;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// PDFBolt
converter.PageSize = PageSize.A4;
// IronPDF
using IronPdf.Rendering;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' PDFBolt
converter.PageSize = PageSize.A4
' IronPDF
Imports IronPdf.Rendering
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
Sorun 5: İlk PDF Oluşturma Yavaş
Sorun: İlk çizim beklenenden uzun sürüyor.
Çözüm: Chromium motoru ilk kullanımda başlatılır. Gerekirse önceden ısıtın:
// Warm up during application startup
var renderer = new ChromePdfRenderer();
renderer.RenderHtmlAsPdf("<html><body></body></html>");
// Warm up during application startup
var renderer = new ChromePdfRenderer();
renderer.RenderHtmlAsPdf("<html><body></body></html>");
' Warm up during application startup
Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlAsPdf("<html><body></body></html>")
Goc Kontrol Listesi
Geçiş Öncesi
- Kod tabanındaki tümPDFBoltkullanımlarını envanterleyin
- Mevcut sayfa yapılandırma ayarlarını belgeleyin (PageSize, kenar boşlukları)
- Kaldırılacak API anahtarı yönetim kodunu belirleyin
- Silinecek oran sınırı veya ağ hatası işleme listesini oluşturun -IronPDFlisans anahtarını edinin
Paket Değişiklikleri
PDFBoltNuGet paketini kaldırınIronPdfNuGet paketini kurun:dotnet add package IronPdfusing IronPdf;ad alanını ekleyin- Kağıt boyutu enumları için
using IronPdf.Rendering;ekleyin
Kod Değişiklikleri
- Başlangıçta lisans anahtarı yapılandırması ekleyin
HtmlToPdfConverterileChromePdfRendererdeğiştirinConvertHtmlString()ileRenderHtmlAsPdf()değiştirinConvertUrl()ileRenderUrlAsPdf()değiştirinFile.WriteAllBytes()ilepdf.SaveAs()değiştirinPageSize'yiRenderingOptions.PaperSize'e güncelleyin- Kenar boşluklarını
RenderingOptions.MarginTop, vb. olarak güncelleyin. - API anahtarı yönetim kodunu kaldırın
- Oran sınırlama işleme kodunu kaldırın
- Ağ hatası işlemesini kaldırın
Geçişten Sonra
- Konfigürasyon dosyalarından API anahtarını silin
- Gizli yöneticilerden API anahtarını kaldırın
- PDF çıktısını karşılaştırarak tüm testleri çalıştırın
- Sayfa boyutları ve kenar boşluklarının doğru bir şekilde çizildiğini doğrulayın
- Yeni yetenekler eklemeyi düşünün (filigranlar, güvenlik, birleştirme)

