IRONSOFTWAREHOME

Iron Suite for .NET

10 bibliotecas .NET. Um conjunto completo de documentos.

COMPARAÇÃO

pdforge vs IronPDF: Guia de Comparação Técnica

Curtis Chau
Curtis Chau
Updated: 8 de maio de 2026

Quando os desenvolvedores .NET avaliam bibliotecas de conversão de HTML para PDF, Selecionar PDF e IronPDF representam abordagens arquitetônicas diferentes com capacidades de plataforma significativamente diferentes. Selecionar PDF fornece uma biblioteca comercial usando um antigo motor de renderização baseado em Blink/WebKit com implantação somente em Windows, enquanto IronPDF oferece uma solução moderna baseada em Chromium com suporte completo para várias plataformas. Esta comparação técnica examina ambas as bibliotecas nas dimensões que mais importam aos desenvolvedores e arquitetos profissionais que tomam decisões sobre geração de PDF para aplicações .NET em 2025 e além.

Compreendendo SelectPdf

SelectPdf é uma biblioteca comercial projetada para converter conteúdo HTML em PDFs usando C#. A biblioteca é adaptada para desenvolvedores que necessitam de integração contínua da funcionalidade de geração de PDF dentro de suas aplicações. A API do Selecionar PDF gira em torno da classe de conversão HtmlToPdf e do padrão de objeto PdfDocument, proporcionando uma abordagem simples para conversão de HTML para PDF.

A força do Selecionar PDF está em sua API simples, tornando-o uma opção atraente para desenvolvedores novos na geração de PDF. Não entanto, os usuários potenciais devem estar cientes das limitações críticas que afetam as opções de implantação e o suporte a padrões web modernos.

Limitação Crítica: Apesar de anunciar capacidade multiplataforma, o Selecionar PDF funciona apenas em ambientes Windows. Isto representa uma barreira substancial ao considerar soluções de implantação baseadas em nuvem, como Azure Functions, contêineres Docker, ou hospedagem baseada em Linux.

Entendendo o IronPDF

IronPDF fornece uma biblioteca de geração de PDF com suporte comercial que utiliza um motor de renderização Chromium atualizado. A biblioteca converte HTML, CSS e JavaScript em documentos PDF com fidelidade no nível do navegador, suportando recursos modernos CSS3 incluindo CSS Grid, Flexbox avançado, e Variáveis CSS.

IronPDF opera em Windows, Linux (10+ distribuições), macOS, e ambientes de nuvem incluindo Azure Functions, AWS Lambda, e contêineres Docker. A biblioteca instala-se como um pacote NuGet e oferece suporte completo para plataformas modernas .NET, incluindo .NET 10.

O Problema de Suporte à Plataforma

A diferença mais significativa entre Selecionar PDF e IronPDF está no suporte à plataforma. Isso afeta opções de implantação, pipelines CI/CD e estratégias de adoção de nuvem.

Limitações de Plataforma do SelectPdf

SelectPdf explicitamente não suporta:

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

Esta é uma limitação arquitetônica fundamental—SelectPdf depende de bibliotecas específicas do Windows e não pode ser portado para outras plataformas.

// [X] Selecionar PDF - This code FAILS on Linux/Docker
using SelectPdf;

// Deployment to Serviço de Aplicativos do Azure (Linux) - FAILS
// Deployment to Docker container - FAILS
// Deployment toAWS Lambda- FAILS
// GitHub Actions on ubuntu-latest - FAILS

var converter = new HtmlToPdf();
var doc = converter.ConvertHtmlString("<h1>Hello</h1>");
// Exception: Selecionar PDF only works on Windows

Suporte multiplataforma do IronPDF

IronPDF oferece implantação multiplataforma abrangente:

//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");

Comparação de suporte de plataforma

PlataformaSelecionar PDFIronPDF
Windows Server 2019+SimSim
Windows 10/11SimSim
Ubuntu 20.04+NãoSim
Debian 10+NãoSim
CentOS 7+NãoSim
Alpine LinuxNãoSim
Amazon Linux 2NãoSim
macOS 10.15+NãoSim
Serviço de Aplicativos do Azure (Linux)NãoSim
Azure FunctionsLimitado (somente para Windows)Sim
AWS LambdaNãoSim
Docker (Linux)NãoSim
KubernetesNãoSim

A Diferença do Motor de Renderização

SelectPdf usa um fork desatualizado do Blink/WebKit que não acompanhou os padrões web modernos.IronPDF usa o último motor de renderização Chromium estável, garantindo compatibilidade com CSS e JavaScript contemporâneos.

Comparação de suporte a recursos CSS

Recurso CSSSelecionar PDFIronPDF
Grade CSSLimitado Parcial/quebradoSim Completo
Flexbox (básico)SimSim
Flexbox (propriedade gap)NãoSim
Variáveis ​​CSSNãoSim
CSS calc()LimitadoSim
@media printLimitadoSim
@font-faceLimitadoSim
Fontes da WebLimitadoSim
SVGLimitado BásicoSim Completo
Transformações CSSLimitadoSim
Animações CSSNãoSim

Exemplo de Renderização CSS Moderna

SelectPdf tem dificuldades com layouts CSS modernos:

<!-- This modern CSS FAILS or renders incorrectly in Selecionar PDF -->

<!-- Grade CSS - Broken -->
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;">
    <div>Item 1</div>
    <div>Item 2</div>
    <div>Item 3</div>
</div>

<!-- Variáveis ​​CSS - Not supported -->
<style>
:root { --primary-color: #007bff; }
h1 { color: var(--primary-color); }
</style>
HTML

IronPDF lida corretamente com CSS modernos:

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

Visão Geral da Comparação de Recursos

RecursoSelecionar PDFIronPDF
WindowsSimSim
LinuxNão NÃO SUPORTADOSim 10+ distros
macOSNão NÃO SUPORTADOSim Suportado
DockerNão NÃO SUPORTADOSim Imagens oficiais
Azure FunctionsLimitado (somente para Windows)Sim Suportado
AWS LambdaNão NÃO SUPORTADOSim Suportado
Grade CSSLimitadoSim Suportado
FlexboxLimitadoSim Suportado
Variáveis ​​CSSNão Não suportadoSim Suportado
.NET 10Não Não suportadoSim Suportado
Limite da versão gratuita5 páginasTeste generoso

Conversão de String HTML para PDF

O fluxo de trabalho principal de HTML para PDF demonstra diferenças fundamentais de API entre as bibliotecas.

Conversão de String HTML SelectPdf

SelectPdf utiliza o conversor HtmlToPdf com gerenciamento explícito do ciclo de vida do documento:

// 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");
    }
}

Essa abordagem requer:

  • Criar uma instância do conversor HtmlToPdf
  • Chamar ConvertHtmlString() para produzir um PdfDocument
  • Chamar explicitamente doc.Close() após salvar

Conversão de String HTML com IronPDF

IronPDF fornece a classe ChromePdfRenderer com gerenciamento automático de recursos:

// 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");
    }
}

O método RenderHtmlAsPdf utiliza o mecanismo de renderização Chromium e lida com a limpeza de recursos automaticamente—não é necessária chamada Close().

Conversão de URL para PDF

A conversão de páginas web ao vivo para PDF segue padrões semelhantes em ambas as bibliotecas.

Conversão de URL SelectPdf

// 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");
    }
}

Conversão de URL do 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");
    }
}

O método RenderUrlAsPdf navega para a URL usando o motor Chromium, executa JavaScript, aplica estilização CSS e captura a página completamente renderizada.

Configurações de Página Personalizadas

A configuração de página demonstra diferentes convenções de nomenclatura de propriedades de API.

Configurações de Página SelectPdf

SelectPdf configura as definições através de converter.Options:

// 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");
    }
}

Configurações de Página IronPDF

IronPDF configura as definições através de renderer.RenderingOptions:

// 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");
    }
}

A propriedade RenderingOptions fornece acesso a tamanho do papel, margens e outras configurações de PDF através de propriedades fortemente tipadas.

Referência de Mapeamento de API

Equipes avaliando a migração do Selecionar PDF para o IronPDF podem referenciar este mapeamento de operações equivalentes:

Selecionar PDFIronPDF
HtmlToPdfChromePdfRenderer
converter.ConvertHtmlString()renderer.RenderHtmlAsPdf()
converter.ConvertUrl()renderer.RenderUrlAsPdf()
doc.Save()pdf.SaveAs()
doc.Close()Não é necessário
converter.Options.PdfPageSizerenderer.RenderingOptions.PaperSize
converter.Options.PdfPageOrientationrenderer.RenderingOptions.PaperOrientation
converter.Options.MarginToprenderer.RenderingOptions.MarginTop
PdfPageSize.A4PdfPaperSize.A4
PdfPageOrientation.PortraitPdfPaperOrientation.Portrait
"{page_number} of {total_pages}""{page} of {total-pages}"
converter.Header.Add()renderer.RenderingOptions.HtmlHeader
converter.Footer.Add()renderer.RenderingOptions.HtmlFooter

A Limitação de 5 Páginas da Versão Gratuita

A versão gratuita do Selecionar PDF possui restrições severas que afetam a avaliação e o desenvolvimento:

  • Máximo de 5 páginas por PDF
  • Após 5 páginas: marca d'água agressiva em todas as páginas
  • As marcas d'água "Criado com SelectPdf" não podem ser removidas sem compra
  • Mesmo os fluxos de trabalho de avaliação são limitados

IronPDF oferece uma experiência de avaliação mais generosa sem os mesmos limites rígidos de páginas durante a avaliação.

Comparação de Preços Comerciais

AspectoSelecionar PDFIronPDF
Preço inicial$499$liteLicense
Páginas de Teste Gratuitas5 páginas máxTeste generoso
Comportamento da Marca D'águaAgressiva após 5 páginasMarca d'água de teste
Tipo de licençaOpções de assinaturaDisponível perpétuo
Transparência de PreçosNíveis complexosPreços claros

Quando as Equipes Consideram a Migração do SelectPdf

Vários fatores levam as equipes de desenvolvimento a avaliar alternativas ao SelectPdf:

Requisitos de implantação em nuvem tornam-se obstáculos quando as aplicações precisam rodar em Azure Functions,AWS Lambdaou ambientes de contêiner baseados em Linux. A limitação de ser apenas para Windows do Selecionar PDF impede completamente esses cenários de implantação.

Falhas na renderização de CSS moderno afetam as aplicações que usam designs web contemporâneos. Layouts de Grade CSS falham, a propriedade de espaço Flexbox não funciona e Variáveis CSS não são suportadas no mecanismo de renderização desatualizado do SelectPdf.

A adoção do .NET 10 gera preocupações de compatibilidade. Equipes que planejam direcionar .NET 10 e C# 14 em 2026 precisam de bibliotecas com suporte completo ao .NET moderno. O Selecionar PDF não suporta .NET 10 enquanto o IronPDF oferece suporte completo.

Limitações de pipeline CI/CD surgem quando GitHub Actions, Azure DevOps ou outros sistemas de build usam agentes baseados em Linux. O Selecionar PDF não pode ser executado em runners ubuntu-latest, quebrando fluxos de trabalho automatizados de teste e implantação.

A containerização no Docker é completamente bloqueada. Organizações que adotam arquiteturas baseadas em container não podem usar o Selecionar PDF em seus deployments no Docker.

Pontos Fortes e Concessões

Pontos Fortes do SelectPdf

  • API simples e direta para conversão básica de HTML para PDF
  • Preço inicial mais baixo ($499)
  • Adequado para cenários de deployment apenas no Windows com requisitos CSS básicos

Limitações do SelectPdf

  • Deployment apenas no Windows (sem Linux, macOS, Docker, ou funções na nuvem)
  • Mecanismo de renderização Blink/WebKit desatualizado
  • Suporte limitado para CSS Grid, espaço Flexbox e Variáveis CSS
  • Limite de 5 páginas na versão gratuita com marca d'água agressiva
  • Sem suporte para .NET 10
  • Não pode ser implantado em Azure Functions, AWS Lambda, ou ambientes de container
  • Requer chamadas explícitas doc.Close()

Pontos fortes do IronPDF

  • Suporte completo multiplataforma (Windows, distribuições Linux 10+, macOS, Docker)
  • Renderização moderna com Chromium com suporte completo para CSS3 e JavaScript
  • Deployment nativo para a nuvem (Azure Functions, AWS Lambda, Kubernetes)
  • Suporte completo para .NET 10
  • Documentação abrangente e suporte profissional
  • Gerenciamento automático de recursos (não é necessário Close())
  • Capacidades de manipulação de PDF (mesclar, dividir, marca d'água)
  • Assinaturas digitais e recursos de segurança

Considerações sobre o IronPDF

  • Preço inicial mais alto ($liteLicense)
  • Modelo de licenciamento comercial

Conclusão

SelectPdf e IronPDF servem a diferentes contextos de deployment e requisitos técnicos. Selecionar PDF fornece uma opção direta para ambientes apenas no Windows com requisitos CSS básicos e onde o limite de 5 páginas na versão gratuita é aceitável.

Para aplicações que exigem deployment multiplataforma, renderização CSS moderna, suporte para funções na nuvem, ou ambientes containerizados, o IronPDF fornece capacidades essenciais que o Selecionar PDF não pode oferecer. A capacidade de implantar em Linux, Docker, Azure Functions, eAWS Lambdaatende a requisitos modernos de infraestrutura que bibliotecas apenas para Windows não podem satisfazer.

Ao avaliar a migração do Selecionar PDF para o IronPDF, as equipes devem considerar seus requisitos específicos em torno de plataformas de deployment, complexidade do CSS, versões alvo do .NET, e estratégias de adoção na nuvem. Para equipes que visam arquiteturas modernas nativas para a nuvem com .NET 10 em 2026, a arquitetura baseada em Chromium multiplataforma do IronPDF oferece uma base mais sustentável do que a abordagem apenas para Windows do SelectPdf.


Para orientações de implementação, explore o tutorial do IronPDF de HTML para PDF e a documentação abordando padrões de geração de PDF para aplicações modernas .NET. Para deployment específico de plataforma, consulte o guia de deployment no Linux e a documentação do Docker.

Observe: SelectPDF é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pela Outside Software SRL ou SelectPdf. 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.
Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

OR
bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.