IronPDF e EO.Pdf: Uma comparação
Você está procurando uma biblioteca de PDFs que possa lidar com todas as suas tarefas relacionadas a PDFs, mas não sabe qual é a mais adequada para você? Existem tantas bibliotecas focadas em PDF disponíveis que pode ser difícil determinar qual é a melhor para você. Hoje, vamos analisar mais de perto duas bibliotecas de PDF: IronPDF e EO.PDF. Ao comparar essas duas bibliotecas, analisaremos diversos aspectos importantes: os recursos que oferecem, como lidam com tarefas comuns relacionadas a PDFs, a documentação e o suporte disponíveis e o modelo de preços para o uso de suas licenças.
Visão geral do IronPDF e do EO.Pdf
IronPDF é uma biblioteca .NET versátil e poderosa, projetada para criar, editar e converter documentos PDF dentro de sua aplicação .NET . Com o IronPDF, você pode converter facilmente HTML, URLs e páginas da web em PDFs, além de contar com recursos avançados como criptografia de PDF, anotações, assinaturas digitais e marcas d'água. Com documentação completa e compatibilidade multiplataforma, o IronPDF é uma solução ideal para desenvolvedores .NET que buscam lidar com tarefas em PDF de forma integrada.
EO.Pdf é uma biblioteca de classes .NET que permite aos desenvolvedores criar arquivos PDF programaticamente, com base no mecanismo Google Chromium. Ela oferece recursos essenciais como conversão de HTML para PDF, criação, leitura, divisão, mesclagem e criptografia de PDFs. Todas as funcionalidades estão agrupadas em alguns arquivos DLL, facilitando a instalação. O EO.Pdf concentra-se em fornecer objetos intuitivos para criar e manipular documentos PDF, tornando-o uma escolha adequada para funcionalidades básicas de PDF em aplicações .NET .
Compatibilidade entre plataformas
IronPDF
O IronPDF se destaca por sua ampla compatibilidade multiplataforma. Ele oferece suporte a uma ampla gama de ambientes dentro da .NET Framework, garantindo uma operação perfeita em diferentes plataformas. Segue abaixo um resumo da compatibilidade do IronPDF com diversas plataformas:
-
Versões do .NET :
- Totalmente escrito e compatível com C#, VB .NET e F#
- .NET Core (8, 7, 6, 5 e 3.1+)
- .NET Standard (2.0+)
- .NET Framework (4.6.2 ou superior)
-
Ambientes de aplicativos: O IronPDF funciona em diversos ambientes de aplicativos, como Windows, Linux, Mac, Docker, Azure e AWS.
-
IDEs: Funciona com IDEs como Microsoft Visual Studio e JetBrains Rider & ReSharper.
- Sistemas Operacionais e Processadores: Suporta diversos sistemas operacionais e processadores, incluindo Windows, Mac, Linux, x64, x86 e ARM.
Para obter mais detalhes sobre a compatibilidade do IronPDF, visite a página de Compatibilidade do IronPDF .
EO.Pdf
-
Versões do .NET :
- .NET Framework 4.0+
- .NET Core 2.0+
- Ambientes de Aplicativos: Como o EO.Pdf é uma biblioteca centrada no Windows, construída com o .NET Framework em mente, o EO.Pdf funciona melhor em um aplicativo Windows tradicional que depende de alguns componentes específicos do Windows. Isso também significa que, embora ofereça suporte para macOS e Linux, esse suporte é limitado.
Comparação dos principais recursos: funcionalidade de PDF no IronPDF vs. EO.Pdf
Um aspecto fundamental a considerar ao procurar a biblioteca de PDFs ideal é quais recursos ela oferece e quais recursos você precisa para as tarefas que pretende realizar. Vamos agora dar uma olhada geral nos recursos que cada biblioteca oferece.
Funcionalidades do IronPDF
-
Conversão para PDF: O IronPDF pode converter HTML em PDF, com suporte completo para os padrões web modernos; Você pode ter certeza de que o IronPDF sempre retornará PDFs com qualidade de imagem perfeita a partir do seu arquivo HTML ou conteúdo. O IronPDF também pode converter arquivos PDF de outros formatos, como DOCX, imagens, RTF e muito mais.
-
Geração de PDF: Com o IronPDF, você pode gerar PDFs a partir de URLs, arquivos ASPX ou strings HTML.
-
Recursos de segurança: Com o IronPDF, você sempre pode ter certeza de que seus arquivos PDF confidenciais estão seguros graças aos seus recursos de segurança. Use o IronPDF para criptografar seus arquivos PDF, definir senhas e permissões para seus arquivos PDF.
- Recursos de edição de PDF: Com o IronPDF , você pode processar documentos PDF existentes, editá-los e ler arquivos PDF com facilidade. O IronPDF oferece recursos de edição como adicionar cabeçalhos e rodapés, inserir texto e imagens nas páginas do PDF, adicionar marcas d'água personalizadas ao PDF, trabalhar com formulários em PDF e dividir ou mesclar arquivos PDF.
Para obter uma lista completa dos recursos do IronPDF , consulte Recursos do IronPDF .
Características do EO.Pdf
-
Criação de PDFs: Crie arquivos PDF usando a ferramenta PDF Creator do EO.Pdf ou, se preferir algo mais simples, experimente o conversor de HTML para PDF.
-
Leitor de PDF: A ferramenta de leitura de PDF do EO.Pdf consegue ler arquivos PDF existentes. Em seguida, você poderá modificar arquivos PDF, dividi-los, mesclá-los ou criptografá-los.
-
Mesclar e dividir: Com o EO.Pdf, você pode dividir qualquer arquivo PDF existente ou mesclar vários arquivos PDF.
- Criptografia de PDF: O EO.Pdf suporta a criptografia de PDFs, bem como a descriptografia de arquivos PDF criptografados.
Comparação das principais funcionalidades com exemplos de código: IronPDF vs. EO.Pdf
Nesta seção, vamos analisar algumas tarefas comuns relacionadas a PDFs e como o IronPDF e o EO.Pdf lidam com esses casos de uso.
Conversão de HTML para PDF
Exemplo do IronPDF :
using IronPdf;
// Enable web security features such as disabling local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Enable web security features such as disabling local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Enable web security features such as disabling local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
Exemplo de EO.Pdf:
HtmlToPdf.ConvertHtml("<h1>Hello World</h1>", "output.pdf");
HtmlToPdf.ConvertHtml("<h1>Hello World</h1>", "output.pdf");
HtmlToPdf.ConvertHtml("<h1>Hello World</h1>", "output.pdf")
Como você pode ver no código acima, o conversor de HTML para PDF do IronPDF oferece um método poderoso para criar arquivos PDF a partir de conteúdo HTML com apenas algumas linhas de código. Com forte suporte aos padrões web modernos, você terá a garantia de obter documentos PDF perfeitos em pixels a partir de sua aplicação ou páginas web sempre. O EO.Pdf requer apenas uma única linha de código para converter conteúdo HTML em PDF, o que torna sua implementação rápida e fácil.
Criptografando arquivos PDF
Exemplo do IronPDF :
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
Exemplo de EO.Pdf:
PdfDocument doc = new PdfDocument();
doc.Security.UserPassword = "user";
doc.Security.OwnerPassword = "owner";
doc.Save("encrypted.pdf");
PdfDocument doc = new PdfDocument();
doc.Security.UserPassword = "user";
doc.Security.OwnerPassword = "owner";
doc.Save("encrypted.pdf");
Dim doc As New PdfDocument()
doc.Security.UserPassword = "user"
doc.Security.OwnerPassword = "owner"
doc.Save("encrypted.pdf")
Embora o processo de criptografia do IronPDF exija mais linhas de código, ele oferece uma ferramenta poderosa que pode proteger seu arquivo PDF e lhe dá controle total sobre o processo, com uma variedade de opções para personalizar completamente a tarefa de criptografia. O EO.Pdf oferece uma ferramenta de criptografia curta e fácil de implementar, mas não possui o mesmo nível de controle que o IronPDF .
Redigir conteúdo de PDF
Exemplo do IronPDF :
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
EO.Pdf: Não suportado nativamente.
O IronPDF oferece uma ferramenta de redação integrada capaz de ocultar conteúdo específico do seu PDF com apenas algumas linhas de código. O EO.Pdf, no entanto, não oferece esse recurso, então você precisaria instalar bibliotecas adicionais para realizar a redação de PDFs.
Assinatura digital de PDFs
Exemplo do IronPDF :
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
EO.Pdf:
// Create a PdfSigner object
PdfSigner signer = new PdfSigner(your_x509_certificate);
// Sign the PDF file
signer.Sign(pdf_file_name);
// Create a PdfSigner object
PdfSigner signer = new PdfSigner(your_x509_certificate);
// Sign the PDF file
signer.Sign(pdf_file_name);
' Create a PdfSigner object
Dim signer As New PdfSigner(your_x509_certificate)
' Sign the PDF file
signer.Sign(pdf_file_name)
Com o IronPDF, você pode assinar qualquer arquivo PDF com segurança e facilidade. Sua ferramenta de assinatura de PDF oferece controle total sobre o processo, mantendo o método simples e fácil de implementar. O processo de assinatura do EO.Pdf é simples de usar e requer pouquíssimas linhas de código para funcionar.
Aplicando marcas d'água personalizadas
Exemplo do IronPDF :
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
EO.Pdf: Não possui suporte nativo para marca d'água.
Com uma abordagem semelhante à de HTML/CSS, a ferramenta de marca d'água do IronPDF é fácil de usar e torna a aplicação de marcas d'água personalizadas em arquivos PDF muito simples. O EO.Pdf não possui suporte nativo para marca d'água, portanto, serão necessárias bibliotecas externas para realizar essa tarefa.
Inserir texto e imagens em documentos PDF
Exemplo do IronPDF :
Carimbo de texto:
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
Carimbo de imagem:
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
EO.Pdf: Não suporta opções avançadas de impressão.
Adicionar texto e imagens aos seus arquivos PDF nunca foi tão fácil graças às ferramentas de inserção de texto e imagem do IronPDF, que são poderosas e fáceis de usar. Se você já tem familiaridade com HTML e CSS, essas ferramentas são ainda mais fáceis de usar graças à sua abordagem semelhante ao CSS na aplicação do carimbo ao PDF.
Se você deseja adicionar carimbos de texto e imagem aos seus PDFs e usar o EO.Pdf, precisará instalar bibliotecas separadas, pois o EO.Pdf não oferece suporte a esse processo.
Painel de desempenho do Bootstrap
Bibliotecas de PDF modernas devem demonstrar suas capacidades por meio de métricas de desempenho mensuráveis. Este exemplo de painel de controle do Bootstrap 5 mostra como o IronPDF pode renderizar layouts complexos com componentes de visualização de dados em tempo real.
using IronPdf;
var renderer = new ChromePdfRenderer();
string performanceDashboard = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.metric-card {
transition: transform 0.2s;
border-left: 4px solid #0d6efd;
}
.metric-card:hover { transform: translateY(-2px); }
.progress-custom { height: 8px; border-radius: 4px; }
@media print { .metric-card { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-body'>
<h2 class='mb-0'>PDF Library Performance Metrics</h2>
<p class='text-muted mb-0'>Comparative Analysis - Q4 2024</p>
</div>
</div>
<div class='row g-4 mb-4'>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Render Speed</h6>
<h2 class='display-6 mb-3'>0.9s</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-success' style='width: 95%'></div>
</div>
<small class='text-success mt-2 d-block'>↑ 40% faster than alternatives</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Browser Fidelity</h6>
<h2 class='display-6 mb-3'>98%</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-info' style='width: 98%'></div>
</div>
<small class='text-info mt-2 d-block'>Chrome V8 Engine</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>CSS3 Support</h6>
<h2 class='display-6 mb-3'>100%</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-primary' style='width: 100%'></div>
</div>
<small class='text-primary mt-2 d-block'>Full Flexbox + Grid</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Memory Usage</h6>
<h2 class='display-6 mb-3'>Low</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-warning' style='width: 30%'></div>
</div>
<small class='text-warning mt-2 d-block'>Optimized Streaming</small>
</div>
</div>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Feature Availability Matrix</h5>
</div>
<div class='card-body'>
<div class='row g-3'>
<div class='col-md-6'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>HTML5 Rendering</strong></span>
<span class='badge bg-success'>Available</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>JavaScript Execution</strong></span>
<span class='badge bg-success'>Full Support</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>CSS Grid Layouts</strong></span>
<span class='badge bg-success'>Native</span>
</div>
</div>
<div class='col-md-6'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Digital Signatures</strong></span>
<span class='badge bg-success'>Advanced</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Form Handling</strong></span>
<span class='badge bg-success'>Interactive</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Cross-Platform</strong></span>
<span class='badge bg-success'>Win/Lin/Mac</span>
</div>
</div>
</div>
</div>
<div class='card-footer text-muted'>
<small><strong>Note:</strong> EO.PDF may require additional configuration or libraries for advanced features.</small>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(performanceDashboard);
pdf.SaveAs("performance-dashboard.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string performanceDashboard = @"
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.metric-card {
transition: transform 0.2s;
border-left: 4px solid #0d6efd;
}
.metric-card:hover { transform: translateY(-2px); }
.progress-custom { height: 8px; border-radius: 4px; }
@media print { .metric-card { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-body'>
<h2 class='mb-0'>PDF Library Performance Metrics</h2>
<p class='text-muted mb-0'>Comparative Analysis - Q4 2024</p>
</div>
</div>
<div class='row g-4 mb-4'>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Render Speed</h6>
<h2 class='display-6 mb-3'>0.9s</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-success' style='width: 95%'></div>
</div>
<small class='text-success mt-2 d-block'>↑ 40% faster than alternatives</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Browser Fidelity</h6>
<h2 class='display-6 mb-3'>98%</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-info' style='width: 98%'></div>
</div>
<small class='text-info mt-2 d-block'>Chrome V8 Engine</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>CSS3 Support</h6>
<h2 class='display-6 mb-3'>100%</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-primary' style='width: 100%'></div>
</div>
<small class='text-primary mt-2 d-block'>Full Flexbox + Grid</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Memory Usage</h6>
<h2 class='display-6 mb-3'>Low</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-warning' style='width: 30%'></div>
</div>
<small class='text-warning mt-2 d-block'>Optimized Streaming</small>
</div>
</div>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Feature Availability Matrix</h5>
</div>
<div class='card-body'>
<div class='row g-3'>
<div class='col-md-6'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>HTML5 Rendering</strong></span>
<span class='badge bg-success'>Available</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>JavaScript Execution</strong></span>
<span class='badge bg-success'>Full Support</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>CSS Grid Layouts</strong></span>
<span class='badge bg-success'>Native</span>
</div>
</div>
<div class='col-md-6'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Digital Signatures</strong></span>
<span class='badge bg-success'>Advanced</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Form Handling</strong></span>
<span class='badge bg-success'>Interactive</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Cross-Platform</strong></span>
<span class='badge bg-success'>Win/Lin/Mac</span>
</div>
</div>
</div>
</div>
<div class='card-footer text-muted'>
<small><strong>Note:</strong> EO.PDF may require additional configuration or libraries for advanced features.</small>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(performanceDashboard);
pdf.SaveAs("performance-dashboard.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim performanceDashboard As String = "
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
<style>
.metric-card {
transition: transform 0.2s;
border-left: 4px solid #0d6efd;
}
.metric-card:hover { transform: translateY(-2px); }
.progress-custom { height: 8px; border-radius: 4px; }
@media print { .metric-card { page-break-inside: avoid; } }
</style>
</head>
<body class='bg-light'>
<div class='container py-4'>
<div class='card shadow-sm mb-4'>
<div class='card-body'>
<h2 class='mb-0'>PDF Library Performance Metrics</h2>
<p class='text-muted mb-0'>Comparative Analysis - Q4 2024</p>
</div>
</div>
<div class='row g-4 mb-4'>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Render Speed</h6>
<h2 class='display-6 mb-3'>0.9s</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-success' style='width: 95%'></div>
</div>
<small class='text-success mt-2 d-block'>↑ 40% faster than alternatives</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Browser Fidelity</h6>
<h2 class='display-6 mb-3'>98%</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-info' style='width: 98%'></div>
</div>
<small class='text-info mt-2 d-block'>Chrome V8 Engine</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>CSS3 Support</h6>
<h2 class='display-6 mb-3'>100%</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-primary' style='width: 100%'></div>
</div>
<small class='text-primary mt-2 d-block'>Full Flexbox + Grid</small>
</div>
</div>
</div>
<div class='col-md-3'>
<div class='card metric-card shadow-sm h-100'>
<div class='card-body'>
<h6 class='text-muted text-uppercase mb-2'>Memory Usage</h6>
<h2 class='display-6 mb-3'>Low</h2>
<div class='progress progress-custom'>
<div class='progress-bar bg-warning' style='width: 30%'></div>
</div>
<small class='text-warning mt-2 d-block'>Optimized Streaming</small>
</div>
</div>
</div>
</div>
<div class='card shadow-sm'>
<div class='card-header bg-primary text-white'>
<h5 class='mb-0'>Feature Availability Matrix</h5>
</div>
<div class='card-body'>
<div class='row g-3'>
<div class='col-md-6'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>HTML5 Rendering</strong></span>
<span class='badge bg-success'>Available</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>JavaScript Execution</strong></span>
<span class='badge bg-success'>Full Support</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>CSS Grid Layouts</strong></span>
<span class='badge bg-success'>Native</span>
</div>
</div>
<div class='col-md-6'>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Digital Signatures</strong></span>
<span class='badge bg-success'>Advanced</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Form Handling</strong></span>
<span class='badge bg-success'>Interactive</span>
</div>
<div class='d-flex justify-content-between align-items-center mb-2'>
<span><strong>Cross-Platform</strong></span>
<span class='badge bg-success'>Win/Lin/Mac</span>
</div>
</div>
</div>
</div>
<div class='card-footer text-muted'>
<small><strong>Note:</strong> EO.PDF may require additional configuration or libraries for advanced features.</small>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(performanceDashboard)
pdf.SaveAs("performance-dashboard.pdf")
Resultado: Um painel de análise profissional em PDF com cartões de métricas Bootstrap 5, barras de progresso e matrizes de recursos. O IronPDF renderiza com precisão todos os layouts flexbox, classes utilitárias e elementos de design responsivos com cores e espaçamento perfeitos.
Para obter informações completas sobre a compatibilidade do framework Bootstrap, consulte o Guia de CSS do Bootstrap e Flexbox .
Conversão de DOCX para PDF
Exemplo do IronPDF :
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
EO.Pdf: Requer ferramentas adicionais para lidar com a conversão de DOCX para PDF.
O IronPDF simplifica a conversão de DOCX para PDF diretamente em ambientes .NET com sua poderosa ferramenta de conversão de DOCX para PDF, exigindo apenas algumas linhas de código e economizando tempo e esforço. Por outro lado, o EO.Pdf não contém nenhuma ferramenta integrada para conversão de DOCX para PDF, então você precisará recorrer a bibliotecas externas para isso.
Resumo da comparação dos exemplos de código

Para saber mais sobre o vasto conjunto de recursos que o IronPDF oferece e vê-los em ação, confira os guias práticos do IronPDF , que exploram detalhadamente cada recurso, explicam como funcionam e fornecem as habilidades necessárias para você se tornar um profissional de PDF.
Preços e licenciamento: IronPDF vs. Biblioteca EO.PDF
IronPDF
O IronPDF possui diferentes níveis e recursos adicionais para a compra de uma licença. Os desenvolvedores também podem adquirir o Iron Suite , que dá acesso a todos os produtos da Iron Software pelo preço de dois. Se você ainda não está pronto para comprar uma licença, o IronPDF oferece um período de teste gratuito para que você possa explorar todos os recursos disponíveis antes de se comprometer com a aquisição de uma licença.
-
Licenças perpétuas: Oferecemos uma variedade de licenças perpétuas, dependendo do tamanho da sua equipe, das necessidades do seu projeto e do número de locais. Cada tipo de licença inclui suporte por e-mail.
-
Licença Lite: Esta licença custa US$ 799 e dá suporte a um desenvolvedor, um local e um projeto.
-
Licença Plus: Com suporte para três desenvolvedores, três locais e três projetos, esta é a próxima etapa em relação à licença Lite e custa $1,199. A licença Plus oferece suporte por chat e por telefone, além do suporte básico por e-mail.
-
Licença Profissional: Esta licença é adequada para equipes maiores, suportando dez desenvolvedores, dez locais e dez projetos para $2,399. Oferece os mesmos canais de suporte ao cliente que os planos anteriores, mas também oferece suporte para compartilhamento de tela.
-
Redistribuição livre de royalties: O licenciamento do IronPDF também oferece cobertura de redistribuição livre de royalties por um adicional $2,399.
-
Suporte ininterrupto ao produto: A IronPDF oferece acesso a atualizações contínuas do produto, atualizações de recursos de segurança e suporte de sua equipe de engenharia por $1,199/ano ou por uma compra única de $2,399 para cobertura de 5 anos.
- Iron Suite: Por $1,498, você terá acesso a todos os produtos da Iron Software , incluindo IronPDF , IronOCR , IronWord , IronXL , IronBarcode , IronQR , IronZIP , IronPrint e IronWebScraper .

EO.Pdf
A EO.Pdf oferece uma pequena variedade de opções de licenciamento para seu produto.
Se você deseja adquirir apenas uma licença individual para o EO.Pdf, sem nenhum dos outros produtos oferecidos pela EO, você pode escolher entre as seguintes opções:
-** Licença única: $799.
-** Pacote com três licenças: $1,799.
-** Pacote Corporativo: $2,999.
-** Pacote Corporativo Plus: $4,499.
Documentação e suporte: IronPDF vs. EO.Pdf
IronPDF
-
Documentação completa: Documentação extensa e fácil de usar, abrangendo todos os recursos.
-
Suporte 24 horas por dia, 5 dias por semana: Suporte técnico ativo disponível.
-
Tutoriais em vídeo: Guias em vídeo passo a passo estão disponíveis no YouTube.
-
Fórum da Comunidade: Comunidade engajada para apoio adicional.
-
Atualizações regulares: Atualizações mensais do produto para garantir os recursos mais recentes e os patches de segurança.
- Referência da API em PDF: Oferece referências da API para que você possa aproveitar ao máximo o que nossas ferramentas têm a oferecer.
Para obter mais informações, consulte a extensa documentação do IronPDF e visite o canal da Iron Software no YouTube .
EO.Pdf
-
Referência da API: O arquivo EO.Pdf contém detalhes abrangentes sobre seus recursos na seção de referência da API, detalhando cada método e ferramenta dentro da biblioteca.
-
Documentação: O arquivo EO.Pdf contém extensa documentação em seu site, juntamente com exemplos de código para demonstrar cada recurso em ação.
- Fórum: No fórum de suporte do EO.Pdf, os usuários podem interagir entre si e com os desenvolvedores para resolver problemas, aprender a usar os diversos recursos da biblioteca e enviar feedback.
Conclusão
Em conclusão, ao escolher uma biblioteca de PDFs para suas tarefas relacionadas a PDFs, há muitos fatores a serem considerados. A biblioteca que você está analisando oferece todos os recursos de que você precisa? Ela é bem documentada e fácil de aprender? Qual é o preço em comparação com o seu orçamento? Esperamos que, após a aula de hoje, você se sinta mais confiante na hora de escolher a biblioteca certa para você e que possa usar nossos tópicos de comparação para comparar futuras bibliotecas por conta própria.
IronPDF é uma poderosa biblioteca de PDF que você pode ter à disposição, com um conjunto abrangente de recursos relacionados a PDF, compatibilidade robusta entre plataformas e documentação extensa. Desde funcionalidades simples, como a geração de PDFs a partir de vários tipos de arquivos, até recursos mais avançados, como criptografia e assinatura de PDFs, o IronPDF oferece tudo o que você precisa.
O EO.Pdf oferece um conjunto razoável de recursos para PDF, mas não possui o mesmo conjunto abrangente que o IronPDF oferece. Embora seja fácil de usar, tenha ferramentas de geração de PDF e documentação clara, o EO.Pdf é uma ótima opção se você não precisa de uma ampla gama de recursos.
Você pode experimentar o teste gratuito de 30 dias para conferir os recursos disponíveis.
Perguntas frequentes
Quais são as principais diferenças entre IronPDF e EO.Pdf?
O IronPDF oferece um conjunto mais abrangente de recursos, incluindo funcionalidades avançadas de PDF, compatibilidade robusta entre plataformas e documentação extensa. O EO.Pdf concentra-se nas funcionalidades básicas de PDF, com implementação mais simples e suporte limitado entre plataformas.
Como posso converter HTML para PDF usando uma biblioteca .NET?
Você pode usar o método RenderHtmlAsPdf do IronPDF para converter strings HTML em PDFs. Ele também permite converter arquivos HTML em PDFs usando o RenderHtmlFileAsPdf .
O IronPDF suporta assinaturas digitais em documentos PDF?
Sim, o IronPDF suporta assinaturas digitais, permitindo adicionar segurança e autenticidade aos seus documentos PDF.
O IronPDF pode ser usado em um ambiente Docker?
Sim, o IronPDF suporta implantação em ambientes Docker, proporcionando flexibilidade para aplicações multiplataforma.
Quais são as opções de licenciamento disponíveis para o IronPDF?
A IronPDF oferece diversas opções de licenciamento, incluindo as licenças Lite, Plus e Professional, com opções adicionais para redistribuição livre de royalties e suporte premium.
Como o EO.Pdf lida com a criptografia de PDFs?
O EO.Pdf oferece recursos básicos de criptografia de PDF, permitindo que você proteja seus documentos PDF com senha.
Existe algum período de teste gratuito disponível para o IronPDF?
Sim, o IronPDF oferece um período de teste gratuito, permitindo que os usuários explorem seus recursos e funcionalidades antes de efetuar a compra.
Que tipo de suporte o IronPDF oferece aos seus usuários?
O IronPDF oferece documentação completa, tutoriais em vídeo e suporte técnico 24 horas por dia, 5 dias por semana, garantindo que os usuários tenham os recursos necessários para utilizar a biblioteca de forma eficaz.
Posso fazer anotações em PDFs usando o IronPDF?
Sim, o IronPDF suporta anotações em PDF, permitindo adicionar comentários, destaques e outras marcações a documentos PDF.
Como se compara o suporte multiplataforma do EO.Pdf ao do IronPDF?
Embora o EO.Pdf seja projetado principalmente para Windows, com suporte limitado para macOS e Linux, o IronPDF oferece compatibilidade multiplataforma robusta, suportando Windows, Linux, Mac, Docker, Azure e AWS.



