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:
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
Dependência de rede: Não é possível gerar PDFs sem uma conexão com a internet, o que impossibilita cenários offline.
- 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
- 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+.
- Chave de licença: Obtenha sua chave de licença do IronPDF em IronPDF
- 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" .
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
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")
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()
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
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
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
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
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
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
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
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.
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!
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
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()
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
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)
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
GrabzItClientporChromePdfRenderer - Converter
HTMLToPDF()paraRenderHtmlAsPdf() - Converter
URLToPDF()paraRenderUrlAsPdf() - Substitua
Save(callback)porSaveAs(path) - Atualizar opções de
PDFOptionsparaRenderingOptions
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.

