Saltar al pie de página
GUíAS DE MIGRACIóN

Cómo migrar de GrabzIt a IronPDF en C#

La migración de GrabzItaIronPDFtransforma su flujo de trabajo PDF .NET de un servicio de captura de pantalla basado en la nube con complejidad de devolución de llamada a una biblioteca en proceso que genera verdaderos PDF vectoriales con texto seleccionable que permite búsquedas. Esta guía proporciona una ruta de migración completa y paso a paso que elimina las dependencias de servidores externos, los controladores de devolución de llamada y los precios por captura para desarrolladores .NET profesionales.

Por qué migrar de GrabzIta IronPDF

El problema de la arquitectura GrabzIt

GrabzIt es un servicio de captura de pantalla y PDF basado en la nube. Aunque resulta práctico para integraciones rápidas, tiene limitaciones arquitectónicas fundamentales:

  1. PDF basados ​​en imágenes: GrabzItcrea PDF basados ​​en capturas de pantalla en los que no se puede seleccionar texto; esencialmente, imágenes envueltas en formato PDF. Se trata de una limitación fundamental para cualquier caso de uso que requiera manipulación de texto o accesibilidad.

  2. Procesamiento externo: todo el contenido se envía a los servidores de GrabzItpara su procesamiento, lo que genera preocupaciones sobre la privacidad y el cumplimiento de los datos confidenciales. El contenido HTML sale de su infraestructura.

  3. Complejidad de devolución de llamada: GrabzItutiliza un modelo de devolución de llamada asincrónica que requiere una infraestructura de manejo de webhooks. Debe configurar puntos finales para recibir resultados, lo que añade complejidad arquitectónica.

  4. Precios por captura: el modelo de pago por uso puede resultar costoso a gran escala. Cada generación de PDF conlleva un coste.

  5. Sin búsqueda de texto: dado que los PDF están basados ​​en imágenes, la búsqueda y extracción de texto no funcionan sin OCR, lo que supone un paso y un coste adicionales.

  6. Tamaños de archivo más grandes: los PDF basados ​​en imágenes son significativamente más grandes que los PDF basados ​​en vectores, a menudo entre 5 y 10 veces el tamaño.

  7. Dependencia de la red: no se pueden generar archivos PDF sin una conexión a Internet, lo que hace imposible trabajar sin conexión.

  8. Latencia: cada generación de PDF requiere un viaje de ida y vuelta de red a servidores externos, lo que agrega una latencia de 500 ms a 5 s.

Comparación entre GrabzIte IronPDF

Aspecto GrabzIt IronPDF
Tipo de PDF Basada en imágenes (captura de pantalla) PDF vectorial real
Selección de texto No es posible Selección de texto completo
Búsqueda de texto Requiere OCR Búsqueda nativa
Lugar de procesamiento Servidores externos Local/en proceso
Privacidad Datos enviados externamente Los datos permanecen locales
Latencia Red de ida y vuelta (500ms-5s) Procesamiento local (~100ms)
Modelo de precios Por captura Licencia por desarrollador
Capacidad offline No
Tamaño del archivo Grande (datos de imagen) Pequeño (datos vectoriales)
Se requiere devolución de llamada Sí (async) No (sync/async)
Soporte CSS/JS Limitado Motor Chromium completo

Para los equipos que planifican la adopción de .NET 10 y C# 14 hasta 2025 y 2026,IronPDFproporciona una base preparada para el futuro con un procesamiento local que se integra de forma nativa con los patrones modernos de .NET.


Evaluación de la complejidad de la migración

Esfuerzo estimado por función

Característica Complejidad de la migración
HTML a PDF Muy bajo
URL a PDF Muy bajo
HTML a imagen Bajo
Tamaño de página/Margenes Bajo
Controladores de devolución de llamada Bajo
Marcas de agua Bajo
Encabezados/pies de página Medio
Claves de autenticación Muy bajo

Cambio de paradigma

El cambio fundamental en esta migración de GrabzItes del procesamiento en la nube basado en devolución de llamadas asincrónicas a la generación sincrónica en proceso:

GrabzIt:   Enviar HTML → Esperar callback → Recuperar resultado del servidor
IronPDF:   Render HTML → Obtener PDF inmediatamente

Antes de empezar

Prerrequisitos

  1. Versión .NET :IronPDFes compatible con .NET Framework 4.6.2+ y .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Clave de licencia: Obtenga su clave de licencia deIronPDFen IronPDF
  3. Planifique la eliminación de la infraestructura: documente los controladores de devolución de llamadas y los puntos finales de webhook para el desmantelamiento

Identificar todos los usos de GrabzIt

# Find GrabzItclient 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" .
# Find GrabzItclient 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

Cambios en el paquete NuGet

# 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

Inicio rápido de la migración

Paso 1: Actualizar la configuración de la licencia

Antes (GrabzIt):

GrabzIt requiere clave de aplicación y secreto para cada instanciación de cliente:

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

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

Paso 2: Actualizar las importaciones de espacios de nombres

// 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

Referencia completa de la API

Mapeo de GrabzItClient a IronPDF

Método GrabzIt Equivalente de IronPDF
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

Mapeo de PDFOptions a RenderingOptions

GrabzItPDFOpciones Propiedad de IronPDF
PageSize (A4, Carta) RenderingOptions.PaperSize
CustomId N/A
MarginTop RenderingOptions.MarginTop
MarginBottom RenderingOptions.MarginBottom

Mapeo de ImageOptions a IronPDF

GrabzItImageOptions Equivalente de IronPDF
Format (png, jpg) bitmap.Save(path, ImageFormat.Png)
Width RenderingOptions.ViewPortWidth
Height RenderingOptions.ViewPortHeight

Ejemplos de migración de código

Ejemplo 1: Conversión de HTML a PDF

Antes (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

Después (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

La diferencia es sustancial: GrabzItrequiere credenciales de API (YOUR_APPLICATION_KEY, YOUR_APPLICATION_SECRET), crea un objeto PDFOptions con una ID personalizada y el resultado es un PDF basado en imágenes enviado a través de servidores externos. ChromePdfRenderer deIronPDFgenera un verdadero PDF vectorial localmente con texto seleccionable, sin credenciales, sin llamadas de red, sin devoluciones de llamadas. Consulte la documentación HTML a PDF para obtener más opciones de conversión.

Ejemplo 2: Conversión de URL a PDF

Antes (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

Después (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 requiere configurar PageSize.A4 a través del objeto de opciones y autenticarse con servidores externos. El método RenderUrlAsPdf() deIronPDFacepta la URL directamente y la procesa localmente utilizando un motor Chromium completo con soporte completo para CSS y JavaScript . Más información sobre Conversión de URL a PDF.

Ejemplo 3: Conversión de HTML a imagen

Antes (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

Después (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 proporciona un método dedicado HTMLToImage() con ImageOptions para la configuración de formato, ancho y alto.IronPDFlogra el mismo resultado al renderizar primero HTML a PDF usando RenderHtmlAsPdf() y luego convertirlo a mapa de bits con ToBitmap(). Este enfoque le proporciona tanto el PDF como la imagen de salida a partir de una única operación de renderizado.


Notas de migración críticas

No se requieren callbacks

El cambio arquitectónico más significativo es la eliminación total de los gestores de retrollamadas:

// 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! No callback 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! No callback 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

Elimine todos los controladores de devolución de llamadas de GrabzIt (archivos (.ashx, puntos finales del controlador, configuración de webhook) después de la migración.

Verdaderos PDF vectoriales

GrabzIt crea PDF basados en imágenes en los que el texto no se puede seleccionar.IronPDFgenera verdaderos PDF vectoriales:

// 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

Consulte la documentación sobre extracción de texto para obtener más información.

Tamaño de archivo más pequeño

Los PDF basados en vectores suelen ser entre 5 y 10 veces más pequeños que los PDF basados en imágenes de GrabzIt. Esto mejora los costes de almacenamiento, los tiempos de descarga y la viabilidad de los archivos adjuntos por correo electrónico.

Quitar credenciales de API

GrabzIt requiere credenciales API para cada operación:

// Remove these from configuration
// YOUR_APPLICATION_KEY
// YOUR_APPLICATION_SECRET
// Remove these from configuration
// YOUR_APPLICATION_KEY
// YOUR_APPLICATION_SECRET
$vbLabelText   $csharpLabel

IronPDF utiliza una única clave de licencia que se establece una vez al iniciar la aplicación, sin autenticación por solicitud.


Solución de problemas

Número 1: GrabzItClient no se encuentra

Problema: después de eliminar GrabzIt, las referencias GrabzItClient provocan errores de compilación.

Solución: Reemplazar con ChromePdfRenderer:

// 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

Número 2: PDFOptions Not Found

Problema: la clase PDFOptions no existe en IronPDF.

Solución: utilice la propiedad RenderingOptions:

// 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

Tema 3: Los manejadores de llamadas de retorno siguen siendo referenciados

Problema: la aplicación espera puntos finales de devolución de llamada.

Solución: eliminar por completo la infraestructura de devolución de llamada.IronPDFdevuelve los resultados de forma sincrónica, sin necesidad de webhooks.

Edición 4: ImageOptions Not Found

Problema: la clase ImageOptions no existe en IronPDF.

Solución: primero renderizar a PDF y luego convertir:

// 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

Lista de comprobación de la migración

Pre-Migración

  • Inventariar todas las llamadas API de GrabzIten el código base
  • Identificar controladores de devolución de llamadas y puntos finales de webhook
  • Documentar las opciones y plantillas actuales de GrabzIt
  • Obtener la clave de licencia de IronPDF
  • Planificar el desmantelamiento del controlador de devolución de llamadas

Migración de código

  • Instalar el paquete NuGet deIronPDF: dotnet add package IronPdf
  • Eliminar el paquete NuGet de GrabzIt: dotnet remove package GrabzIt
  • Reemplace GrabzItClient con ChromePdfRenderer
  • Convertir HTMLToPDF() a RenderHtmlAsPdf()
  • Convertir URLToPDF() a RenderUrlAsPdf()
  • Reemplace Save(callback) con SaveAs(path)
  • Actualizar opciones de PDFOptions a RenderingOptions

Migración de infraestructuras

  • Eliminar archivos del controlador de devolución de llamada (.ashx, etc.)
  • Eliminar las claves API de GrabzItde la configuración
  • Eliminar la configuración de la URL del webhook
  • Agregar clave de licencia deIronPDFa la configuración
  • Eliminar el código de verificación de estado/sondeo

Pruebas

  • Prueba de conversión de HTML a PDF
  • Prueba de conversión de URL a PDF
  • Verificar que el texto sea seleccionable en los PDF de salida
  • Prueba de funcionamiento de la extracción de texto (sin OCR)
  • Verificar que los tamaños de los archivos sean más pequeños
  • Prueba de rendimiento sin latencia de red

Posmigración

  • Cancelar la suscripción a GrabzIt
  • Código del controlador de devolución de llamada de archivo
  • Actualización de la documentación
  • Supervisar cualquier error relacionado con GrabzIt

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame