Saltar al pie de página
COMPARACIONES DE PRODUCTOS

Una Comparación entre IronPDF y ExpertPDF para .NET

Los desarrolladores en C# siempre han enfrentado desafíos a la hora de leer, escribir, crear o convertir PDFs entre diferentes formatos de archivo. Sin embargo, con la aparición de numerosas librerías, estos problemas se han resuelto, y la fácil integración de estas librerías las ha hecho más populares y fáciles de usar en aplicaciones C#.

Este artículo tiene como objetivo comparar dos de las librerías PDF más populares para desarrolladores de .NET Framework y .NET Core:

  • IronPDF
  • ExpertPDF

Ambas librerías son librerías .NET C# que ofrecen métodos para generar, convertir y editar PDFs en .NET y .NET Core. La pregunta principal es decidir cuál de estas librerías PDF en C# es la más adecuada para nuestro proyecto. En este artículo, compararemos estas dos librerías de la manera más completa, resaltando sus características destacadas, para que puedas tomar una decisión informada al elegir la librería adecuada para tu proyecto.

Primero, echemos un vistazo a lo que ambas librerías tienen para ofrecer, y luego avanzaremos con la comparación propiamente dicha.

La biblioteca de IronPDF

IronPDF es una solución completa de librería PDF .NET que es particularmente beneficiosa para los desarrolladores en C#. Con esta librería, puedes implementar fácilmente todas las funcionalidades necesarias para crear un excelente lector de PDF o visor de PDF en C#.

IronPDF tiene un motor Chromium .NET que renderiza contenido HTML a documentos PDF, facilitando el diseño o posicionamiento de PDFs sin requerir APIs complejas. Su convertidor de HTML a PDF permite la creación de una librería PDF .NET usando HTML5, CSS, JavaScript e imágenes. Además, te permite editar PDFs, agregar encabezados y pies de página, y extraer imágenes de PDFs con facilidad. Además, hace que leer texto de PDF sea un proceso sencillo.

Características

Crear archivos PDF (HTML a PDF)

  • Crear archivos PDF desde HTML, CSS y JavaScript
  • Generar documentos PDF desde la URL de un sitio web
  • Cargar URLs de páginas web con credenciales de inicio de sesión personalizadas

Editor de PDF sin Adobe Acrobat Reader

  • Llenar y leer campos de datos de formularios totalmente editables en PDF
  • Extraer texto e imágenes de PDFs
  • Estampar contenido HTML en cualquier página existente
  • Agregar encabezados y pies de página en HTML
  • Agregar anotaciones y firmar digitalmente documentos PDF

Manipulación de documentos PDF

  • Cargar y analizar documentos existentes
  • Unir y dividir contenido en documentos
  • Agregar marcas de agua, texto y activos

Convertir desde múltiples formatos de archivo

  • Convertir ASPX WebForms con solo tres líneas de código
  • Convertir archivos HTML a PDF
  • Imágenes (PNG, JPG, GIF, TIFF) a PDF

Guardar e imprimir

  • Guardar archivo en datos binarios o MemoryStreams
  • Imprimir tipos de medios CSS
  • Convertir archivos PDF en un objeto de Documento de Impresión e imprimir sin Adobe

ExpertPDF

Visite el Sitio Oficial de ExpertPDF para Información Detallada para más información sobre su librería .NET que ofrece a los desarrolladores convertir de HTML a PDF al instante. Si necesitas generar informes en PDF o crear un lector de PDF, ya no tienes que usar software generador de informes complejo.

ExpertPDF es fácil de usar pero a la vez es un potente editor de PDF. Contiene un convertidor HTML a PDF de alta calidad que puede implementarse en cualquier aplicación .NET en cuestión de minutos. Funciona con .NET Framework, .NET Core, .NET 5 y .NET 6.

Es una poderosa librería .NET que te ayuda a crear visores de PDF y documentos desde cualquier URL de página web o marcado HTML en bruto, cadena o archivo en aplicaciones .NET Framework o .NET Core.

Características destacadas

Las siguientes son las características importantes:

  • Convertir página web URL a PDF
  • Convertir cadena HTML a PDF
  • Múltiples opciones de archivo de salida
  • Establecer márgenes y tamaño de página
  • Establecer encabezados y pies de página
  • Agregar saltos de página automáticos y personalizados
  • Convertir solo una parte específica de la página web a PDF
  • Ocultar elementos específicos de la página al convertir a PDF
  • Unir múltiples páginas web en un solo PDF
  • Convertir páginas web a PDF que requieran autenticación
  • Seleccionar tipo de medios CSS (pantalla o impresión) para renderizar
  • Soporte para marcadores
  • Soporte para firma digital
  • Recuperar posiciones de elementos HTML en PDF
  • Soporte para el último HTML5/CSS3
  • Soporte para fuentes web como open type y true type
  • Conversiones de Tipo de Archivo:
    • Convertidor de PDF a Texto
    • Convertidor de HTML a PDF
    • Convertidor de HTML a Imagen
    • Convertidor de PDF a Imagen
    • Convertidor de RTF a PDF

El resto del artículo cubrirá los siguientes temas:

  1. Crear un Proyecto de Consola
  2. Instalación de IronPDF
  3. Instalación de ExpertPDF
  4. Crear PDF desde una URL
  5. Crear PDF desde Cadena de Entrada HTML
  6. Fusionar Múltiples PDFs en un solo PDF
  7. Convertir Imágenes a PDF
  8. Licencias y Precios
  9. Conclusión

1. Crear un Proyecto de Consola

Sigue los pasos para crear una aplicación de consola en C# usando Visual Studio 2022:

  • Abre Visual Studio 2022 y haz clic en crear un nuevo proyecto

    Visual Studio 2022

  • Selecciona Aplicación de Consola C# y haz clic en siguiente

    Cuadro de Diálogo de Nuevo Proyecto

  • En la siguiente pantalla, escribe el nombre de tu proyecto y haz clic en siguiente

    Formularios Web

  • Elige el .NET Framework para tu aplicación. Utilizaremos la última versión 6.0.

    Información Adicional

Ahora nuestro proyecto de Consola está creado y estamos listos para probar nuestras librerías. Sin embargo, todavía necesitamos configurarlas en nuestro proyecto. Primero instalemos IronPDF.

2. Instalación de IronPDF

Existen múltiples formas de descargar e instalar la librería IronPDF. Estos son los siguientes:

  1. Usando Visual Studio
  2. Descargando el Paquete NuGet directamente
  3. Descargando la Librería IronPDF .DLL

2.1. Usando Visual Studio

Visual Studio en sí proporciona el Administrador de Paquetes NuGet para instalar todos los paquetes NuGet en proyectos C#. Puedes acceder a él ya sea a través de:

• Menú de Proyecto Herramientas, o • Haciendo clic derecho en el proyecto en el Explorador de Soluciones

![Explorador de Soluciones](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-5.webp)

![Project Menu > Manage NuGet Packages](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-6.webp)

Una vez seleccionado, busca el paquete de NuGet IronPDF e instálalo:

2.2. Descargar el paquete NuGet directamente

Otra método es descargar IronPDF desde el sitio web de NuGet. Visita la Página de NuGet IronPDF directamente y descarga el paquete. Sigue los pasos:

• Ve a Paquete NuGet IronPDF • Selecciona "Descargar Paquete" • Haz doble clic en el paquete descargado • El paquete entonces se instalará • Recarga Visual Studio y comienza a usarlo

2.4. Instalar IronPDF: Descargar la biblioteca

También puedes descargar el archivo .DLL IronPDF directamente desde el sitio web de IronPDF. Haz clic en Descargar IronPDF DLL para instalar.

A continuación, referencia IronPDF en tu proyecto siguiendo estos pasos:

• Haz clic derecho en la Solución en el Explorador de Soluciones • Selecciona "Agregar Referencia" • Busca la librería IronPDF.dll • Haz clic en OK y ¡listo!

¡Todo listo! Ahora IronPDF está instalado y listo para usarse. Sin embargo, antes de eso, instalaremos ExpertPDF para la comparación.

3. Instalación de ExpertPDF

Hay dos formas de descargar e instalar la Librería ExpertPDF:

• Usando el Administrador de Paquetes NuGet de Visual Studio para .NET Framework, .NET Core, .NET 5, .NET 6 • Descargando ensamblados (versiones antiguas de .NET Framework)

Vamos a trabajar con el nuevo .NET Framework, así que instalaremos ExpertPDF usando el Administrador de Paquetes NuGet.

3.1. Usando Visual Studio NuGet Package Manager

Al igual que IronPDF, puedes acceder al Administrador de Paquetes NuGet mediante:

• Menú de Proyecto Herramientas • Haciendo clic derecho en el proyecto en el Explorador de Soluciones

![Explorador de Soluciones](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-7.webp)

![Project Menu > Manage NuGet Packages](/static-assets/pdf/blog/expert-pdf-net-library-alternatives/expert-pdf-net-library-alternatives-8.webp)

Una vez seleccionado, busca el paquete de NuGet ExpertPDF e instálalo:

Nota: ExpertPDF solo admite el sistema operativo Windows.

4. Crear PDF desde una URL

Ambas librerías tienen la capacidad de convertir marcado HTML a PDF. Ahora, veamos el código en C# para cada librería una por una.

4.1. URL a PDF usando IronPDF

IronPDF es muy directo al renderizar HTML desde URLs existentes como PDF. Tiene un nivel muy alto de soporte para CSS, JavaScript, imágenes y Formularios.

El siguiente ejemplo de código crea un PDF directamente desde una URL de sitio web.

// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the specified URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the rendered PDF to a file
pdf.SaveAs("url.pdf");
// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render the specified URL as a PDF
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");
// Save the rendered PDF to a file
pdf.SaveAs("url.pdf");
' Import the IronPdf library
Imports IronPdf

' Initialize a new renderer
Private renderer As New ChromePdfRenderer()
' Render the specified URL as a PDF
Private pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")
' Save the rendered PDF to a file
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

4.2. URL a PDF usando ExpertPDF

ExpertPDF convierte URL a PDF usando un método savePdfFromUrlToFile, que es rápido, seguro y eficiente. El formateo de la página se guarda tal como está en el navegador web real.

// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf");
' Import the ExpertPdf.HtmlToPdf namespace
Imports ExpertPdf.HtmlToPdf

' Initialize a new PdfConverter
Private pdfConverter As New PdfConverter()
' Use PdfConverter to save a webpage URL directly to a PDF file
pdfConverter.SavePdfFromUrlToFile("https://www.html-to-pdf.net/", "output.pdf")
$vbLabelText   $csharpLabel

5. Crear PDF desde Cadena de Entrada HTML

IronPDF y Expert PDF ambas ofrecen la capacidad de crear PDFs desde una cadena de marcado que contiene HTML.

5.1. Cadena de entrada HTML usando IronPDF

El siguiente fragmento de código demuestra cómo se renderiza una imagen de documento PDF usando una cadena de entrada HTML.

// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render a PDF from HTML string and save it
var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
pdfDoc1.SaveAs("pixel-perfect.pdf");

// Render HTML with external assets and save it
var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
pdfDoc2.SaveAs("html-with-assets.pdf");
// Import the IronPdf library
using IronPdf;

// Initialize a new renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Render a PDF from HTML string and save it
var pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
pdfDoc1.SaveAs("pixel-perfect.pdf");

// Render HTML with external assets and save it
var pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
pdfDoc2.SaveAs("html-with-assets.pdf");
' Import the IronPdf library
Imports IronPdf

' Initialize a new renderer
Private renderer As New ChromePdfRenderer()
' Render a PDF from HTML string and save it
Private pdfDoc1 = renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
pdfDoc1.SaveAs("pixel-perfect.pdf")

' Render HTML with external assets and save it
Dim pdfDoc2 = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
pdfDoc2.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

5.2. Cadena de entrada HTML usando Expert PDF

ExpertPDF HTML To PDF converter admite la conversión de cadena HTML a PDF. El código es simple y autoexplicativo como URL a PDF:

// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
// Import the ExpertPdf.HtmlToPdf namespace
using ExpertPdf.HtmlToPdf;

// Initialize a new PdfConverter
PdfConverter pdfConverter = new PdfConverter();
// Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf");
' Import the ExpertPdf.HtmlToPdf namespace
Imports ExpertPdf.HtmlToPdf

' Initialize a new PdfConverter
Private pdfConverter As New PdfConverter()
' Use PdfConverter to save an HTML string to a PDF file
pdfConverter.SavePdfFromHtmlStringToFile("<h1>PDF using Expert PDF</h1>", "html-to-pdf.pdf")
$vbLabelText   $csharpLabel

El primer argumento es la cadena HTML real, y el segundo argumento es el nombre del archivo al que se guardará el documento escaneado.

Ejemplo de documentación de Bootstrap

Las librerías técnicas se benefician de una documentación clara con ejemplos de código. Esta demostración de Bootstrap 5 muestra la capacidad de IronPDF para renderizar documentación técnica con resaltado de sintaxis, alertas y diseños estructurados.

using IronPdf;

var renderer = new ChromePdfRenderer();

string technicalDocs = @"
<!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>
        .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; }
        .api-method { font-family: 'Courier New', monospace; color: #0d6efd; }
        @media print { .card, .alert { 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-header bg-dark text-white'>
                <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2>
            </div>
            <div class='card-body'>
                <h4>RenderHtmlAsPdf() Method</h4>
                <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p>

                <div class='code-block mb-3'>
                    <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code>
                </div>

                <div class='row mt-4'>
                    <div class='col-md-6'>
                        <h5 class='text-primary'>Parameters</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>htmlContent</code></td>
                                <td>String containing HTML to convert</td>
                            </tr>
                        </table>
                    </div>
                    <div class='col-md-6'>
                        <h5 class='text-success'>Returns</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>PdfDocument</code></td>
                                <td>Generated PDF document object</td>
                            </tr>
                        </table>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='alert alert-success mb-0'>
                    <h6 class='alert-heading'>✓ Supported Features</h6>
                    <ul class='mb-0 small'>
                        <li>HTML5 semantic tags</li>
                        <li>CSS3 with Flexbox/Grid</li>
                        <li>JavaScript execution</li>
                        <li>External stylesheets</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-info mb-0'>
                    <h6 class='alert-heading'>ⓘ Rendering Engine</h6>
                    <ul class='mb-0 small'>
                        <li>Chrome V8 Engine</li>
                        <li>98% browser fidelity</li>
                        <li>Sub-second rendering</li>
                        <li>Async/await support</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-warning mb-0'>
                    <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6>
                    <ul class='mb-0 small'>
                        <li>Complex API structure</li>
                        <li>Limited CSS3 support</li>
                        <li>No native JavaScript</li>
                        <li>Requires configuration</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Code Example Comparison</h5>
            </div>
            <div class='card-body'>
                <div class='row'>
                    <div class='col-md-6'>
                        <h6 class='text-primary'>IronPDF (Simple)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");</code></pre>
                        </div>
                        <div class='badge bg-success mt-2'>3 Lines</div>
                    </div>
                    <div class='col-md-6'>
                        <h6 class='text-warning'>ExpertPDF (Complex)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var converter = new HtmlToPdfConverter();
converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
converter.NavigationTimeout = 60;
byte[] result = converter.GetPdfBytesFromHtmlString(html);
File.WriteAllBytes("output.pdf", result);</code></pre>
                        </div>
                        <div class='badge bg-warning text-dark mt-2'>5+ Lines</div>
                    </div>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(technicalDocs);
pdf.SaveAs("technical-documentation.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string technicalDocs = @"
<!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>
        .code-block { background: #f8f9fa; border-left: 3px solid #0d6efd; padding: 15px; border-radius: 4px; }
        .api-method { font-family: 'Courier New', monospace; color: #0d6efd; }
        @media print { .card, .alert { 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-header bg-dark text-white'>
                <h2 class='mb-0'>API Reference - HTML to PDF Conversion</h2>
            </div>
            <div class='card-body'>
                <h4>RenderHtmlAsPdf() Method</h4>
                <p class='lead'>Converts HTML content to PDF with full CSS3 and JavaScript support.</p>

                <div class='code-block mb-3'>
                    <code class='api-method'>PdfDocument RenderHtmlAsPdf(string htmlContent)</code>
                </div>

                <div class='row mt-4'>
                    <div class='col-md-6'>
                        <h5 class='text-primary'>Parameters</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>htmlContent</code></td>
                                <td>String containing HTML to convert</td>
                            </tr>
                        </table>
                    </div>
                    <div class='col-md-6'>
                        <h5 class='text-success'>Returns</h5>
                        <table class='table table-sm table-bordered'>
                            <tr>
                                <td><code>PdfDocument</code></td>
                                <td>Generated PDF document object</td>
                            </tr>
                        </table>
                    </div>
                </div>
            </div>
        </div>

        <div class='row g-3 mb-4'>
            <div class='col-md-4'>
                <div class='alert alert-success mb-0'>
                    <h6 class='alert-heading'>✓ Supported Features</h6>
                    <ul class='mb-0 small'>
                        <li>HTML5 semantic tags</li>
                        <li>CSS3 with Flexbox/Grid</li>
                        <li>JavaScript execution</li>
                        <li>External stylesheets</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-info mb-0'>
                    <h6 class='alert-heading'>ⓘ Rendering Engine</h6>
                    <ul class='mb-0 small'>
                        <li>Chrome V8 Engine</li>
                        <li>98% browser fidelity</li>
                        <li>Sub-second rendering</li>
                        <li>Async/await support</li>
                    </ul>
                </div>
            </div>
            <div class='col-md-4'>
                <div class='alert alert-warning mb-0'>
                    <h6 class='alert-heading'>⚠ ExpertPDF Notes</h6>
                    <ul class='mb-0 small'>
                        <li>Complex API structure</li>
                        <li>Limited CSS3 support</li>
                        <li>No native JavaScript</li>
                        <li>Requires configuration</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class='card shadow-sm'>
            <div class='card-header bg-primary text-white'>
                <h5 class='mb-0'>Code Example Comparison</h5>
            </div>
            <div class='card-body'>
                <div class='row'>
                    <div class='col-md-6'>
                        <h6 class='text-primary'>IronPDF (Simple)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");</code></pre>
                        </div>
                        <div class='badge bg-success mt-2'>3 Lines</div>
                    </div>
                    <div class='col-md-6'>
                        <h6 class='text-warning'>ExpertPDF (Complex)</h6>
                        <div class='code-block'>
                            <pre class='mb-0'><code>var converter = new HtmlToPdfConverter();
converter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
converter.NavigationTimeout = 60;
byte[] result = converter.GetPdfBytesFromHtmlString(html);
File.WriteAllBytes("output.pdf", result);</code></pre>
                        </div>
                        <div class='badge bg-warning text-dark mt-2'>5+ Lines</div>
                    </div>
                </div>
            </div>
            <div class='card-footer text-muted'>
                <small><strong>Comparison:</strong> IronPDF provides a more intuitive API with less configuration overhead for common use cases.</small>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(technicalDocs);
pdf.SaveAs("technical-documentation.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Salida: Una documentación técnica profesional en PDF con tarjetas, alertas, tablas y bloques de código de Bootstrap 5. IronPDF renderiza de manera precisa toda la tipografía, utilidades de espaciado y diseños de cuadrícula, demostrando capacidades superiores de generación de documentación.

Para detalles de soporte completos del marco CSS, vea la Guía de CSS de Bootstrap & Flexbox.

6. Unir múltiples archivos PDF en un solo PDF

Tanto IronPDF como ExpertPDF ofrecen la capacidad de fusionar múltiples archivos PDF en un solo archivo PDF. Esta característica es útil para consolidar datos dispersos y enviarlos por internet de manera más eficiente.

6.1. Unir usando IronPDF

El siguiente código renderiza dos PDFs creados a partir de diferentes cadenas HTML y luego los fusiona usando el método Merge. Esto es una sola línea y es muy fácil de usar. Se pueden agregar más opciones a la configuración del PDF mientras se renderiza.

// Import the IronPdf library
using IronPdf;

// Define HTML strings to convert to PDF
var htmlA = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>";

var htmlB = @"<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_B] 2nd Page</p>";

// Initialize a new renderer
var renderer = new ChromePdfRenderer();

// Render HTML strings as PDFs
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the PDF documents
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF
mergedPdf.SaveAs("Merged.pdf");
// Import the IronPdf library
using IronPdf;

// Define HTML strings to convert to PDF
var htmlA = @"<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>";

var htmlB = @"<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_B] 2nd Page</p>";

// Initialize a new renderer
var renderer = new ChromePdfRenderer();

// Render HTML strings as PDFs
var pdfDocA = renderer.RenderHtmlAsPdf(htmlA);
var pdfDocB = renderer.RenderHtmlAsPdf(htmlB);

// Merge the PDF documents
var mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB);

// Save the merged PDF
mergedPdf.SaveAs("Merged.pdf");
' Import the IronPdf library
Imports IronPdf

' Define HTML strings to convert to PDF
Private htmlA = "<p> [PDF_A] </p>
        <p> [PDF_A] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_A] 2nd Page</p>"

Private htmlB = "<p> [PDF_B] </p>
        <p> [PDF_B] 1st Page </p>
        <div style='page-break-after: always;'></div>
        <p> [PDF_B] 2nd Page</p>"

' Initialize a new renderer
Private renderer = New ChromePdfRenderer()

' Render HTML strings as PDFs
Private pdfDocA = renderer.RenderHtmlAsPdf(htmlA)
Private pdfDocB = renderer.RenderHtmlAsPdf(htmlB)

' Merge the PDF documents
Private mergedPdf = PdfDocument.Merge(pdfDocA, pdfDocB)

' Save the merged PDF
mergedPdf.SaveAs("Merged.pdf")
$vbLabelText   $csharpLabel

El método Merge también tiene una sobrecarga que acepta múltiples documentos en forma de objetos Enumerable. Puedes ver un ejemplo de su uso en este Ejemplo de Código de IronPDF para Fusionar PDFs.

Ten en cuenta que si los archivos PDF que se están fusionando contienen formularios editables, los campos del formulario del PDF resultante tendrán sus nombres con un número de índice añadido.

6.2. Unir usando ExpertPDF

ExpertPDF utiliza un componente de Fusionar PDF para completar esta tarea. Este debe ser instalado desde el Administrador de Paquetes NuGet para poder usarlo. Hay un método AppendPDFFile que añade un archivo PDF a un objeto de clase PDFMerge. El código para fusionar los dos PDFs creados previamente por ExpertPDF es el siguiente:

// Import the ExpertPdf.MergePdf namespace
using ExpertPdf.MergePdf;

// Initialize a new PDFMerge object
PDFMerge pdfMerge = new PDFMerge();
// Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf");
pdfMerge.AppendPDFFile("html-to-pdf.pdf");
// Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf");
// Import the ExpertPdf.MergePdf namespace
using ExpertPdf.MergePdf;

// Initialize a new PDFMerge object
PDFMerge pdfMerge = new PDFMerge();
// Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf");
pdfMerge.AppendPDFFile("html-to-pdf.pdf");
// Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf");
' Import the ExpertPdf.MergePdf namespace
Imports ExpertPdf.MergePdf

' Initialize a new PDFMerge object
Private pdfMerge As New PDFMerge()
' Append PDF files to the merge object
pdfMerge.AppendPDFFile("output.pdf")
pdfMerge.AppendPDFFile("html-to-pdf.pdf")
' Save the merged PDF to a file
pdfMerge.SaveMergedPDFToFile("merged.pdf")
$vbLabelText   $csharpLabel

7. Convertir Imágenes a PDF

IronPDF tiene la capacidad de convertir una variedad de imágenes a archivos PDF, mientras que ExpertPDF no ofrece esta característica. Sin embargo, ExpertPDF puede extraer imágenes de archivos PDF, y también puede convertir archivos PDF a imágenes, una característica que IronPDF también proporciona.

7.1. Imágenes a PDF usando IronPDF

En IronPDF, los documentos PDF se pueden crear fácilmente a partir de una o más imágenes utilizando la clase ImageToPdfConverter. Puedes cargar las imágenes desde cualquier carpeta en tu aplicación.

// Import the IronPdf namespace
using IronPdf;

// Specify the folder containing the image files
var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets")
                  .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg"));

// Convert the images to a PDF document
var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles);
// Save the PDF document
pdfDocument.SaveAs(@"C:\project\composite.pdf");
// Import the IronPdf namespace
using IronPdf;

// Specify the folder containing the image files
var imageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets")
                  .Where(file => file.EndsWith(".jpg") || file.EndsWith(".jpeg"));

// Convert the images to a PDF document
var pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles);
// Save the PDF document
pdfDocument.SaveAs(@"C:\project\composite.pdf");
' Import the IronPdf namespace
Imports IronPdf

' Specify the folder containing the image files
Private imageFiles = System.IO.Directory.EnumerateFiles("C:\project\assets").Where(Function(file) file.EndsWith(".jpg") OrElse file.EndsWith(".jpeg"))

' Convert the images to a PDF document
Private pdfDocument = ImageToPdfConverter.ImageToPdf(imageFiles)
' Save the PDF document
pdfDocument.SaveAs("C:\project\composite.pdf")
$vbLabelText   $csharpLabel

Además de convertir una variedad de imágenes en archivos PDF, IronPDF también puede convertir documentos escaneados, documentos en papel y documentos empresariales en imágenes separadas. También puede extraer imágenes de estos tipos de archivos.

8. Licencias y Precios

IronPDF es una librería PDF en C# completamente comercial y abierta disponible en el sitio web de IronPDF. Es gratuita para desarrollo privado y puede obtenerse una licencia en cualquier momento para usos comerciales. Una variedad de Licencias están disponibles para proyectos únicos, desarrolladores individuales o múltiples, agencias y corporaciones globales. También admite la redistribución SaaS y OEM.

Opciones de Licencias de IronPDF

Todas las licencias ofrecen una garantía de devolución de dinero de 30 días junto con un año de soporte y actualizaciones de productos. Las licencias son perpetuas, lo que significa una compra única sin tarifas adicionales. El paquete Lite para un solo desarrollador y un solo proyecto comienza desde $799.

ExpertPDF ofrece la compra de licencias por desarrollador o por compañía. Puedes probar ExpertPDF gratis. Puedes verificar la lista de características de la licencia en la figura siguiente.

¡Opciones de Licencias de ExpertPDF

ExpertComponents Toolkit Total la licencia de desarrollador comienza desde $850, y ExpertPDF Toolkit comienza desde $750. También puedes comprar componentes individuales. La Lista de Precios Completa de ExpertPDF está disponible en el sitio web.

9. Conclusión

IronPDF renderiza HTML a PDF localmente, no requiere conexión a internet. En realidad, crea implícitamente un objeto de un navegador web estándar y compatible real. El renderizado HTML es completamente preciso y en formato vectorial, lo cual es adecuado para los más altos estándares de impresión comercial. La salida es limpia, se genera un PDF de alta calidad. Puede obtenerse una licencia para su uso comercial, y todos sus precios están listados en su sitio web sin tarifas ocultas.

La Librería de Conversión HTML a PDF de ExpertPDF es una herramienta versátil que puede convertir páginas web y código HTML a documentos PDF, generar informes PDF desde páginas web ASP.NET, e incluso firmar contratos con firmas electrónicas. Es gratuita para usar pero también puede obtenerse una licencia para características adicionales.

Mientras que ambas librerías son capaces de trabajar con archivos PDF y convertir desde formatos populares, IronPDF tiene algunas ventajas sobre ExpertPDF. IronPDF ofrece conversión desde una gama más amplia de formatos, incluyendo XML, imágenes, y AngularJS, así como características más robustas para generar, formatear y editar PDFs. IronPDF es una solución que ahorra tiempo y se recomienda para desarrolladores pragmáticos que buscan eficiencia.

ExpertPDF viene en componentes separados que deben instalarse individualmente, mientras que IronPDF es un software completo con todas las funcionalidades en un solo lugar. ExpertPDF puede ser una buena opción para proyectos que solo requieran un componente único, como la conversión de HTML a PDF. Los paquetes de IronPDF ofrecen licencias de por vida sin costos continuos, mientras que ExpertPDF requiere renovaciones.

Por favor notaExpertPDF es una marca registrada de su respectivo propietario. Este sitio no está afiliado, respaldado, o patrocinado por ExpertPDF. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son solo para fines informativos y reflejan información públicamente disponible en el momento de la redacción.

Preguntas Frecuentes

¿Cómo puedo convertir HTML a PDF en C#?

Puedes usar el método RenderHtmlAsPdf de IronPDF para convertir cadenas de HTML en PDFs. También puedes convertir archivos HTML a PDFs usando RenderHtmlFileAsPdf.

¿Cuáles son las principales diferencias entre IronPDF y ExpertPDF?

IronPDF ofrece un soporte más amplio de formatos y funcionalidad integrada, incluyendo la creación de PDF desde HTML, edición y conversión de formatos. ExpertPDF proporciona una conversión sencilla de HTML a PDF con opciones para configuraciones de archivo de salida y firmas digitales.

¿Puedo extraer texto e imágenes de un PDF usando estas bibliotecas?

Sí, IronPDF te permite extraer texto e imágenes de documentos PDF, facilitando la manipulación y el análisis del contenido PDF dentro de las aplicaciones .NET.

¿Qué opciones de instalación están disponibles para estas bibliotecas PDF?

Tanto IronPDF como ExpertPDF pueden instalarse usando el Gestor de Paquetes NuGet de Visual Studio. Además, la biblioteca .DLL de IronPDF puede descargarse directamente desde el sitio web de IronPDF.

¿Es posible combinar múltiples archivos PDF en un solo documento?

Sí, IronPDF proporciona un método Merge para combinar múltiples PDF en un documento. ExpertPDF también ofrece un componente PDFMerge para fusionar PDFs.

¿Requiere IronPDF una conexión a internet para la conversión de HTML a PDF?

No, IronPDF no requiere una conexión a internet para la conversión de HTML a PDF, lo que lo convierte en una opción confiable para aplicaciones offline.

¿Cuáles son las opciones de licencia disponibles para IronPDF?

IronPDF ofrece varias opciones de licencia, incluyendo proyecto individual, desarrollador, agencia y licencias corporativas. Todas las licencias son perpetuas e incluyen una garantía de devolución de dinero de 30 días y un año de soporte y actualizaciones.

¿Puede ExpertPDF manejar firmas digitales para documentos PDF?

Sí, ExpertPDF soporta la firma digital de documentos PDF, permitiendo archivos PDF seguros y autenticados.

¿Qué desafíos enfrentan los desarrolladores C# al trabajar con PDFs, y cómo ayudan estas bibliotecas?

Los desarrolladores C# a menudo enfrentan desafíos al leer, escribir, crear y convertir PDFs. Bibliotecas como IronPDF y ExpertPDF simplifican estas tareas proporcionando herramientas poderosas para la conversión de HTML a PDF, edición de PDF y más, facilitando la integración fácil en aplicaciones C#.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más