GrabzIt'ten IronPDF'e C# ile Nasıl Geçilir
GrabzIt'ten IronPDF'ye geçiş yapmak, .NET PDF iş akışınızı, geri arama karmaşıklığına sahip bulut tabanlı bir ekran görüntüsü yakalama hizmetinden, seçilebilir, aranabilir metin içeren gerçek vektör PDF'leri oluşturan bir süreç içi kütüphaneye dönüştürür. Bu kılavuz, harici sunucu bağımlılıklarını, geri arama işleyicilerini ve görüntüleme başına fiyatlandırmayı ortadan kaldıran kapsamlı ve adım adım bir geçiş yolu sunar.
Neden GrabzIt'ten IronPDF'ye Geçiş Yapmalısınız
GrabzItMimari Sorunu
GrabzIt, bulut tabanlı 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çilemez olduğu yapı ekran görüntüsü tabanlı PDF'ler oluşturur—esasen PDF formatında paketlenmiş görüntülerdir. Metin manipülasyonu veya erişilebilirlik gerektiren herhangi bir kullanım durumu için bu temel bir sınırlamadır.
-
Harici İşleme: Tüm içerik işlenmek üzere GrabzIt'in sunucularına gönderilir—gizlilik ve hassas veri uyumu ile ilgili endişeler doğar. HTML içeriğiniz altyapınızı terk eder.
-
Geri Arama Karmaşıklığı: GrabzIt, geri çağrı ve webhook işleme altyapısı gerektiren asenkron geri arama modelini 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 ödemeli model, ölçeklendikçe pahalı olabilir. Her PDF oluşturma bir maliyet getirir.
-
Metin Araması Yok: PDF'ler görüntü tabanlı olduğunda, metin arama ve çıkarma işlemeye gerek duyar—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ı büyüklüktedir.
-
Ağ Bağımlılığı: İnternet bağlantısı olmadan PDF'ler oluşturmak mümkün değildir, bu da çevrimdışı senaryoları imkânsız hale getirir.
- Gecikme: Her PDF oluşturma, harici sunuculara ağ turu gerektirir, 500ms-5s gecikme ekler.
GrabzIt vsIronPDFKarşılaştırması
| Bağlam | GrabzIt | IronPDF |
|---|---|---|
| PDF Türü | Görüntü tabanlı (ekran görüntüsü) | Gerçek vektör PDF |
| Metin Seçimi | Mümkün değil | Tam metin seçimi |
| Metin Arama | OCR gerektirir | Yerel olarak aranabilir |
| İşleme Konumu | Harici sunucular | Yerel/işlem-içi |
| Gizlilik | Veri dışarıya gönderilir | Veri yerel kalır |
| Gecikme | Ağ turu (500ms-5s) | Yerel işleme (~100ms) |
| Fiyatlandırma Modeli | Çekim başına | Geliştirici başına lisans |
| Çevrimdışı Yeteneği | Hayır | Evet |
| Dosya Boyutu | Büyük (görüntü verisi) | Küçük (vektör verisi) |
| Geri Arama Gerekli | Evet (asenkron) | Hayır (eşzamanlı/asenkron) |
| CSS/JS Desteği | Sınırlı | Tam Chromium motoru |
2025 ve 2026 yılları boyunca .NET 10 ve C# 14 uyarlaması planlayan ekipler için,IronPDFyerel işleme ile modern .NET desenleriyle doğal olarak entegre olan geleceğe dayalı bir temel sağlar.
Göç Karmaşıklık Değerlendirmesi
Özelliklere Göre Tahmini Çaba
| Özellik | Göç Karmaşıklığı |
|---|---|
| HTML'den PDF'ye | Çok Düşük |
| URL'den PDF'ye | Çok Düşük |
| HTML'den Görüntüye | Low |
| Sayfa Boyutu/Kenar Boşlukları | Low |
| Geri Arama İşleyicileri | Low |
| Filigranlar | Low |
| Üstbilgi/Altbilgi | Medium |
| Kimlik Doğrulama Anahtarları | Çok Düşük |
Paradigma Değişikliği
BuGrabzItgeçişindeki temel değişiklik, asenkron geri çağrı tabanlı bulut işlemden eşzamanlı süreç içi üretime geçiştir:
GrabzIt: HTML gönder → Geri çağrı bekle → Sunucudan sonuç al
IronPDF: HTML'yi İşle → PDF'yi hemen al
Başlamadan Önce
Önkoşullar
- .NET Sürümü: IronPDF, .NET Framework 4.6.2+ ve .NET Core 3.1+ / .NET 5/6/7/8/9+ destekler
- Lisans Anahtarı:IronPDFlisans anahtarınızı ironpdf.com'dan alın
- Altyapı Kaldırma Planı: Geri çağrı işleyicilerini ve servis uç noktalarını devreden çıkarmak için dökümantasyon yapın
TümGrabzItKullanımını Belirleyin
# 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
Önce (GrabzIt):
GrabzIt, her istemci başlangıcı için uygulama anahtarı ve sır 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")
Sonra (IronPDF):
// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
// Then create renderer without credentials
var renderer = new ChromePdfRenderer();
// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
// Then create renderer without credentials
var renderer = new ChromePdfRenderer();
' Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"
' Then create renderer without credentials
Dim renderer As New ChromePdfRenderer()
Adım 2: Ad Alanı Dışarı Aktarımları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
API Referansının Tamamı
GrabzItClient'tan IronPDF'ye Eşleme
| GrabzItYö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) |
N/A |
GetStatus(id) |
N/A |
PDFOptions ve RenderingOptions Eşlemesi
| GrabzIt PDFOptions | IronPDF Özelliği |
|---|---|
PageSize (A4, Letter) |
RenderingOptions.PaperSize |
CustomId |
N/A |
MarginTop |
RenderingOptions.MarginTop |
MarginBottom |
RenderingOptions.MarginBottom |
ImageOptions veIronPDFEşlemesi
| GrabzIt ImageOptions | IronPDF Eşdeğeri |
|---|---|
Format (png, jpg) |
bitmap.Save(path, ImageFormat.Png) |
Width |
RenderingOptions.ViewPortWidth |
Height |
RenderingOptions.ViewPortHeight |
Kod Geçiş Örnekleri
Örnek 1: HTML'den PDF'e Dönüştürme
Önce (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
Sonra (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 önemlidir:GrabzItAPI kimlik bilgileri gerektirir (YOUR_APPLICATION_KEY, YOUR_APPLICATION_SECRET), özel bir kimlikle PDFOptions nesnesi oluşturur ve sonuç, harici sunucular üzerinden gönderilen bir görüntü tabanlı PDF'dir. IronPDF'nin ChromePdfRenderer yerel olarak seçilebilir metinle gerçek bir vektör PDF oluşturur—kimlik bilgileri, ağ çağrıları veya geri aramalar yoktur. 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 (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
Sonra (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ırmayı ve harici sunucularla kimlik doğrulamayı gerektirir. IronPDF'nin RenderUrlAsPdf() metodu URL'yi doğrudan kabul eder ve tamamıyla CSS ve JavaScript desteğiyle full Chromium motorunu kullanarak yerel olarak işler. URL'den PDF'ye dönüşüm hakkında daha fazla bilgi edinin.
Örnek 3: HTML'den Görüntüye Dönüşüm
Önce (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
Sonra (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 ImageOptions ile özel bir HTMLToImage() yöntemi sunar.IronPDFaynı sonucu elde etmek için önce HTML'yi RenderHtmlAsPdf() kullanarak PDF'ye işler, ardından ToBitmap() ile bitmap'e dönüştürür. Bu yaklaşım, tek bir görüntüleme işlemiyle hem PDF hem de görüntü çıktısı elde etmenizi sağlar.
Kritik Geçiş Notları
Geri Çağrımlar Gerekmiyor
En önemli mimari değişiklik, geri çağrım 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şlemcilerini silin (göç sonrası .ashx dosyaları, işlemci uç noktaları, webhook yapılandırması).
Gerçek Vektör PDF'ler
GrabzIt metin seçilemez olan görüntü tabanlı PDF'ler oluşturur.IronPDFgerç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 ayrıntı için metin çıkarma belgelerini inceleyin.
Daha Küçük Dosya Boyutları
Vektör tabanlı PDF'ler tipik olarak 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 iyileştirir.
API Kimlik Bilgilerini Kaldır
GrabzIt her işlem için API kimlik bilgileri 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 kerede ayarlanmış tek bir lisans anahtarı kullanır—istek başına kimlik doğrulama gerektirmez.
Ariza Giderme
Sorun 1: GrabzItClient Bulunamadı
Sorun: GrabzIt'i kaldırdı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ı
Sorun: PDFOptions sınıfı IronPDF'de mevcut değil.
Çö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ım İşleyicileri Hala Referanslı
Problem: Uygulama, geri çağrım uç noktaları bekliyor.
Çözüm: Geri çağrım altyapısını tamamen silin.IronPDFsonuçları senkronize olarak döndürür—webhooklara ihtiyaç yok.
Sorun 4: ImageOptions Bulunamadı
Sorun: ImageOptions sınıfı IronPDF'de mevcut değil.
Çözüm: İlk önce PDF'ye dönüştürün, ardından:
// 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)
Goc Kontrol Listesi
Geçiş Öncesi
- Kod tabanındaki tümGrabzItAPI çağrılarını envanterleyin
- Geri çağrım işleyicilerini ve webhook uç noktalarını belirleyin
- MevcutGrabzItseçeneklerini ve şablonlarını belgeleyin -IronPDFlisans anahtarını edinin
- Geri çağrım işleyici kullanımdan kaldırılmasını planlayın
Kod Göçü
- IronPdf NuGet paketini yükleyin:
dotnet add package IronPdf-GrabzItNuGet paketini kaldırın:dotnet remove package GrabzIt GrabzItClientileChromePdfRendererdeğiştirinHTMLToPDF()'yiRenderHtmlAsPdf()'ye dönüştürünURLToPDF()'yiRenderUrlAsPdf()'ye dönüştürünSave(callback)ileSaveAs(path)değiştirin- Seçenekleri
PDFOptions'denRenderingOptions'ye güncelleyin
Altyapı Geçişi
- Geri arama işleyici dosyalarını silin (
.ashx, vb.) - YapılandırmadanGrabzItAPI anahtarlarını kaldırın
- Webhook URL yapılandırmasını kaldırın
- YapılandırmayaIronPDFlisans anahtarı ekleyin
- Anket/durum kontrolü kodunu kaldırın
Test Etme
- HTML'den PDF'ye donusumu test edin
- URL'den PDF'ye donusumu 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şten Sonra
-GrabzItaboneliğini iptal edin
- Geri çağrım işleyici kodunu arşivleyin
- Belgeleri güncelleyin -GrabzItile ilgili hataları izleyin

