Ir para o conteúdo do rodapé
GUIAS DE MIGRAçãO

Como migrar do GrabzIt para o IronPDF em C#

A migração do GrabzIt para o IronPDF transforma seu fluxo de trabalho de PDF em .NET , passando de um serviço de captura de tela baseado em nuvem com complexidade de retorno de chamada para uma biblioteca integrada que gera PDFs vetoriais verdadeiros com texto selecionável e pesquisável. Este guia fornece um caminho de migração abrangente, passo a passo, que elimina dependências de servidores externos, manipuladores de retorno de chamada e preços por captura para desenvolvedores .NET profissionais.

Por que migrar do GrabzIt para o IronPDF?

O Problema de Arquitetura do GrabzIt

O GrabzIt é um serviço de captura de tela e PDF baseado na nuvem. Embora seja conveniente para integrações rápidas, possui limitações arquitetônicas fundamentais:

  1. PDFs baseados em imagens: o GrabzIt cria PDFs baseados em capturas de tela onde o texto não é selecionável — essencialmente imagens encapsuladas em formato PDF. Essa é uma limitação fundamental para qualquer caso de uso que exija manipulação de texto ou acessibilidade.

  2. Processamento externo: Todo o conteúdo é enviado aos servidores da GrabzIt para processamento, o que gera preocupações com a privacidade e a conformidade de dados sensíveis. Seu conteúdo HTML sai da sua infraestrutura.

  3. Complexidade do Callback: O GrabzIt utiliza um modelo de callback assíncrono que requer infraestrutura para tratamento de webhooks. É necessário configurar pontos de extremidade para receber os resultados, o que aumenta a complexidade da arquitetura.

  4. Preços por captura: O modelo de pagamento por uso pode se tornar caro em grande escala. Cada geração de PDF acarreta um custo.

  5. Sem busca de texto: Como os PDFs são baseados em imagens, a busca e extração de texto não funcionam sem OCR — uma etapa adicional e um custo extra.

  6. Tamanhos de arquivo maiores: PDFs baseados em imagens são significativamente maiores do que PDFs baseados em vetores, frequentemente de 5 a 10 vezes maiores.

  7. Dependência de rede: Não é possível gerar PDFs sem uma conexão com a internet, o que impossibilita cenários offline.

  8. Latência: Cada geração de PDF requer uma viagem de ida e volta pela rede até servidores externos, adicionando uma latência de 500 ms a 5 s.

Comparação entre GrabzIt e IronPDF

Aspecto GrabzIt IronPDF
Tipo PDF Baseado em imagem (captura de tela) PDF vetorial verdadeiro
Seleção de texto Não é possível. Seleção de texto completo
Pesquisa de texto Requer OCR Busca nativa
Local de processamento Servidores externos Local/em processo
Privacidade Dados enviados externamente Os dados permanecem locais.
Latência Tempo de ida e volta da rede (500ms-5s) Processamento local (~100ms)
Modelo de Preços Por captura Licença por desenvolvedor
Capacidade offline Não Sim
Tamanho do arquivo Grande (dados de imagem) Pequeno (dados vetoriais)
É necessário retornar a ligação. Sim (assíncrono) Não (síncrono/assíncrono)
Suporte a CSS/JS Limitado Motor totalmente cromado

Para equipes que planejam a adoção do .NET 10 e do C# 14 até 2025 e 2026, o IronPDF oferece uma base preparada para o futuro com processamento local que se integra nativamente aos padrões modernos do .NET .


Avaliação da Complexidade da Migração

Esforço estimado por funcionalidade

Recurso Complexidade da Migração
HTML para PDF Muito baixo
URL para PDF Muito baixo
HTML para imagem Baixo
Tamanho da página/Margens Baixo
Manipuladores de retorno de chamada Baixo
Marcas d'água Baixo
Cabeçalhos/Rodapés Médio
Chaves de autenticação Muito baixo

Mudança de paradigma

A mudança fundamental nessa migração do GrabzIt é a transição do processamento assíncrono em nuvem baseado em callbacks para a geração síncrona em processo:

GrabzIt: Enviar HTML → Aguardar retorno de chamada → Recuperar resultado do servidor
IronPDF: Renderizar HTML → Obter PDF imediatamente

Antes de começar

Pré-requisitos

  1. Versão do .NET : O IronPDF é compatível com o .NET Framework 4.6.2+ e o .NET Core 3.1+ / .NET 5/6/7/8/9+.
  2. Chave de licença: Obtenha sua chave de licença do IronPDF em IronPDF
  3. Planejar a remoção da infraestrutura: Documentar os manipuladores de retorno de chamada e os endpoints de webhook para desativação.

Identificar todos os usos do GrabzIt

# Find GrabzIt client 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 GrabzIt client 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

Alterações no pacote 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

Migração de Início Rápido

Etapa 1: Atualizar a configuração da licença

Antes (GrabzIt):

O GrabzIt requer uma chave e um segredo de aplicação para cada instância do 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

Apó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

Etapa 2: Atualizar importações de namespace

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

Referência completa da API

Mapeamento do GrabzItClient para o IronPDF

Método GrabzIt Equivalente ao 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 / D
GetStatus(id) N / D

Mapeamento de opções de PDF para opções de renderização

Opções de PDF do GrabzIt Propriedade IronPDF
PageSize (A4, Carta) RenderingOptions.PaperSize
CustomId N / D
MarginTop RenderingOptions.MarginTop
MarginBottom RenderingOptions.MarginBottom

Mapeamento de opções de imagem para IronPDF

Opções de imagem do GrabzIt Equivalente ao IronPDF
Format (png, jpg) bitmap.Save(path, ImageFormat.Png)
Width RenderingOptions.ViewPortWidth
Height RenderingOptions.ViewPortHeight

Exemplos de migração de código

Exemplo 1: Conversão de HTML para 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

Apó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

A diferença é substancial: o GrabzIt requer credenciais de API (YOUR_APPLICATION_KEY, YOUR_APPLICATION_SECRET), cria um objeto PDFOptions com um ID personalizado e o resultado é um PDF baseado em imagem enviado por meio de servidores externos. O ChromePdfRenderer do IronPDF gera um PDF vetorial verdadeiro localmente com texto selecionável — sem credenciais, sem chamadas de rede, sem retornos de chamada. Consulte a documentação de conversão de HTML para PDF para obter opções de renderização adicionais.

Exemplo 2: Conversão de URL para 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

Apó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

O GrabzIt requer configuração PageSize.A4 através do objeto de opções e autenticação com servidores externos. O método RenderUrlAsPdf() do IronPDF aceita a URL diretamente e a renderiza localmente usando um mecanismo Chromium completo com suporte total a CSS e JavaScript . Saiba mais sobre a conversão de URL para PDF .

Exemplo 3: Conversão de HTML para Imagem

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

Apó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

O GrabzIt fornece um método dedicado HTMLToImage() com ImageOptions para configuração de formato, largura e altura. O IronPDF consegue o mesmo resultado primeiro renderizando HTML para PDF usando RenderHtmlAsPdf(), e depois convertendo para bitmap com ToBitmap(). Essa abordagem permite obter tanto o PDF quanto a imagem como resultado de uma única operação de renderização.


Notas críticas sobre migração

Não é necessário retornar a chamada.

A mudança arquitetônica mais significativa é a eliminação completa dos manipuladores de retorno de chamada (callbacks):

// 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! Não 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! Não 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

Exclua todos os manipuladores de retorno de chamada do GrabzIt (.ashx arquivos, endpoints de manipuladores, configuração de webhook) após a migração.

PDFs vetoriais verdadeiros

O GrabzIt cria PDFs baseados em imagens onde o texto não é selecionável. O IronPDF gera PDFs vetoriais verdadeiros:

// 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 a documentação de extração de texto para obter mais detalhes.

Tamanhos de arquivo menores

Os PDFs baseados em vetores são normalmente de 5 a 10 vezes menores do que os PDFs baseados em imagens do GrabzIt. Isso melhora os custos de armazenamento, os tempos de download e a viabilidade de anexos de e-mail.

Remover credenciais da API

O GrabzIt requer credenciais de API para cada operação:

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

O IronPDF utiliza uma única chave de licença, definida uma vez na inicialização do aplicativo — sem autenticação por solicitação.


Solução de problemas

Problema 1: GrabzItClient não encontrado

Problema: Após remover o GrabzIt, as referências a GrabzItClient causam erros de compilação.

Solução: Substitua por 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

Problema 2: Opções PDF não encontradas

Problema: a classe PDFOptions não existe no IronPDF.

Solução: Utilize a propriedade 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

Problema 3: Manipuladores de retorno de chamada ainda são referenciados

Problema: O aplicativo espera endpoints de retorno de chamada (callbacks).

Solução: Elimine completamente a infraestrutura de callbacks. O IronPDF retorna resultados de forma síncrona — sem necessidade de webhooks.

Problema 4: Opções de imagem não encontradas

Problema: a classe ImageOptions não existe no IronPDF.

Solução: Primeiro, renderize para PDF e depois converta:

// 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 verificação para migração

Pré-migração

  • Inventariar todas as chamadas da API GrabzIt no código-fonte.
  • Identificar manipuladores de retorno de chamada e endpoints de webhook
  • Documentar as opções e modelos atuais do GrabzIt
  • Obtenha a chave de licença do IronPDF
  • Desativação do manipulador de retorno de chamada do plano

Migração de código

  • Instale o pacote NuGet IronPDF : dotnet add package IronPdf
  • Remover o pacote NuGet GrabzIt: dotnet remove package GrabzIt
  • Substitua GrabzItClient por ChromePdfRenderer
  • Converter HTMLToPDF() para RenderHtmlAsPdf()
  • Converter URLToPDF() para RenderUrlAsPdf()
  • Substitua Save(callback) por SaveAs(path)
  • Atualizar opções de PDFOptions para RenderingOptions

Migração de infraestrutura

  • Excluir arquivos de manipulador de retorno de chamada (.ashx, etc.)
  • Remover as chaves da API do GrabzIt da configuração
  • Remover configuração de URL do webhook
  • Adicione a chave de licença do IronPDF à configuração.
  • Remover o código de verificação de status/sondagem

Testando

  • Teste de conversão de HTML para PDF
  • Teste de conversão de URL para PDF
  • Verificar se o texto é selecionável nos PDFs de saída.
  • O teste de extração de texto funciona (sem OCR)
  • Verifique se os tamanhos dos arquivos são menores.
  • Teste de desempenho sem latência de rede

Pós-migração

  • Cancelar assinatura do GrabzIt
  • Código do manipulador de retorno de chamada do arquivo
  • Atualizar documentação
  • Monitore quaisquer erros relacionados ao GrabzIt.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim