Comparação de produtos com o IronPDF
Este artigo foi escrito por Jeff Fritz, uma autoridade reconhecida em desenvolvimento .NET .
Neste artigo, Jeff analisa e compara a biblioteca IronPDF com outras três bibliotecas PDF líderes de mercado para C# .NET: Aspose, SyncFusion e iTextPdf.
Estou investigando a experiência completa do desenvolvedor ao interagir com três produtos comerciais de gerenciamento de PDF para desenvolvedores e comparando-os com a experiência do IronPDF . Compararemos e avaliaremos cada produto nas seguintes áreas:
- Experiência em Descoberta e Aquisição
- Clareza no licenciamento
- Compatibilidade
- Experiência de primeiros passos
- Facilidade de uso da API para um desenvolvedor C#
- Qualidade da documentação, incluindo exemplos de código e tutoriais.
- Capacidades de conversão de HTML para PDF
- Conformidade com CSS3
- Conformidade com HTML 5
- Conformidade com JavaScript
- Suporte para formulários de geração
- Fidelidade da renderização
- Suporte Técnico
- Cadência de lançamentos e desenvolvimento de funcionalidades
Concluiremos com uma avaliação final das ferramentas.
Descoberta e Aquisição
Os desenvolvedores têm um mundo de produtos PDF à sua disposição. Como podem eles separar os produtos e escolher o mais adequado para o seu projeto? Os desenvolvedores de C# consultam três locais principais ao pesquisar ferramentas de software: mecanismos de busca, GitHub e NuGet. Vamos pesquisar por "PDF Software C#" no DuckDuckGo, um mecanismo de busca privado, e também procurar por essas ferramentas de PDF no GitHub e no NuGet. O NuGet é o repositório de pacotes do .NET .
| Produto | DuckDuckGo | GitHub | NuGet |
|---|---|---|---|
| IronPDF | 5 | Não encontrado | 5 |
| Aspose | 22 | 37 | 3 |
| SyncFusion | 49 | N / D | 8 |
| iTextPDF | Não encontrado | 40 | 7 |
Observações: Limitei a busca aos primeiros 100 resultados de cada serviço e não consegui localizar o repositório do IronPDF no GitHub , bem como o site do iText no DuckDuckGo. O SyncFusion não possui um repositório no GitHub com exemplos de criação de PDFs.
Aquisição
Cada um dos produtos adota uma abordagem diferente para a aquisição de produtos a partir de seus respectivos sites.
O IronPDF deixa isso bem claro com um botão de download na página inicial.
Figura 1 - Descoberta de download do IronPDF
O botão de download direciona para o NuGet e para as instruções padrão de instalação de pacotes .NET .
Na página inicial do Aspose , você encontra um link para selecionar um idioma e, em seguida, são exibidos detalhes sobre a versão escolhida do produto, além de um botão para download.
Figura 2 - Seletor de idioma do Aspose.PDF
Figura 3 - Aspose.PDF C# Download Descoberta
A Aspose irá então solicitar que você baixe as ferramentas através de uma página que contém instruções do NuGet e vários parágrafos de material promocional.
Figura 4 - Página de Download do Aspose
A SyncFusion tem sua biblioteca de gerenciamento de PDFs arquivada em "Processamento de Documentos - PDF". O subsite deles tem a seguinte aparência:
Figura 5 - Descoberta de PDF do SyncFusion
Em seguida, você deve preencher um formulário para criar uma conta no site deles, incluindo endereço de e-mail, número de telefone e nome da empresa. A SyncFusion verifica seu e-mail por mensagem de texto e, em seguida, permite que você baixe um instalador do software. Você também pode instalar um pacote de avaliação do NuGet, mas eles afirmam que o instalador fornece o "produto completo". Nos dias que se seguiram ao meu cadastro no site da SyncFusion , recebi dois e-mails e duas ligações telefônicas oferecendo ajuda para começar. Os e-mails e telefonemas tinham um tom amigável, porém, achei os telefonemas um pouco invasivos.
O iTextPDF deixa isso claro com um único produto e um único link para ele:
Figura 7 - Descoberta do iTextPDF
A tela de download oferece três opções para baixar o arquivo, sendo necessário se cadastrar informando número de telefone, e-mail, cargo e nome da empresa.
Figura 7 - Tela de download do iText
Achei a quantidade de opções do iText excessiva e não tinha certeza do que baixar. Escolhi o iText 7 e fui então direcionado para outra tela onde pude escolher entre nove produtos relacionados a PDF para baixar. Mais uma vez, achei isso confuso e fiquei sem saber quais bibliotecas e ferramentas eu precisava para o meu projeto.
Recebi um e-mail de acompanhamento da iText com um link para o portal do cliente e uma senha gerada. Tentei usar o portal deles com as credenciais fornecidas, mas não consegui acessar o site.
Clareza no licenciamento
Com qualquer biblioteca que um desenvolvedor baixe, o licenciamento determinará se e como ele poderá usar o produto em seu projeto. Uma licença mais permissiva permitirá que a ferramenta seja distribuída com um aplicativo para dispositivos móveis ou computadores, enquanto licenças mais restritivas podem limitar o uso da ferramenta à execução apenas em um servidor protegido.
O IronPDF oferece um botão bem visível na página inicial, ao lado do botão "Download gratuito do NuGet ", que direciona para os termos de licenciamento. A página resultante deixa bem claro quantos desenvolvedores estão incluídos e em quantos projetos o produto pode ser usado. Existe uma restrição quanto ao número de escritórios que uma organização pode ter. A redistribuição do software como um produto SaaS ou aplicativo nativo requer uma taxa de licenciamento adicional.
A Aspose oferece seis modelos de licenciamento diferentes, incluídos em pacotes sem suporte, com suporte ou com suporte e consultoria. Achei as opções bastante confusas, pois também existem limitações quanto aos tipos de projetos em que o produto pode ser usado, o número de desenvolvedores licenciados e o tamanho da organização.
Projetos de sites públicos, incluindo suporte:
| Inclusão | IronPDF | Syncfusion | AsposePDF | iText |
|---|---|---|---|---|
| 1 site, 1 desenvolvedor, 1 local, Suporte | **$799** | **$ 2.495** | **$ 5.394** | |
| 10 sites, 10 desenvolvedores, 10 locais, **Suporte** | **$2,399** | **$ 13.990** | **$ 28.771** | |
| Sites ilimitados, **suporte** | $4,799 | **N / D** | **A partir de US$ 25.785** (por ano) |
Figura 8 - Modelo de Licenciamento da Aspose
A SyncFusion cobra uma taxa única pelo seu produto de Formatos de Arquivo, que inclui suporte para todos os tipos de aplicativos .NET . A taxa é cobrada por desenvolvedor, com redução no valor para o segundo ano de contrato. Não existem limitações com base no tamanho da organização ou no número de projetos em que o produto é utilizado. Eles também oferecem uma licença comunitária gratuita para empresas em fase inicial .
Figura 9 - Licenciamento do SyncFusion
A iText possui diversos produtos de código aberto disponíveis, mas dá a entender que é necessário comprar uma licença para utilizá-los.
Figura 10 - Produto de código aberto iText
A opção de adquirir uma licença comercial leva a uma tela sem opções de compra listadas imediatamente. Existe uma ferramenta de configuração que você deve preencher com informações sobre sua localização, idioma, volume de uso e produtos que deseja utilizar. A ferramenta então fornece um orçamento para a licença comercial.
Figura 11 - Ferramenta de Configuração de Licença iText
Se o produto estiver disponível em código aberto, posso simplesmente usá-lo sem nenhuma opção de suporte comercial? Só fica claro ao clicar no link para o site da comunidade iText 7 e descobrir que ele está coberto pela licença AGPL, que exige que você libere o código-fonte dos aplicativos que você escrever e que usem a biblioteca deles, nesse modelo. É uma opção interessante, mas pode confundir os desenvolvedores.
Compatibilidade
Com os diferentes modelos de implantação disponíveis para cada produto, existem diferentes níveis de compatibilidade prometidos em cada site. É necessário realizar mais pesquisas para determinar a compatibilidade com diferentes provedores de hospedagem e ferramentas de hospedagem como o Docker.
| Ambiente | IronPDF | Aspose | SyncFusion | iText |
|---|---|---|---|---|
| COM | Sim | |||
| .NET Framework | Sim | Sim | Sim | Sim |
| .NET 5 | Sim | Sim | Sim | |
| .NET 6 | Sim | Sim | Sim | |
| .NET Standard | Sim | Sim | Sim | |
| Xamarin | Sim | Sim | ||
| MAUI | Sim | |||
| Azure | Sim | |||
| AWS | Sim | Sim | ||
| Mac | Sim | |||
| Linux | Sim | |||
| Docker | Sim |
O Aspose é o único produto que afirma funcionar com aplicativos COM, uma necessidade geralmente herdada dos desenvolvedores. A iText não lista as plataformas suportadas em seu site, mas uma análise de seus pacotes NuGet indica suporte para as plataformas mencionadas. A SyncFusion lista suporte para diversas estruturas de interface de usuário, mas não especifica versões de tempo de execução. O iText foi o único produto, além do IronPDF , a afirmar oferecer suporte a um serviço em nuvem, com um banner destacando o suporte à AWS.
Figura 12 - Suporte do iText na AWS
Primeiros Passos
Analisei cada um dos produtos e a experiência de "Primeiros Passos" descrita em seus respectivos sites. Estas são as instruções para "criar seu primeiro aplicativo com o produto" para cada um desses produtos.
IronPDF
Consegui instalar e começar a usar uma versão de exemplo do IronPDF utilizando o NuGet, com apenas uma linha de código. Muito prático e não deixou meu sistema confuso.
O exemplo do IronPDF na página "Primeiros passos" do IronPDF funciona com um aplicativo simples de console ou nativo usando o .NET 6 e versões anteriores. Ele cria e carrega um novo PDF com um simples bloco de texto "Olá Mundo", completando um exemplo de código de 5 linhas ao gravar o arquivo.
O código de exemplo é claro e funciona bem com a formatação .NET 6 / C# 10. O bloco de código online possui um botão "copiar para a área de transferência" que facilita muito a sua execução.
O arquivo é gravado na pasta bin/ dentro do projeto e, para um teste rápido, funciona. Eu gostaria que isso tivesse sido escrito ao lado do arquivo de código que acabei de escrever, pois algumas pessoas podem não saber que devem procurar o conteúdo na pasta bin/.
Aspose
Precisei instalar um arquivo grande, de 217 MB, para começar a usar as bibliotecas Aspose no meu sistema. Isso não instalou nenhum aplicativo, apenas colocou as bibliotecas do Aspose no disco.
O exemplo do Aspose está na documentação deles, na seção "Primeiros passos", o que torna um pouco mais difícil de encontrar. O exemplo de código "Hello World" da Aspose inclui um texto explicativo que detalha o que o código tenta fazer, mas parece um pouco repetitivo em comparação com os comentários no próprio código.
O exemplo da Aspose não funciona como está e precisa ser melhorado. Na minha análise do produto, deparei-me com os seguintes problemas:
- A biblioteca .NET 6 é distribuída como uma DLL e armazenada em disco em
C:\Program Files (x86)\Aspose\Aspose.PDF for .NET\Bin\net6.0-- Não é assim que os desenvolvedores .NET carregam bibliotecas em 2022, preferindo pacotes NuGet . - Não há instruções indicando como adicionar a referência, nem quais referências adicionar.
- Quando adicionei uma referência ao arquivo
Aspose.Pdf.dll, o código do projeto apresentado na página não compilou. Adicionei as declaraçõesusingque faltavam e ajustei o código para que compilasse, mas não foi possível executá-lo devido a outras referências ausentes. - O projeto tenta escrever em uma pasta chamada 'Samples'. Na minha tentativa de fazer este projeto funcionar, eu não tinha essa pasta no disco, e meu projeto de exemplo travou devido à pasta não existir.
- O PDF de exemplo gerado contém um bloco de texto "Olá Mundo" e possui uma marca d'água fúcsia indicando que se trata de uma versão de demonstração do software.
SyncFusion
Precisei baixar um arquivo grande de 874 MB para começar, e a instalação exigiu que eu fizesse login em um servidor da Syncfusion para extrair e trabalhar com as bibliotecas. O instalador criou um aplicativo de "Painel de Controle" que me permitiu navegar por diversas demonstrações no disco.
Figura 13 - Aplicativo do Painel de Controle do SyncFusion
A demonstração da SyncFusion está localizada aproximadamente na metade da página do produto, na seção "Syncfusion PDF Framework for .NET" , com fundo azul e texto azul claro. Segundo a Lighthouse, este contraste é baixo e inacessível para alguns usuários.
Colei o código da Syncfusion no Visual Studio e não consegui fazer com que o Visual Studio gerasse uma instrução "using" apropriada para os objetos mencionados no código de demonstração. Na verdade, quando pedi ao Visual Studio para tentar localizar e gerar uma instrução using, ele me recomendou instalar um pacote concorrente:
Figura 14 - O Visual Studio sugere que eu instale o iTextSharp para usar o SyncFusion.
O código do exemplo da SyncFusion não fez nada conforme apresentado na tela. O código de demonstração grava um PDF em um MemoryStream, um objeto que gerencia o conteúdo de arquivos na memória. Modifiquei o código para escrever em um arquivo no disco, e ele gerou corretamente um arquivo contendo "Olá Mundo".
iText
A demonstração do iText está escrita em um editor de código claro, localizado no centro da página inicial do produto. iText 7 Community Ao contrário das outras demonstrações, o iText incluiu um link para visualizar o PDF gerado para este código.
Fui solicitado a baixar um pacote de instalação do portal do cliente e, um dia após o cadastro, recebi um e-mail às 5h da manhã com instruções para me cadastrar. As credenciais não funcionaram e, em vez disso, baixei e instalei os pacotes da comunidade disponíveis no NuGet.
O código de exemplo fornecido para o iText7 não funciona como está. Este código também carece de algumas instruções using, mas depois de adicionadas, a aplicação gerou um arquivo PDF e o gravou na pasta bin/ do projeto.
Facilidade de uso para um desenvolvedor C
Este elemento de avaliação investiga a API e as interações que os desenvolvedores terão com a biblioteca. Cada uma dessas ferramentas oferece diversas maneiras de criar e interagir com documentos PDF. Vamos analisar cada um deles.
Documentação
A documentação do produto é o que vai determinar seu sucesso ou fracasso a longo prazo com os desenvolvedores. À medida que se aprofundam no assunto e precisam de recursos mais avançados, com que rapidez conseguem encontrar esse material? E existem exemplos fornecidos que ajudam a ensinar esses conceitos?
Em cada um desses produtos, pesquisei na documentação da API a possibilidade de adicionar assinaturas digitais a um PDF.
IronPDF
A documentação da API é clara e bem organizada, com um índice no painel esquerdo que inclui um filtro em tempo real. A caixa de pesquisa no canto superior direito também inclui um filtro em tempo real e rapidamente retornou vários artigos sobre os diversos componentes que fornecem recursos de assinatura. O site da API possui um modo claro e um modo escuro, um recurso interessante que os desenvolvedores apreciam.
Figura 15 - Resultados da pesquisa da API IronPDF para Assinatura
O documento da classe PdfSignature descreve o objeto, mas não inclui nenhum link para código de exemplo. Pesquisei no site IronPDF por "assinatura" e encontrei um código de exemplo que faz referência ao objeto PdfSignature em IronPDF Digitally Sign a PDF Example .
Aspose
A documentação da API da Aspose me direcionou para a classe PdfFileSignature quando pesquisei por Signature. Esta página, assim como a do IronPDF, mostra os detalhes da classe PdfFileSignature, mas não inclui links para demonstrações nem descreve como usar a classe.
Voltei à página base da documentação da Aspose em Aspose PDF for .NET Documentação e procurei por assinatura. Em seguida, foi-me apresentada uma lista de artigos relevantes e cliquei no artigo "Adicionar assinatura em arquivo PDF" em Aspose Add Signature in PDF .
SyncFusion
A página de documentação principal da SyncFusion para o produto de formatos de arquivo PDF está em Visão geral dos formatos de arquivo PDF da Syncfusion e foi preciso apenas alguns cliques no site para encontrá-la. Não precisei procurar muito para encontrar o exemplo de assinatura na página inicial da documentação.
Não existem documentos de API que suportem o recurso de assinatura digital disponíveis no site da SyncFusion.
iText
A documentação da API do iText é muito completa e é gerada a partir de cada versão lançada. Tem a aparência e o funcionamento padrão que você encontra em outras bibliotecas na internet. Ao pesquisar por uma assinatura, encontrei algumas classes com ótimas descrições sobre esses recursos, mas, novamente, nenhum link para exemplos.
Procurei um exemplo de assinatura no site da iText, mas não consegui encontrar nenhum. Em vez disso, me deparei com vários artigos de blog anunciando novas parcerias.
API
A API disponibilizada por cada uma das ferramentas é muito descritiva e cada uma adota sua própria abordagem para dar ao desenvolvedor acesso completo à criação e ao gerenciamento do conteúdo de um documento PDF. Felizmente, todos os frameworks possuem dicas de autocompletar completas que fornecem uma ótima documentação embutida enquanto você trabalha com suas ferramentas em um editor de código moderno como o Visual Studio ou o Visual Studio Code, que oferece recursos de autocompletar.
IronPDF
As APIs do IronPDF facilitam interações muito difíceis e complexas com comandos simplificados como "RenderHtmlAsPdf", mas ainda oferecem acesso profundo à criação e ao posicionamento de conteúdo, segurança, metadados e formulários do documento. Como desenvolvedor, essas APIs "falam diretamente à minha maneira de pensar" sobre a renderização de conteúdo.
Os nomes e termos usados pelas APIs do IronPDF deixam claro que você está renderizando um documento ou criando um documento. Em algumas configurações, as propriedades de tempo são números inteiros que representam milissegundos, quando eu teria preferido um tipo TimeSpan nativo. Por fim, gostaria de ver os tipos Configurações e Opções fornecidos com uma API de configuração fluente e moderna como esta:
var renderer = new IronPdf.ChromePdfRenderer(options => {
options.RenderDelay = TimeSpan.FromSeconds(1);
});
var renderer = new IronPdf.ChromePdfRenderer(options => {
options.RenderDelay = TimeSpan.FromSeconds(1);
});
Dim renderer = New IronPdf.ChromePdfRenderer(Sub(options)
options.RenderDelay = TimeSpan.FromSeconds(1)
End Sub)
SyncFusion
As APIs da SyncFusion são claras e oferecem um controle bastante descritivo sobre como interagir com suas ferramentas de conversão. Aqui não há atalhos, tudo é obrigatório e você precisa especificar quais ferramentas está usando, sem opções padrão disponíveis. As configurações são extensas, com controle preciso sobre tudo, incluindo a localização do renderizador WebKit no disco.
Essa configuração extra, embora desnecessária em algumas instalações, causou problemas para alguns usuários no passado, e a SyncFusion garante que isso não ocorrerá em versões futuras.
Aspose
A API da Aspose é extremamente verbosa e me faz questionar se eles estão realmente tentando aumentar a produtividade dos desenvolvedores. A quantidade de configuração necessária para carregar um documento de um site é impressionante, dez linhas de código ou o dobro de linhas do SyncFusion (cinco).
Um exemplo disso é que a Aspose não possui APIs que permitam especificar uma URL para buscar e converter.
iText
O iText possui uma API semelhante à do Aspose, muito detalhada e que permite a interação direta com a escrita no documento utilizando diferentes tipos de dados, mas não está claro como criar seções do documento. Devido à explicitude das APIs e à baixa qualidade da documentação, trabalhar com o iText é, no mínimo, difícil.
HTML para PDF
Em seguida, quis testar os recursos de renderização e velocidade de cada ferramenta na conversão de conteúdo HTML para PDF. Escrevi um código para comparação de PDFs que está disponível no repositório GitHub do Jeff e que você pode consultar para saber mais sobre como realizei cada um desses testes. Também guardei uma cópia de cada um dos PDFs com os resultados para você revisar. Vou testar cada produto para verificar:
- Facilidade de conversão de uma página de um site estático que fornece HTML puro. Usaremos o site estático KlipTok, que é utilizado para alimentar o mecanismo de busca do site de clipes da Twitch, KlipTok.com. ( Nota: O site está indisponível na data da última modificação deste artigo )
- Renderização do ESPN.com, um site com bastante JavaScript e CSS3 que exibe a página inicial do site.
- Renderização de um formulário em um site local para testar o uso e a apresentação de cada um dos campos no PDF resultante.
Cenário 1: Testes de sites estáticos
O site de referência é muito simples, sem CSS, apenas com texto, links e imagens.
Figura 16 - O site de referência para Testes Web Estáticos
IronPDF
Era um código simples de três linhas para executar, e o desempenho pareceu bom, com 835 ms. No entanto, ao abrir o PDF, constatei que nenhuma das imagens estava incluída na renderização, um resultado decepcionante considerando a configuração padrão.
Após algumas tentativas, descobri que podia adicionar um atraso na renderização e, com essa configuração, consegui gerar um PDF que incluía as imagens corretas na página.
Na versão de teste da ferramenta, há uma marca d'água incluída no PDF gerado. Na versão totalmente licenciada, essa marca d'água não está presente.
Figura 17 - Renderização do site estático em IronPDF
SyncFusion
A experiência com o SyncFusion foi curiosa e confusa. A documentação deles menciona várias maneiras diferentes de renderizar e distribuir HTML e PDF, com números de versão e frameworks distintos, que exigem códigos e configurações diferentes, além da instalação de ferramentas binárias para funcionar corretamente.
Assim como na demonstração do IronPDF , o SyncFusion não renderizou as imagens da página e gerou um PDF com margens muito pequenas.
Na versão de teste da ferramenta, há uma marca d'água incluída no PDF gerado. Na versão totalmente licenciada, essa marca d'água não está presente.
Figura 18 - Renderização do site estático pelo SyncFusion.
Aspose
A Aspose fornece instruções muito claras sobre como usar suas ferramentas. No entanto, com base nas instruções em seu site para converter um site em PDF , existe um bug significativo que impede o funcionamento do recurso. Além disso, a ferramenta online deles que converte um site em PDF deixou de funcionar.
iText
A documentação do iText não é tão fácil de encontrar, e tivemos que ler um e-book para obter o código de exemplo que procurávamos para executar este exemplo. Sem alterações no código, sem configurações adicionais e com apenas quatro linhas de código, geramos um PDF com ótima aparência, sem marcas d'água e com boas margens.
Figura 19 - Renderização do site estático pelo iText.
| Ferramenta utilizada | Velocidade em milissegundos (quanto menor, melhor) |
|---|---|
| IronPDF | 835 ms |
| SyncFusion | 1799 ms |
| Aspose | N / D |
| iText | 2975 ms |
Cenário 2: Site de mídia completo – ESPN.com
Para este teste, estamos usando o ESPN.com, um site de esportes que possui muito CSS, imagens e JavaScript na página. Dado que o Aspose não funcionou no teste simples, vamos ignorá-lo daqui para frente. Usaremos o mesmo código que utilizamos na última demonstração para criar essas capturas, apenas substituindo o endereço do site.
Para referência, aqui está a aparência da ESPN na época deste teste:
Figura 20 - Renderização completa do ESPN.com no navegador
A pontuação na parte superior e o relatório do estado do jogo no meio da tela são posicionados com JavaScript, e todo o posicionamento e as cores são controlados com CSS3.
IronPDF
A renderização do IronPDF conseguiu duplicar e carregar fielmente o conteúdo dinâmico; no entanto, parece que a página foi renderizada para um dispositivo móvel com os elementos de conteúdo divididos em segmentos separados e dispostos em mosaico.
Figura 21 - Renderização IronPDF da ESPN
SyncFusion
A SyncFusion realizou uma renderização semelhante, no estilo de dispositivos móveis, com o conteúdo disposto em mosaico vertical. No entanto, perdemos várias imagens que eram carregadas dinamicamente pelo site da ESPN e parte da formatação da fonte também foi perdida:
Figura 22 - Renderização SyncFusion da ESPN
iText
Neste teste, o iText se recusou a executar e estava lançando uma exceção NullReferenceException, impedindo-o de tentar renderizar o site.
| Ferramenta utilizada | Velocidade em milissegundos (quanto menor, melhor) |
|---|---|
| IronPDF | 835 ms |
| SyncFusion | 1799 ms |
| Aspose | N / D |
| iText | 2975 ms |
Site baseado em formulários
O teste final consiste em gerar um PDF com campos de formulário baseados em um site. O formulário simples de inscrição na newsletter que eu desenvolvi está disponível no repositório do GitHub e é renderizado com Bootstrap 5 no Firefox da seguinte forma:
Figura 23 - Formulário do site no Firefox
Observação: o campo Estado é uma caixa de combinação, o campo Telefone é um campo para número de telefone, o campo E-mail é um campo para endereço de e-mail e o campo Tamanho do Calçado é um campo numérico.
IronPDF
O Iron realmente se destaca neste teste, renderizando rapidamente em um layout semelhante ao otimizado para dispositivos móveis, como evidenciado pelo botão de menu hambúrguer no canto superior direito. As marcas d'água na página são incômodas na versão de teste, mas são removidas na versão completa licenciada.
Todos os campos de texto são renderizados como campos de formulário PDF com os quais posso interagir, exceto os botões de opção e a caixa de seleção no final. As caixas de texto não possuem nenhuma validação ou restrição de conteúdo específica, como ocorre no navegador.
Figura 24 - Renderização do formulário em IronPDF
SyncFusion
O SyncFusion renderizou o que parece ser a versão completa para desktop do site, já que não há nenhum botão de menu hambúrguer presente. Os elementos do formulário renderizados aparecem como quadrados, botões e caixas na tela, mas nenhum deles é um campo padrão de entrada de dados em PDF. Os links no cabeçalho e rodapé, embora ocultos pela marca d'água, são clicáveis.
Figura 25 - Site do formulário renderizado pelo SyncFusion
iText
O iText foi, de longe, o mais rápido dos três frameworks na renderização do conteúdo. No entanto, essa velocidade teve um preço. A renderização até exibia links que permitiam a navegação ao clicar neles, mas não levavam ao site original. Toda a formatação do Bootstrap foi perdida e todos os campos de formulário foram renderizados como caixas simples.
Figura 26 - Site do formulário renderizado pelo iText
| Ferramenta utilizada | Velocidade em milissegundos (quanto menor, melhor) |
|---|---|
| IronPDF | 835 ms |
| SyncFusion | 1799 ms |
| Aspose | N / D |
| iText | 2975 ms |
Suporte técnico
Cada uma dessas estruturas possui recursos de suporte distintos e um ritmo de lançamento próprio. Para uma estrutura viável, atualmente em desenvolvimento e em crescimento, que suporte mais o padrão PDF, gostaríamos de ver suporte online disponível e cronogramas de lançamento regulares.
IronPDF
Pelo que consta no site do NuGet , o IronPDF recebe uma nova versão a cada 2 a 4 semanas. Estão disponíveis opções de suporte por chat ao vivo e e-mail. Seria ótimo ter um fórum online ou um servidor no Discord/Slack para conversar com o suporte e outros membros da comunidade IronPDF .
SyncFusion
Segundo o NuGet , eles lançam uma atualização de suas bibliotecas de PDF uma vez por semana. A SyncFusion possui fóruns online e um sistema de suporte online para abertura de chamados. A SyncFusion não oferece opções de suporte por chat ao vivo.
Aspose
De acordo com o NuGet , o Aspose.PDF é lançado uma vez por mês. Eles oferecem um serviço de suporte gratuito, um serviço de suporte pago e consultoria paga. Não vejo nenhuma interação ao vivo ou interação com a comunidade disponível.
iText
O NuGet informa que o iText atualiza seus pacotes a cada 2-3 meses. O único suporte disponível é através de um sistema online de rastreamento de problemas JIRA e um formulário de "contato". Não há interações ao vivo ou fóruns hospedados disponíveis.
Placar final
Em cada seção deste documento, classifiquei os produtos uns em relação aos outros, sendo quatro a classificação mais alta.
| Categoria | IronPDF | Aspose | SyncFusion | iText |
|---|---|---|---|---|
| Descoberta | 3 | 4 | 2 | 1 |
| Aquisição | 4 | 3 | 2 | 1 |
| Licenciamento | 3 | 2 | 4 | 1 |
| Compatibilidade | 4 | 1 | 2 | 3 |
| Começando | 4 | 1 | 2 | 3 |
| API | 4 | 2 | 3 | 1 |
| Documentação | 4 | 4 | 3 | 2 |
| Renderizar sites | 4 | 0 | 3 | 2 |
| Apoiar | 3 | 4 | 2 | 1 |
| Total (quanto maior, melhor) | 33 | 21 | 23 | 15 |
Notas:
- Na etapa de Descoberta, a falta de uma biblioteca de exemplos clara no GitHub colocou a Syncfusion em último lugar, e priorizei a capacidade de encontrar o produto no mecanismo de busca em vez de encontrá-lo no GitHub.
- A aquisição pelo IronPDF foi simples, com um único botão que levava imediatamente à página de download. As outras bibliotecas tinham vários níveis de inscrição e processos para encontrar a biblioteca desejada. O iText apresentou o processo mais confuso e, no final, opções em excesso.
- O licenciamento do Syncfusion era muito claro, enquanto o Aspose e o IronPDF apresentavam diversas limitações. A grande variedade de opções da Aspose a colocou em terceiro lugar, enquanto as confusas opções de código aberto/comerciais, com a necessidade de uma ferramenta para calcular a licença, colocaram o iText em último lugar.
- A compatibilidade é um pouco confusa com base nas afirmações dos sites. O IronPDF afirma funcionar em várias nuvens, enquanto as outras ferramentas não fazem tal afirmação. É necessário realizar mais investigações durante o processo de testes para determinar se as três ferramentas podem ser executadas nesses ambientes.
- O site Começando classificou o IronPDF em primeiro lugar, pois seu código funcionou perfeitamente, sem necessidade de modificações. O iText precisava de algumas pequenas atualizações, e o Aspose não funcionou de jeito nenhum, então tive que reescrever o exemplo completamente.
- A estrutura da API fornecida pelo IronPDF é clara e permite que os desenvolvedores trabalhem com uma abordagem muito produtiva do tipo "forneça-me os valores padrão e você resolve o resto". O SyncFusion oferece uma abordagem semelhante, mas começa a ficar verboso. A Aspose e a iText possuem APIs muito verbosas, e a falta de uma boa documentação fez com que a iText ficasse em último lugar na minha lista de avaliações.
- A avaliação da documentação mostra que IronPDF e Aspose empataram em melhor experiência por apresentarem os mesmos recursos, enquanto SyncFusion e iText não possuíam exemplos ou documentação de API. A SyncFusion leva uma ligeira vantagem com o conteúdo completo em seu site de documentação.
- O teste de renderização de sites revelou que, embora o iText fosse o mais rápido, não conseguiu replicar a aparência do site que lhe foi passado. O IronPDF conseguiu oferecer total fidelidade ao CSS e ao JavaScript com campos de formulário interativos, enquanto o SyncFusion tinha renderização em JavaScript , algumas funcionalidades de CSS, mas nenhum campo de formulário interativo.
Perguntas frequentes
Como posso converter HTML para PDF em C#?
Você pode usar o método RenderHtmlAsPdf do IronPDF para converter strings HTML em PDFs. Você também pode converter arquivos HTML em PDFs usando o RenderHtmlFileAsPdf .
Quais são alguns dos principais benefícios de usar o IronPDF?
O IronPDF oferece instalação simples via NuGet, uma API intuitiva, alta velocidade de renderização de HTML para PDF e documentação bem organizada. Além disso, oferece opções de licenciamento claras e compatibilidade robusta com ambientes .NET.
Como a documentação do IronPDF melhora a experiência do desenvolvedor?
O IronPDF oferece documentação bem organizada com uma API pesquisável e exemplos, facilitando para os desenvolvedores encontrarem as informações de que precisam e implementarem soluções com eficiência.
Quais são os desafios da biblioteca de PDFs da SyncFusion?
A biblioteca de PDFs da SyncFusion exige uma configuração inicial complexa, incluindo a criação de conta e comunicações subsequentes, o que alguns usuários consideram invasivo. Além disso, seu desempenho de renderização é inferior ao do IronPDF.
Como o IronPDF lida com CSS e JavaScript durante a conversão?
O IronPDF se destaca por manter a fidelidade na renderização de CSS e JavaScript durante a conversão de HTML para PDF, garantindo que o resultado final corresponda fielmente ao conteúdo original.
O que torna o IronPDF a escolha preferida dos desenvolvedores em ambientes C#.NET?
O IronPDF é a opção preferida devido à sua aquisição simplificada, licenciamento transparente, API intuitiva, alta velocidade de conversão e documentação completa. Ele oferece uma experiência de desenvolvimento superior com recursos avançados, tornando-o uma solução confiável para PDFs em ambientes C#.NET.
De acordo com o artigo, qual é um problema comum com a biblioteca Aspose PDF?
A biblioteca Aspose PDF é criticada por seu modelo de licenciamento complexo e confuso, além da conversão não funcional para HTML, o que pode dificultar a navegação e a implementação eficaz por parte dos usuários.
Como o iText se comporta com páginas web complexas?
O iText é conhecido pela sua velocidade na renderização de conteúdo estático; no entanto, apresenta dificuldades com páginas web complexas, oferecendo suporte limitado para desenvolvedores que lidam com estruturas HTML intrincadas.



