GrabzIt'ten IronPDF'e C# ile Nasıl Geçilir
GrabzIt' ten IronPDF'e geçiş, .NET PDF iş akışınızı geri çağrı karmaşıklığı olan bulut tabanlı bir ekran görüntüsü yakalama servisinden seçilebilir, aranabilir metinlerle gerçek vektör PDF'ler oluşturan süreç içinde çalışan bir kütüphaneye dönüştürür. Bu kılavuz, profesyonel .NET geliştiricileri için harici sunucu bağımlılıklarını, geri çağrı işleyicilerini ve başına yakalama ücretlendirmelerini ortadan kaldıran kapsamlı, adım adım bir geçiş yolu sağlar.
Neden GrabzIt'den IronPDF'e Geçilmeli
GrabzIt'in Mimari Sorunu
GrabzIt, bulut tabanlı bir ekran görüntüsü ve PDF yakalama hizmetidir. Hızlı entegrasyonlar için uygun olsa da, temel mimari sınırlamaları vardır:
-
Görüntü Tabanlı PDF'ler: GrabzIt, metnin seçilemediği ekran görüntüsü tabanlı PDF'ler oluşturur—esasen PDF formatında sarılmış görüntülerdir. Bu, metin manipülasyonu veya erişilebilirlik gerektiren herhangi bir kullanım durumu için temel bir sınırlamadır.
-
Dış İşleme: Tüm içerik işleme için GrabzIt'in sunucularına gönderilir—hassas veriler için gizlilik ve uyum endişeleri yaratır. HTML içeriğiniz alt yapınızdan ayrılır.
-
Geri Çağrı Karmaşıklığı: GrabzIt, web kancası işleme altyapısı gerektiren asenkron bir geri çağrı modeli kullanır. Sonuçları almak için uç noktalar kurmanız gerekir, bu da mimari karmaşıklık ekler.
-
Yakalama Başına Fiyatlandırma: Kullanım başına ödeme modeli ölçeklendikçe pahalı hale gelebilir. Her PDF oluşturma bir maliyet getirir.
-
Metin Arama Yok: PDF'ler görüntü tabanlı olduğu için, metin arama ve çıkarma OCR olmadan çalışmaz—bu, ek bir adım ve maliyettir.
-
Daha Büyük Dosya Boyutları: Görüntü tabanlı PDF'ler, vektör tabanlı PDF'lerden önemli ölçüde daha büyüktür, genellikle 5-10 kat boyutundadır.
-
Ağ Bağımlılığı: İnternet bağlantısı olmadan PDF oluşturulamaz, bu da çevrimdışı senaryoları imkansız hale getirir.
- Gecikme: Her PDF oluşturma, dış sunuculara bir ağ turu gerektirir, bu da yerel süreç içi oluşturma ile karşılaştırıldığında fark edilir bir gecikme ekler.
GrabzItile IronPDF Karşılaştırması
| Aspekt | GrabzIt | IronPDF |
|---|---|---|
| PDF Türü | Görüntü tabanlı (ekran görüntüsü) | Gerçek vektör PDF |
| Metin Seçme | Mümkün değil | Tam metin seçimi |
| Metin Arama | OCR gerektirir | Doğal olarak aranabilir |
| İşleme Konumu | Harici sunucular | Yerel/işlem-içi |
| Gizlilik | Veri harici olarak gönderilir | Veri yerel kalır |
| Gecikme | Ağ turu (500ms-5s) | Yerel işlem (~100ms) |
| Fiyatlandırma Modeli | Tespit başına | Geliştirici başına lisans |
| Çevrimdışı Yetenek | Hayır | Evet |
| Dosya Boyutu | Büyük (görsel veri) | Küçük (vektör veri) |
| Geri Çağrı Gerekli | Evet (asenkron) | Hayır (senkron/async) |
| CSS/JS Desteği | Sınırlı | Tam Chrome motoru |
IronPDF, PDF hattınızdaki bulut turunu kaldırarak modern .NET kalıplarıyla yerel olarak bütünleşir ve tamamen süreç içinde çalışır.
Göç Karmaşıklığı Değerlendirmesi
Özelliklere Göre Tahmini Çaba
| Özellik | Göç Karmaşıklığı |
|---|---|
| HTML'den PDF'ye | Çok Düşük |
| URL'yi PDF'ye çevir | Çok Düşük |
| HTML'den Görsel | Düşük |
| Sayfa Boyutu/Kenar Boşlukları | Düşük |
| Geri Çağrı İşleyicileri | Düşük |
| Filigranlar | Düşük |
| Başlıklar/Altbilgiler | Orta |
| Kimlik Doğrulama Anahtarları | Çok Düşük |
Paradigma Değişimi
BuGrabzItgeçişindeki temel değişiklik, asenkron geri çağrı tabanlı bulut işlemeden senkron süreç içinde üretime geçiştir:
GrabzIt: HTML gönder → Geri çağrı için bekle → Sunucudan sonucu al
IronPDF: HTML render et → PDF'yi hemen al
Başlamadan Önce
Ön Koşullar
- .NET Sürümü: IronPDF, .NET Framework 4.6.2+ ve .NET Core 3.1+ / .NET 5+ sürümlerini destekler
- Lisans Anahtarı:IronPDF lisans anahtarınızı ironpdf.com'dan edinin
- Altyapı Kaldırmayı Planla: Geri çağrı işleyicilerini ve web kancası uç noktalarını dekomisyon için belgele
TümGrabzItKullanımı Belirle
# FindGrabzItclient usage
grep -r "GrabzItClient\|GrabzIt\." --include="*.cs" .
# Find callback handlers
grep -r "GrabzIt\|grabzit" --include="*.ashx" --include="*.aspx" --include="*.cs" .
# Find configuration
grep -r "APPLICATION_KEY\|APPLICATION_SECRET\|grabzit" --include="*.config" --include="*.json" .
# FindGrabzItclient usage
grep -r "GrabzItClient\|GrabzIt\." --include="*.cs" .
# Find callback handlers
grep -r "GrabzIt\|grabzit" --include="*.ashx" --include="*.aspx" --include="*.cs" .
# Find configuration
grep -r "APPLICATION_KEY\|APPLICATION_SECRET\|grabzit" --include="*.config" --include="*.json" .
NuGet Paket Değişiklikleri
# Remove GrabzIt
dotnet remove package GrabzIt
# Install IronPDF
dotnet add package IronPdf
# Remove GrabzIt
dotnet remove package GrabzIt
# Install IronPDF
dotnet add package IronPdf
Hızlı Başlangıç Göçü
Adım 1: Lisans Yapılandırmasını Güncelleyin
Öncesi (GrabzIt):
GrabzIt, her istemci örneği için uygulama anahtarı ve sırrı gerektirir:
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
Dim grabzIt As New GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET")
Sonrası (IronPDF):
// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Then create renderer without credentials
var renderer = new ChromePdfRenderer();
// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Then create renderer without credentials
var renderer = new ChromePdfRenderer();
Imports IronPdf
' Set once at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
' Then create renderer without credentials
Dim renderer As New ChromePdfRenderer()
Adım 2: Ad Alanı İthalatlarını Güncelleyin
// Before (GrabzIt)
using GrabzIt;
using GrabzIt.Parameters;
// After (IronPDF)
using IronPdf;
// Before (GrabzIt)
using GrabzIt;
using GrabzIt.Parameters;
// After (IronPDF)
using IronPdf;
Imports IronPdf
Tam API Referansı
GrabzItClient'tan IronPDF'e Eşleme
| GrabzIt Yöntemi | IronPDF Eşdeğeri |
|---|---|
new GrabzItClient(key, secret) |
new ChromePdfRenderer() |
HTMLToPDF(html) |
renderer.RenderHtmlAsPdf(html) |
URLToPDF(url) |
renderer.RenderUrlAsPdf(url) |
HTMLToImage(html) |
pdf.ToBitmap() |
Save(callbackUrl) |
pdf.SaveAs(path) |
SaveTo(filePath) |
pdf.SaveAs(filePath) |
GetResult(id) |
Yok |
GetStatus(id) |
Yok |
PDFOptions ve RenderingOptions Eşleme
| GrabzIt PDFOptions | IronPDF Özelliği |
|---|---|
PageSize (A4, Letter) |
RenderingOptions.PaperSize |
CustomId |
Yok |
MarginTop |
RenderingOptions.MarginTop |
MarginBottom |
RenderingOptions.MarginBottom |
ImageOptions'dan IronPDF Eşleme
| GrabzIt ImageOptions | IronPDF Eşdeğeri |
|---|---|
Format (png, jpg) |
bitmap.Save(path, ImageFormat.Png) |
Width |
RenderingOptions.ViewPortWidth |
Height |
RenderingOptions.ViewPortHeight |
Kod Göç Örnekleri
Örnek 1: HTML'den PDF'ye Dönüştürme
Öncesi (GrabzIt):
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;
class Program
{
static void Main()
{
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
var options = new PDFOptions();
options.CustomId = "my-pdf";
grabzIt.HTMLToPDF("<html><body><h1>Hello World</h1></body></html>", options);
grabzIt.SaveTo("output.pdf");
}
}
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;
class Program
{
static void Main()
{
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
var options = new PDFOptions();
options.CustomId = "my-pdf";
grabzIt.HTMLToPDF("<html><body><h1>Hello World</h1></body></html>", options);
grabzIt.SaveTo("output.pdf");
}
}
Imports GrabzIt
Imports GrabzIt.Parameters
Imports System
Module Program
Sub Main()
Dim grabzIt As New GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET")
Dim options As New PDFOptions()
options.CustomId = "my-pdf"
grabzIt.HTMLToPDF("<html><body><h1>Hello World</h1></body></html>", options)
grabzIt.SaveTo("output.pdf")
End Sub
End Module
Sonrası (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>")
pdf.SaveAs("output.pdf")
End Sub
End Class
Fark önemli:GrabzItAPI kimlik bilgilerini gerektirir (YOUR_APPLICATION_KEY, YOUR_APPLICATION_SECRET), özel bir kimlik ile bir PDFOptions nesnesi oluşturur ve sonuç, harici sunucular üzerinden gönderilen bir görüntü tabanlı PDF'dir. IronPDF'nin ChromePdfRenderer, seçilebilir metin ile gerçek bir vektör PDF'yi yerel olarak üretir—kimlik bilgisi yok, ağ çağrısı yok, geri arama yok. HTML'den PDF'ye belgelemeyi ek işleme seçenekleri için inceleyin.
Örnek 2: URL'den PDF'ye Dönüştürme
Öncesi (GrabzIt):
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;
class Program
{
static void Main()
{
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
var options = new PDFOptions();
options.PageSize = PageSize.A4;
grabzIt.URLToPDF("https://www.example.com", options);
grabzIt.SaveTo("webpage.pdf");
}
}
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;
class Program
{
static void Main()
{
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
var options = new PDFOptions();
options.PageSize = PageSize.A4;
grabzIt.URLToPDF("https://www.example.com", options);
grabzIt.SaveTo("webpage.pdf");
}
}
Imports GrabzIt
Imports GrabzIt.Parameters
Imports System
Module Program
Sub Main()
Dim grabzIt As New GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET")
Dim options As New PDFOptions()
options.PageSize = PageSize.A4
grabzIt.URLToPDF("https://www.example.com", options)
grabzIt.SaveTo("webpage.pdf")
End Sub
End Module
Sonrası (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
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;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End Class
GrabzIt, seçenekler nesnesi üzerinden PageSize.A4 yapılandırmasını ve harici sunucularla kimlik doğrulamasını gerektirir. IronPDF'nin RenderUrlAsPdf() yöntemi, URL'yi doğrudan kabul eder ve tam CSS ve JavaScript desteği ile tam bir Chromium motoru kullanarak yerel olarak oluşturur. URL'den PDF'e dönüştürme hakkında daha fazla bilgi edinin.
Örnek 3: HTML'den Görüntüye Dönüştürme
Öncesi (GrabzIt):
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;
class Program
{
static void Main()
{
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
var options = new ImageOptions();
options.Format = ImageFormat.png;
options.Width = 800;
options.Height = 600;
grabzIt.HTMLToImage("<html><body><h1>Hello World</h1></body></html>", options);
grabzIt.SaveTo("output.png");
}
}
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;
class Program
{
static void Main()
{
var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
var options = new ImageOptions();
options.Format = ImageFormat.png;
options.Width = 800;
options.Height = 600;
grabzIt.HTMLToImage("<html><body><h1>Hello World</h1></body></html>", options);
grabzIt.SaveTo("output.png");
}
}
Imports GrabzIt
Imports GrabzIt.Parameters
Imports System
Module Program
Sub Main()
Dim grabzIt As New GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET")
Dim options As New ImageOptions()
options.Format = ImageFormat.png
options.Width = 800
options.Height = 600
grabzIt.HTMLToImage("<html><body><h1>Hello World</h1></body></html>", options)
grabzIt.SaveTo("output.png")
End Sub
End Module
Sonrası (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Drawing;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
var images = pdf.ToBitmap();
images[0].Save("output.png", System.Drawing.Imaging.ImageFormat.Png);
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Drawing;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
var images = pdf.ToBitmap();
images[0].Save("output.png", System.Drawing.Imaging.ImageFormat.Png);
}
}
Imports IronPdf
Imports System
Imports System.Drawing
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>")
Dim images = pdf.ToBitmap()
images(0).Save("output.png", System.Drawing.Imaging.ImageFormat.Png)
End Sub
End Class
GrabzIt, format, genişlik ve yükseklik yapılandırması için HTMLToImage() yöntemiyle özelleştirilmiş bir ImageOptions sağlar.IronPDF aynı sonucu önce HTML'yi PDF'ye RenderHtmlAsPdf() kullanarak oluşturup, ardından ToBitmap() ile bitmap'e dönüştürerek elde eder. Bu yaklaşım, tek bir render işleminden hem PDF hem de görüntü çıktısı sağlar.
Kritik Taşıma Notları
Geri Çağrı Gerekmiyor
En önemli mimari değişiklik, geri çağrı işleyicilerini tamamen ortadan kaldırmaktır:
// GrabzIt: Async callback pattern
grabzIt.HTMLToPDF(html, options);
grabzIt.Save("https://myserver.com/grabzit-callback"); // Wait for callback...
// Callback handler (separate endpoint)
public class GrabzItHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string id = context.Request.QueryString["id"];
GrabzItClient grabzIt = new GrabzItClient("APP_KEY", "APP_SECRET");
GrabzItFile file = grabzIt.GetResult(id);
file.Save("output.pdf");
}
}
// IronPDF: Synchronous - result immediately available
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf"); // Done!Hayırcallback needed.
// GrabzIt: Async callback pattern
grabzIt.HTMLToPDF(html, options);
grabzIt.Save("https://myserver.com/grabzit-callback"); // Wait for callback...
// Callback handler (separate endpoint)
public class GrabzItHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string id = context.Request.QueryString["id"];
GrabzItClient grabzIt = new GrabzItClient("APP_KEY", "APP_SECRET");
GrabzItFile file = grabzIt.GetResult(id);
file.Save("output.pdf");
}
}
// IronPDF: Synchronous - result immediately available
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf"); // Done!Hayırcallback needed.
Imports System.Web
' GrabzIt: Async callback pattern
grabzIt.HTMLToPDF(html, options)
grabzIt.Save("https://myserver.com/grabzit-callback") ' Wait for callback...
' Callback handler (separate endpoint)
Public Class GrabzItHandler
Implements IHttpHandler
Public Sub ProcessRequest(context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim id As String = context.Request.QueryString("id")
Dim grabzIt As New GrabzItClient("APP_KEY", "APP_SECRET")
Dim file As GrabzItFile = grabzIt.GetResult(id)
file.Save("output.pdf")
End Sub
Public ReadOnly Property IsReusable As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
' IronPDF: Synchronous - result immediately available
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf") ' Done! No callback needed.
TümGrabzItgeri arama işleyicilerini silin (göçten sonra .ashx dosyaları, işleyici uç noktaları, webhook yapılandırması).
Gerçek Vektör PDF'ler
GrabzIt, metnin seçilemediği görüntü tabanlı PDF'ler oluşturur.IronPDF gerçek vektör PDF'ler üretir:
// With IronPDF, text extraction works natively
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText(); // Works without OCR!
// With IronPDF, text extraction works natively
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText(); // Works without OCR!
Imports IronPdf
' With IronPDF, text extraction works natively
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText() ' Works without OCR!
Daha fazla bilgi için metin çıkarma belgelerine bakın.
Daha Küçük Dosya Boyutları
Vektör tabanlı PDF'ler, genellikle GrabzIt'in görüntü tabanlı PDF'lerinden 5-10 kat daha küçüktür. Bu, depolama maliyetlerini, indirme sürelerini ve e-posta eki uygunluğunu geliştirir.
API Kimlik Bilgilerini Kaldırın
GrabzIt, her işlem için API kimlik bilgilerini gerektirir:
// Remove these from configuration
// YOUR_APPLICATION_KEY
// YOUR_APPLICATION_SECRET
// Remove these from configuration
// YOUR_APPLICATION_KEY
// YOUR_APPLICATION_SECRET
IronPDF, uygulama başlangıcında bir kez ayarlanan tek bir lisans anahtarı kullanır—istek başına kimlik doğrulama yok.
Hata Ayıklama
Sorun 1: GrabzItClient Bulunamadı
Problem:GrabzItkaldırıldıktan sonra GrabzItClient referansları derleme hatalarına neden oluyor.
Çözüm: ChromePdfRenderer ile değiştirin:
// Remove:
// var grabzIt = new GrabzItClient("KEY", "SECRET");
// Replace with:
var renderer = new ChromePdfRenderer();
// Remove:
// var grabzIt = new GrabzItClient("KEY", "SECRET");
// Replace with:
var renderer = new ChromePdfRenderer();
' Remove:
' Dim grabzIt = New GrabzItClient("KEY", "SECRET")
' Replace with:
Dim renderer = New ChromePdfRenderer()
Sorun 2: PDFOptions Bulunamadı
Problem: PDFOptions sınıfı IronPDF'de yok.
Çözüm: RenderingOptions özelliğini kullanın:
// GrabzIt
var options = new PDFOptions();
options.PageSize = PageSize.A4;
// IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// GrabzIt
var options = new PDFOptions();
options.PageSize = PageSize.A4;
// IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' GrabzIt
Dim options As New PDFOptions()
options.PageSize = PageSize.A4
' IronPDF
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
Sorun 3: Geri Çağrı İşleyicileri Hâlâ Referans Ediliyor
Problem: Uygulama geri çağrı uç noktalarını bekliyor.
Çözüm: Geri çağrı altyapısını tamamen silin. IronPDF, sonuçları senkron bir şekilde döndürüyor—web kancalarına ihtiyaç yok.
Sorun 4: ImageOptions Bulunamadı
Problem: ImageOptions sınıfı IronPDF'de yok.
Çözüm: Önce PDF'ye render et, sonra çevirin:
// GrabzIt
var options = new ImageOptions();
options.Format = ImageFormat.png;
grabzIt.HTMLToImage(html, options);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
var images = pdf.ToBitmap();
images[0].Save("output.png", System.Drawing.Imaging.ImageFormat.Png);
// GrabzIt
var options = new ImageOptions();
options.Format = ImageFormat.png;
grabzIt.HTMLToImage(html, options);
// IronPDF
var pdf = renderer.RenderHtmlAsPdf(html);
var images = pdf.ToBitmap();
images[0].Save("output.png", System.Drawing.Imaging.ImageFormat.Png);
' GrabzIt
Dim options As New ImageOptions()
options.Format = ImageFormat.png
grabzIt.HTMLToImage(html, options)
' IronPDF
Dim pdf = renderer.RenderHtmlAsPdf(html)
Dim images = pdf.ToBitmap()
images(0).Save("output.png", System.Drawing.Imaging.ImageFormat.Png)
Geçiş Kontrol Listesi
Öncesi-Geçiş
- Kod tabanındaki tümGrabzItAPI çağrılarını envanterleyin.
- Geri çağrı işleyicilerini ve web kancası uç noktalarını belirleyin.
- GeçerliGrabzItseçeneklerini ve şablonlarını belgeleyin. -IronPDF lisans anahtarını edinin
- Geri çağrı işleyici dekomisyonunu planlayın.
Kod Geçişi
-IronPDF NuGet paketini kurun: dotnet add package IronPdf
-GrabzItNuGet paketini kaldırın: dotnet remove package GrabzIt
GrabzItClientileChromePdfRendererdeğiştirinHTMLToPDF(),RenderHtmlAsPdf()'ya dönüştürünURLToPDF(),RenderUrlAsPdf()'ya dönüştürünSave(callback)ileSaveAs(path)değiştirin- Seçenekleri
PDFOptions'danRenderingOptions'ya güncelleyin
Altyapı Geçişi
- Geri arama işleyici dosyalarını silin (
.ashx, vb.) - YapılandırmadanGrabzItAPI anahtarlarını kaldırın.
- Web kancası URL yapılandırmasını kaldırın. -IronPDF lisans anahtarını yapılandırmaya ekleyin.
- Anket/durum kontrol kodunu kaldırın.
Test Etme
- HTML'den PDF'e dönüştürmeyi test edin
- URL'den PDF'e dönüştürmeyi test edin
- Çıktı PDF'lerinde metnin seçilebilir olduğunu doğrulayın.
- Metin çıkarmanın çalıştığını test edin (OCR olmadan).
- Dosya boyutlarının daha küçük olduğunu doğrulayın.
- Ağ gecikmesi olmadan performans testi yapın.
Geçiş Sonrası
-GrabzItaboneliğini iptal edin.
- Geri çağrı işleyici kodunu arşivleyin.
- Belgeleri güncelleyin -GrabzItile ilgili hatalar için izleme yapın.

