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

Como migrar de EO.PDF para IronPDF em C#

O EO.Pdf apresenta diversos desafios arquitetônicos que levam as equipes de desenvolvimento a avaliar alternativas. Compreender essas questões é essencial para planejar sua estratégia de migração.

Os problemas do arquivo EO.Pdf

  1. Impacto do Chromium Integrado: EO.Pdf (versão atual do NuGet 26.1.34, março de 2026) envia seu próprio renderizador baseado em Chromium, o que aumenta o impacto da instalação em relação a bibliotecas não-‭‭Chromium e adiciona peso a imagens do Docker e pipelines de CI/CD.

  2. Bagagem de Arquitetura Legada: O conversor HTML para PDF do EO.Pdf foi originalmente construído em um mecanismo Internet Explorer / Trident incorporado antes de o projeto migrar para um renderizador baseado em Chromium. A transição deixou para trás algumas peculiaridades de API e diferenças de comportamento entre versões.

  3. Somente Windows no .NET Core: Apesar de ser anunciado como "multiplataforma", a própria documentação do .NET Core da Essential Objects afirma que EO.Pdf suporta .NET Core 3.1+ e .NET 5/6 apenas no Windows — Linux e macOS não são oficialmente suportados.

  4. Opções Globais Estáticas: O principal ponto de entrada de HTML para PDF do EO.Pdf é a classe estática HtmlToPdf com HtmlToPdf.Options compartilhado. Modificar esse estado global de múltiplos threads não é seguro e é difícil em aplicações web multi-tenant.

  5. Licença Comercial Paga: EO.Pdf é vendido em níveis de Licença Única, Pacote de 3 Licenças, Corporativo e Corporativo Plus (sem nível gratuito permanente — apenas um teste de 30 dias com marca d'água). Os preços exatos aparecem na página de pedidos.

Comparação de arquitetura

Aspecto EO.Pdf IronPDF
Renderizador Chromium integrado (transitado do IE/Trident) Chromium incorporado
Problemas Legados Bagagem de migração do IE/Trident Construído em Chromium desde o início
Suporte da plataforma Somente Windows no .NET Core Windows, Linux, macOS, Docker, Azure
Configuração Estático HtmlToPdf.Options (não seguro para threads) Baseado em instância ChromePdfRenderer (seguro para threads)
Design de API Misto (HtmlToPdf estático + modelo de objeto ACM) Unificado ChromePdfRenderer + HTML/CSS
Modelo de licença Único / 3-licenças / Corporativo / Corporativo Plus (teste de 30 dias) Comercial por desenvolvedor; teste de desenvolvedor gratuito
.NET moderno .NET Framework + .NET Core 3.1+ (somente Windows) .NET Framework, .NET 6/7/8/9 multiplataforma
Suporte assíncrono Limitado Completo RenderHtmlAsPdfAsync / RenderUrlAsPdfAsync

Principais benefícios da migração

  1. Multiplataforma no .NET Core / .NET 6+: Funciona no Linux, macOS e Docker — não apenas no Windows
  2. Configuração Segura para Threads: Opções de renderizador baseadas em instâncias em vez de globais estáticos
  3. API Moderna: Nomes de métodos consistentes — RenderHtmlAsPdf, RenderUrlAsPdf, PdfDocument.Merge
  4. Suporte Total a Async: RenderHtmlAsPdfAsync e RenderUrlAsPdfAsync para pipelines não bloqueantes
  5. Documentação: Tutoriais extensivos, guias de como fazer e uma referência de objetos ativa

Preparação pré-migratória

Pré-requisitos

Certifique-se de que seu ambiente atenda a estes requisitos:

  • .NET Framework 4.6.2 ou superior ou .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019 ou superior ou VS Code com extensão C#
  • Acesso ao Gerenciador de Pacotes NuGet
  • Chave de licença do IronPDF(teste gratuito disponível em IronPDF )

Uso do arquivo Audit EO.Pdf

Execute estes comandos no diretório da sua solução para identificar todas as referências a EO.Pdf:

# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
SHELL

Namespaces comuns de EO.Pdf a serem procurados:

  • EO.Pdf - HTML para PDF básico
  • EO.Pdf.Acm - Modelo de Conteúdo Avançado (ACM)
  • EO.Pdf.Contents - Manipulação de conteúdo de baixo nível
  • EO.Pdf.Drawing - Operações gráficas

Entendendo a mudança no padrão central

A diferença arquitetônica mais significativa entre EO.Pdf e IronPDF reside no escopo de configuração. O arquivo EO.Pdf utiliza métodos estáticos com opções globais que afetam todas as conversões — um padrão que causa problemas de segurança de threads em aplicações web. O IronPDF utiliza renderizadores baseados em instâncias com opções locais, garantindo que cada conversão seja isolada.

Processo de migração passo a passo

Passo 1: Atualizar pacotes NuGet

Remova o arquivo EO.Pdf e instale o IronPDF:

# Remove EO.Pdf
dotnet remove package EO.Pdf

# Install IronPDF
dotnet add package IronPdf
# Remove EO.Pdf
dotnet remove package EO.Pdf

# Install IronPDF
dotnet add package IronPdf
SHELL

Etapa 2: Atualizar referências de namespace

Substitua os namespaces EO.Pdf por IronPDF:

// Remove these
using EO.Pdf;
using EO.Pdf.Acm;

// Add this
using IronPdf;
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Etapa 3: Configurar a licença

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Referência completa para migração de API

Mapeamento de Classes Principais

Classe EO.Pdf Equivalente ao IronPDF
HtmlToPdf ChromePdfRenderer
PdfDocument PdfDocument
HtmlToPdfOptions ChromePdfRenderOptions
AcmRender Não é necessário
AcmText HTML <span>, <p>
AcmBlock HTML

Mapeamento de Métodos

Método EO.Pdf Método IronPDF
HtmlToPdf.ConvertHtml(html, path) renderer.RenderHtmlAsPdf(html) então SaveAs(path)
HtmlToPdf.ConvertUrl(url, path) renderer.RenderUrlAsPdf(url) então SaveAs(path)
PdfDocument.Save(path) pdf.SaveAs(path)
new PdfDocument(path) PdfDocument.FromFile(path)
PdfDocument.Merge(doc1, doc2) (estático) PdfDocument.Merge(doc1, doc2) (estático)

Mapeamento de opções

Opção EO.Pdf Opções de renderização do IronPDF
Options.PageSize = PdfPageSizes.A4 PaperSize = PdfPaperSize.A4
Options.OutputArea (RectangleF) MarginTop, MarginBottom, etc.

Exemplos de migração de código

Conversão de HTML para PDF

A conversão fundamental de HTML para PDF demonstra a mudança de métodos estáticos para renderização baseada em instâncias.

Implementação do EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        HtmlToPdf.ConvertHtml(html, "output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        HtmlToPdf.ConvertHtml(html, "output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"

        HtmlToPdf.ConvertHtml(html, "output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

Implementação do IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

O padrão de dois passos do IronPDF(renderizar, depois salvar) fornece acesso ao objeto PdfDocument para manipulação adicional antes de salvar. Para mais opções, consulte a documentação de conversão de HTML para PDF .

Conversão de URL para PDF

Implementação do EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        HtmlToPdf.ConvertUrl(url, "webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        HtmlToPdf.ConvertUrl(url, "webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports EO.Pdf
Imports System

Module Program
    Sub Main()
        Dim url As String = "https://www.example.com"

        HtmlToPdf.ConvertUrl(url, "webpage.pdf")

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Implementação do IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim url As String = "https://www.example.com"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf(url)
        pdf.SaveAs("webpage.pdf")

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

O RenderUrlAsPdf do IronPDF oferece execução total de JavaScript e suporte moderno a CSS. Para mais opções, consulte o link para a documentação em PDF .

Arquivo HTML com configurações personalizadas

Este exemplo demonstra a diferença crítica nos padrões de configuração — o OutputArea do EO.Pdf com polegadas versus as propriedades de margem individual do IronPDF em milímetros.

Implementação do EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfOptions options = new HtmlToPdfOptions();
        options.PageSize = PdfPageSizes.A4;
        options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
        Console.WriteLine("PDF with custom settings created.");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfOptions options = new HtmlToPdfOptions();
        options.PageSize = PdfPageSizes.A4;
        options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
        Console.WriteLine("PDF with custom settings created.");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim options As New HtmlToPdfOptions()
        options.PageSize = PdfPageSizes.A4
        options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options)
        Console.WriteLine("PDF with custom settings created.")
    End Sub
End Class
$vbLabelText   $csharpLabel

Implementação do IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF with custom settings created.");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF with custom settings created.");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

Class Program
    Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.MarginLeft = 20
        renderer.RenderingOptions.MarginRight = 20

        Dim pdf = renderer.RenderHtmlFileAsPdf("C:/input.html")
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF with custom settings created.")
    End Sub
End Class
$vbLabelText   $csharpLabel

Observe a conversão de unidades: EO.Pdf usa polegadas em OutputArea, enquanto IronPDF usa milímetros. Converter usando: inches × 25.4 = mm. Para mais opções, consulte a documentação de opções de renderização .

Unir vários PDFs

Ambas as bibliotecas expõem um PdfDocument.Merge estático para combinar documentos — EO.Pdf não tem método de instância Append, então qualquer código usando doc.Append(other) é inválido e precisa ser movido para Merge.

Implementação do EO.Pdf:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument doc1 = new PdfDocument("file1.pdf");
        PdfDocument doc2 = new PdfDocument("file2.pdf");

        // EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
        PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);

        mergedDoc.Save("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument doc1 = new PdfDocument("file1.pdf");
        PdfDocument doc2 = new PdfDocument("file2.pdf");

        // EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
        PdfDocument mergedDoc = PdfDocument.Merge(doc1, doc2);

        mergedDoc.Save("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports EO.Pdf
Imports System

Module Program
    Sub Main()
        Dim doc1 As New PdfDocument("file1.pdf")
        Dim doc2 As New PdfDocument("file2.pdf")

        ' EO.Pdf has no Append; merge is a static method that returns a new PdfDocument.
        Dim mergedDoc As PdfDocument = PdfDocument.Merge(doc1, doc2)

        mergedDoc.Save("merged.pdf")

        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Implementação do IronPDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdf1 = PdfDocument.FromFile("file1.pdf")
        Dim pdf2 = PdfDocument.FromFile("file2.pdf")

        Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
        merged.SaveAs("merged.pdf")

        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

O Merge estático do IronPDF aceita uma lista de documentos ou um List. Observe a mudança do construtor (new PdfDocument(path)) para a fábrica estática (PdfDocument.FromFile(path)). Para mais opções, consulte a documentação sobre mesclagem de PDFs .

Notas críticas sobre migração

Conversão de Unidades de Margem

EO.Pdf usa polegadas em OutputArea. O IronPDF usa milímetros. Converter usando: inches × 25.4 = mm

// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
' EO.Pdf - 0.5 inch margins
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)

' IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7
renderer.RenderingOptions.MarginBottom = 12.7
renderer.RenderingOptions.MarginLeft = 12.7
renderer.RenderingOptions.MarginRight = 12.7
$vbLabelText   $csharpLabel

Configuração estática para configuração baseada em instâncias

Substitua todos os HtmlToPdf.Options.X por renderer.RenderingOptions.X:

// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;

//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;

//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4

' IronPDF- instance options (thread-safe)
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
$vbLabelText   $csharpLabel

Migração de ACM para HTML

Se estiver usando o Modelo de Conteúdo Avançado do EO.Pdf (AcmRender, AcmText, AcmBlock), migre para HTML/CSS padrão:

// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));

//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));

//IronPDF HTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
' EO.Pdf ACM approach
Dim acmContent As New AcmContent()
acmContent.Add(New AcmText("Sample Text"))

' IronPDF HTML approach
Dim html As String = "<div>Sample Text</div>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

Padrão de economia em duas etapas

EO.Pdf salva diretamente em ConvertHtml().IronPDF retorna um objeto PdfDocument, então você chama SaveAs():

// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");

//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");

//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
' EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf")

' IronPDF- two steps (enables manipulation before save)
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Construtor para Fábrica Estática

Substitua new PdfDocument(path) por PdfDocument.FromFile(path):

// EO.Pdf
var doc = new PdfDocument("file.pdf");

// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
// EO.Pdf
var doc = new PdfDocument("file.pdf");

// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
' EO.Pdf
Dim doc = New PdfDocument("file.pdf")

' IronPDF
Dim doc = PdfDocument.FromFile("file.pdf")
$vbLabelText   $csharpLabel

Lista de verificação pós-migração

Após concluir a migração do código, verifique o seguinte:

  • Comparação visual dos PDFs gerados
  • Verificar se os cabeçalhos/rodapés estão sendo exibidos corretamente.
  • Testar as configurações de segurança/criptografia
  • Validar operações de mesclagem
  • Análise comparativa de desempenho
  • Testes multiplataforma (Windows, Linux, macOS)
  • Remover arquivos de licença EO.Pdf
  • Atualizar documentação

Recursos adicionais


A migração do EO.Pdf para o IronPDF aborda as preocupações legadas do IE/Trident e a segurança de threads das opções globais estáticas do EO.Pdf. A transição para configuração baseada em instâncias garante que seu código de geração de PDF funcione de forma confiável sob carga concorrente, enquanto o suporte multiplataforma do IronPDF estende a implantação além do Windows para Linux, macOS e Docker.

ObserveEO.Pdf e Essential Objects são marcas registradas de seus respectivos proprietários. Este site não é afiliado, endossado ou patrocinado por Essential Objects. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

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 Iron

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