Altbilgi içeriğine atla
GEçIş KıLAVUZLARı

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:

  1. 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.

  2. 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.

  3. 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.

  4. Yakalama Başına Fiyatlandırma: Kullanım başına ödeme modeli ölçeklendikçe pahalı hale gelebilir. Her PDF oluşturma bir maliyet getirir.

  5. 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.

  6. 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.

  7. Ağ Bağımlılığı: İnternet bağlantısı olmadan PDF oluşturulamaz, bu da çevrimdışı senaryoları imkansız hale getirir.

  8. 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

  1. .NET Sürümü: IronPDF, .NET Framework 4.6.2+ ve .NET Core 3.1+ / .NET 5+ sürümlerini destekler
  2. Lisans Anahtarı:IronPDF lisans anahtarınızı ironpdf.com'dan edinin
  3. 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" .
SHELL

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
SHELL

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

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

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

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

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

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

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

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

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

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.
$vbLabelText   $csharpLabel

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!
$vbLabelText   $csharpLabel

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

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

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

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

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

  • GrabzItClient ile ChromePdfRenderer değiştirin
  • HTMLToPDF(), RenderHtmlAsPdf()'ya dönüştürün
  • URLToPDF(), RenderUrlAsPdf()'ya dönüştürün
  • Save(callback) ile SaveAs(path) değiştirin
  • Seçenekleri PDFOptions'dan RenderingOptions'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.

Lütfen dikkate alınGrabzIt, kendi sahibinin tescilli ticari markasıdır. Bu site,GrabzItile bağlantılı, onaylanmış ya da sponsor edilmiş 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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara