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

Como migrar do SelectPDF para o IronPDF em C#

A migração do Selecionar PDF para o IronPDF transforma seu fluxo de trabalho de geração de PDFs, de uma solução exclusiva para Windows com um mecanismo de renderização desatualizado para uma biblioteca moderna e multiplataforma com suporte completo a CSS3 e JavaScript . Este guia fornece um caminho de migração completo, passo a passo, que permite a implantação em Linux, Docker, Funções do Azure e outras plataformas de nuvem que o Selecionar PDF não suporta.

Por que migrar do SelectPDF para o IronPDF?

Entendendo o SelectPdf

SelectPdf é uma biblioteca comercial projetada para converter conteúdo HTML em PDFs usando C#. A biblioteca foi concebida para desenvolvedores que necessitam de uma integração perfeita da funcionalidade de geração de PDFs em seus aplicativos. O ponto forte do Selecionar PDF reside em sua API simples, tornando-o uma opção atraente para quem é iniciante na geração de PDFs.

No entanto, os potenciais usuários devem estar cientes de suas limitações críticas. Apesar de anunciar compatibilidade multiplataforma, o Selecionar PDF funciona apenas em ambientes Windows. Isso representa uma barreira substancial ao se considerar soluções de implantação baseadas em nuvem, como o Funções do Azure ou contêineres como o Docker. Além disso, a versão gratuita é significativamente limitada, permitindo apenas até cinco páginas antes da aplicação de marcas d'água agressivas. O Selecionar PDF utiliza uma versão desatualizada do Blink e uma arquitetura baseada em WebKit, o que causa problemas de compatibilidade com tecnologias web modernas como Grade CSS e flexbox avançado.

Limitações críticas do SelectPdf

Emitir Impacto Solução IronPDF
Exclusivo para Windows Não é possível implantar em Linux, Docker ou Azure Functions. Suporte completo multiplataforma
Motor de renderização desatualizado O CSS moderno falha, os layouts quebram Chromium atualizado
Limite de 5 páginas para a versão gratuita Marca d'água agressiva após 5 páginas Teste generoso
Sem suporte for .NET 10 problemas de preparação para o futuro Suporte completo for .NET 10
Implantação na nuvem bloqueada Não é possível usar AWS Lambda nem Azure Functions. Nativo da nuvem

Comparação entre SelectPDF e IronPDF

Recurso Selecionar PDF IronPDF
Suporte da plataforma Somente para Windows Totalmente multiplataforma, mais de 10 distribuições
Suporte aos padrões modernos da Web Limitado (Blink desatualizado) CSS3 completo, Chromium moderno
Limite máximo de páginas da versão gratuita 5 páginas Flexível, sem limite rígido
Preços A partir de $499 Preços transparentes e flexíveis
Suporte for .NET 10 Nenhum Apoiado
Implantação em ambientes de nuvem Não suportado Suporte completo
Grade CSS Limitado Apoiado
Flexbox Limitado Apoiado
Variáveis ​​CSS Não suportado Apoiado
Docker NÃO SUPORTADO Imagens oficiais
Funções do Azure NÃO SUPORTADO Apoiado
AWS Lambda NÃO SUPORTADO Apoiado

Para equipes que planejam a adoção do .NET 10 e do C# 14 até 2025 e 2026, o Selecionar PDF não oferece suporte explícito ao .NET 10, o que cria problemas de compatibilidade futura. O IronPDF oferece suporte completo para todas as versões modernas do .NET .


Antes de começar

Pré-requisitos

  1. Ambiente .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9/10+
  2. Acesso ao NuGet : Capacidade de instalar pacotes NuGet.
  3. Licença do IronPDF : Obtenha sua chave de licença em IronPDF

Alterações no pacote NuGet

# Remove SelectPdf
dotnet remove package Select.HtmlToPdf

# Install IronPDF
dotnet add package IronPdf
# Remove SelectPdf
dotnet remove package Select.HtmlToPdf

# Install IronPDF
dotnet add package IronPdf
SHELL

Configuração de licença

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Referência completa da API

Alterações de namespace

// Before: SelectPdf
using SelectPdf;

// After: IronPDF
using IronPdf;
using IronPdf.Engines.Chrome;
// Before: SelectPdf
using SelectPdf;

// After: IronPDF
using IronPdf;
using IronPdf.Engines.Chrome;
' Before: SelectPdf
Imports SelectPdf

' After: IronPDF
Imports IronPdf
Imports IronPdf.Engines.Chrome
$vbLabelText   $csharpLabel

Mapeamentos da API principal

Selecionar PDF IronPDF Notas
HtmlToPdf ChromePdfRenderer Classe conversora principal
converter.ConvertHtmlString(html) renderer.RenderHtmlAsPdf(html) Conversão de string HTML
converter.ConvertUrl(url) renderer.RenderUrlAsPdf(url) Conversão de URL
doc.Save(path) pdf.SaveAs(path) Salvar em arquivo
doc.Close() Não é necessário O IronPDF cuida da limpeza.
converter.Options.PdfPageSize renderer.RenderingOptions.PaperSize Tamanho do papel
converter.Options.PdfPageOrientation renderer.RenderingOptions.PaperOrientation Orientação
converter.Options.MarginTop renderer.RenderingOptions.MarginTop Margem superior
converter.Options.MarginBottom renderer.RenderingOptions.MarginBottom Margem inferior
converter.Options.MarginLeft renderer.RenderingOptions.MarginLeft Margem esquerda
converter.Options.MarginRight renderer.RenderingOptions.MarginRight Margem direita
PdfPageSize.A4 PdfPaperSize.A4 enumeração de tamanho A4
PdfPageOrientation.Portrait PdfPaperOrientation.Portrait Enum de retratos
PdfPageOrientation.Landscape PdfPaperOrientation.Landscape Enigma da paisagem
{page_number} {page} Número da página (espaço reservado)
{total_pages} {total-pages} Número total de páginas (espaço reservado)

Exemplos de migração de código

Exemplo 1: Conversão de string HTML para PDF

Antes (SelecionarPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

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

        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertHtmlString(htmlContent);
        doc.Save("document.pdf");
        doc.Close();

        Console.WriteLine("PDF generated from HTML string");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

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

        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertHtmlString(htmlContent);
        doc.Save("document.pdf");
        doc.Close();

        Console.WriteLine("PDF generated from HTML string");
    }
}
Imports SelectPdf
Imports System

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

        Dim converter As New HtmlToPdf()
        Dim doc As PdfDocument = converter.ConvertHtmlString(htmlContent)
        doc.Save("document.pdf")
        doc.Close()

        Console.WriteLine("PDF generated from HTML string")
    End Sub
End Class
$vbLabelText   $csharpLabel

Após (IronPDF):

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

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

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");

        Console.WriteLine("PDF generated from HTML string");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

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

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("document.pdf");

        Console.WriteLine("PDF generated from HTML string");
    }
}
Imports IronPdf
Imports System

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

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("document.pdf")

        Console.WriteLine("PDF generated from HTML string")
    End Sub
End Class
$vbLabelText   $csharpLabel

Este exemplo demonstra as principais diferenças da API. Selecionar PDF usa HtmlToPdf como classe conversora, chamando ConvertHtmlString() para criar um PdfDocument, e então Save() e Close() para persistir e limpar.

IronPDF usa ChromePdfRenderer com RenderHtmlAsPdf(), retornando um PdfDocument que é salvo com SaveAs(). A chamada Close() foi eliminada — o IronPDF gerencia os recursos automaticamente. Consulte a documentação de conversão de HTML para PDF para obter exemplos completos.

Exemplo 2: Conversão de URL para PDF

Antes (SelecionarPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertUrl("https://www.example.com");
        doc.Save("output.pdf");
        doc.Close();

        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();
        PdfDocument doc = converter.ConvertUrl("https://www.example.com");
        doc.Save("output.pdf");
        doc.Close();

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

Class Program
    Shared Sub Main()
        Dim converter As New HtmlToPdf()
        Dim doc As PdfDocument = converter.ConvertUrl("https://www.example.com")
        doc.Save("output.pdf")
        doc.Close()

        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$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("output.pdf");

        Console.WriteLine("PDF created successfully");
    }
}
// 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("output.pdf");

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

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
        pdf.SaveAs("output.pdf")

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

O método ConvertUrl() do Selecionar PDF mapeia diretamente para o método RenderUrlAsPdf() do IronPDF. A diferença crucial está no mecanismo de renderização: o Selecionar PDF usa uma versão desatualizada do Blink/WebKit que tem dificuldades com o CSS moderno, enquanto o IronPDF usa a versão estável mais recente do Chromium para suporte completo a CSS3 e JavaScript . Saiba mais em nossos tutoriais .

Exemplo 3: Configurações de página personalizadas e margens

Antes (SelecionarPdf):

// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();

        converter.Options.PdfPageSize = PdfPageSize.A4;
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
        converter.Options.MarginTop = 20;
        converter.Options.MarginBottom = 20;
        converter.Options.MarginLeft = 20;
        converter.Options.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        PdfDocument doc = converter.ConvertHtmlString(html);
        doc.Save("custom-settings.pdf");
        doc.Close();

        Console.WriteLine("PDF with custom settings created");
    }
}
// NuGet: Install-Package Select.HtmlToPdf
using SelectPdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdf converter = new HtmlToPdf();

        converter.Options.PdfPageSize = PdfPageSize.A4;
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait;
        converter.Options.MarginTop = 20;
        converter.Options.MarginBottom = 20;
        converter.Options.MarginLeft = 20;
        converter.Options.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        PdfDocument doc = converter.ConvertHtmlString(html);
        doc.Save("custom-settings.pdf");
        doc.Close();

        Console.WriteLine("PDF with custom settings created");
    }
}
Imports SelectPdf
Imports System

Module Program
    Sub Main()
        Dim converter As New HtmlToPdf()

        converter.Options.PdfPageSize = PdfPageSize.A4
        converter.Options.PdfPageOrientation = PdfPageOrientation.Portrait
        converter.Options.MarginTop = 20
        converter.Options.MarginBottom = 20
        converter.Options.MarginLeft = 20
        converter.Options.MarginRight = 20

        Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
        Dim doc As PdfDocument = converter.ConvertHtmlString(html)
        doc.Save("custom-settings.pdf")
        doc.Close()

        Console.WriteLine("PDF with custom settings created")
    End Sub
End Module
$vbLabelText   $csharpLabel

Após (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("custom-settings.pdf");

        Console.WriteLine("PDF with custom settings created");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Engines.Chrome;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        string html = "<html><body><h1>Custom Page Settings</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("custom-settings.pdf");

        Console.WriteLine("PDF with custom settings created");
    }
}
Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports System

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()

        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.MarginLeft = 20
        renderer.RenderingOptions.MarginRight = 20

        Dim html As String = "<html><body><h1>Custom Page Settings</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("custom-settings.pdf")

        Console.WriteLine("PDF with custom settings created")
    End Sub
End Module
$vbLabelText   $csharpLabel

O padrão de configurações da página é quase idêntico, com alterações simples nos nomes das propriedades:

  • converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSize
  • converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientation
  • PdfPageSize.A4PdfPaperSize.A4
  • PdfPageOrientation.PortraitPdfPaperOrientation.Portrait

As propriedades de margem mantêm os mesmos nomes e unidades.


O problema exclusivo do Windows

Limitações de plataforma do SelectPdf

Apesar de quaisquer alegações de marketing, o Selecionar PDF explicitamente não oferece suporte a:

  • Linux (qualquer distribuição)
  • macOS
  • Contêineres Docker
  • Funções do Azure
  • AWS Lambda
  • Funções do Google Cloud
  • Quaisquer sistemas baseados em ARM

Essa é uma limitação arquitetônica fundamental: o Selecionar PDF depende de bibliotecas específicas do Windows e não pode ser portado.

Comparação de suporte de plataforma

| Plataforma | Selecionar PDF | IronPDF | | ---------- | :---: | :---: || Windows Server 2019+ | ✅ | ✅ || Windows 10/11 | ✅ | ✅ || Ubuntu 20.04+ | ❌ | ✅ || Debian 10+ | ❌ | ✅ || CentOS 7+ | ❌ | ✅ || Alpine Linux | ❌ | ✅ || Amazon Linux 2 | ❌ | ✅ || macOS 10.15+ | ❌ | ✅ || Serviço de Aplicativos do Azure (Linux) | ❌ | ✅ || Funções do Azure | ❌ | ✅ || AWS Lambda | ❌ | ✅ || Docker (Linux) | ❌ | ✅ || Kubernetes | ❌ | ✅ |

O mecanismo de renderização desatualizado

Comparação de suporte a recursos CSS

O Selecionar PDF usa uma versão desatualizada do Blink/WebKit que não acompanhou os padrões modernos da web:

Recurso CSS Selecionar PDF IronPDF
Grade CSS ⚠️ Parcialmente danificado/quebrado ✅ Completo
Flexbox (básico)
Flexbox (propriedade gap)
Variáveis ​​CSS
CSS calc() ⚠️ Quantidade limitada
@media print ⚠️ Quantidade limitada
@font-face ⚠️ Quantidade limitada
Fontes da Web ⚠️ Quantidade limitada
SVG ⚠️ Básico ✅ Completo
Transformações CSS ⚠️ Quantidade limitada
Animações CSS

Novas funcionalidades após a migração

Após migrar para o IronPDF, você obtém recursos que o SelectPDF não oferece:

Implantação multiplataforma

// ✅ IronPDF - Works everywhere
using IronPdf;

// Serviço de Aplicativos do Azure (Linux) - WORKS
// Docker container - WORKS
// AWS Lambda - WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");
// ✅ IronPDF - Works everywhere
using IronPdf;

// Serviço de Aplicativos do Azure (Linux) - WORKS
// Docker container - WORKS
// AWS Lambda - WORKS
// GitHub Actions on ubuntu-latest - WORKS
// macOS development - WORKS

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>");
pdf.SaveAs("output.pdf");
Imports IronPdf

' ✅ IronPDF - Works everywhere

' Serviço de Aplicativos do Azure (Linux) - WORKS
' Docker container - WORKS
' AWS Lambda - WORKS
' GitHub Actions on ubuntu-latest - WORKS
' macOS development - WORKS

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello</h1>")
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Suporte a CSS moderno

// ✅ IronPDF - Uses latest stable Chromium
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
// ✅ IronPDF - Uses latest stable Chromium
var renderer = new ChromePdfRenderer();

var html = @"
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>";

var pdf = renderer.RenderHtmlAsPdf(html);
// All modern CSS features render correctly!
' ✅ IronPDF - Uses latest stable Chromium
Dim renderer As New ChromePdfRenderer()

Dim html As String = "
<style>
    :root { --primary: #007bff; --gap: 20px; }
    .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap); }
</style>
<div class='grid'>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 1</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 2</div>
    <div style='background: var(--primary); color: white; padding: 1rem;'>Item 3</div>
</div>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
' All modern CSS features render correctly!
$vbLabelText   $csharpLabel

Não é necessário fechar (Close()).

O IronPDF gerencia os recursos automaticamente:

// Option 1: Let garbage collection handle it
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// No Close() needed

// Option 2: Explicit disposal
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
}
// Option 1: Let garbage collection handle it
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// No Close() needed

// Option 2: Explicit disposal
using (var pdf = renderer.RenderHtmlAsPdf(html))
{
    pdf.SaveAs("output.pdf");
}
' Option 1: Let garbage collection handle it
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
' No Close() needed

' Option 2: Explicit disposal
Using pdf = renderer.RenderHtmlAsPdf(html)
    pdf.SaveAs("output.pdf")
End Using
$vbLabelText   $csharpLabel

Lista de verificação para migração

Pré-migração

  • Auditar todas as utilizações de Selecionar PDF na base de código.
  • Documente as opções de conversor de corrente para mapeamento.
  • Identificar implementações de cabeçalho/rodapé
  • Verifique a sintaxe do marcador de posição do número da página ({page_number}{page})
  • Observe os padrões de tratamento de URLs base
  • Verificar as plataformas de implantação de destino
  • Obtenha a chave de licença do IronPDF em IronPDF

Atualizações de código

  • Remover o pacote NuGet Select.HtmlToPdf
  • Instale o pacote NuGet IronPdf
  • Atualizar importações de namespace (using SelectPdf;using IronPdf;)
  • Substitua HtmlToPdf por ChromePdfRenderer
  • Substitua ConvertHtmlString() por RenderHtmlAsPdf()
  • Substitua ConvertUrl() por RenderUrlAsPdf()
  • Atualizar nomes de propriedades de opções (Options.PdfPageSizeRenderingOptions.PaperSize)
  • Converter PdfPageSize para PdfPaperSize
  • Converter PdfPageOrientation para PdfPaperOrientation
  • Substitua doc.Save() por pdf.SaveAs()
  • Remover todas as chamadas doc.Close()
  • Corrigir marcadores de posição de número de página ({page_number}{page}, {total_pages}{total-pages})
  • Adicionar inicialização de licença na inicialização do aplicativo

Pós-migração

  • Execute todos os testes unitários
  • Verificar a renderização CSS (especialmente Grid/Flexbox)
  • Testar a execução do JavaScript
  • Verificar os números de página do cabeçalho/rodapé
  • Testar nas plataformas alvo (Linux, Docker, etc.)
  • Teste de desempenho
  • Comparar a qualidade de saída do PDF
  • Atualizar pipelines de CI/CD
  • Testar implantações na nuvem (se aplicável)

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