Saltar al pie de página
COMPARACIONES DE PRODUCTOS

ActivePDF vs IronPDF: Tutorial de HTML a PDF y Comparación Exhaustiva

¿Cómo se comparan IronPDF y ActivePDF para la generación de PDF en .NET?

IronPDF ofrece una solución PDF todo en uno con renderizado basado en Chrome y diseño de API intuitivo, mientras que ActivePDF proporciona componentes empresariales modulares que requieren licencias independientes. IronPDF se destaca por su compatibilidad con estándares web modernos, implementación multiplataforma y rentabilidad para la mayoría de los escenarios de desarrollo .NET.

Cuando los desarrolladores necesitan capacidades confiables de generación de PDF en sus aplicaciones .NET , suelen surgir dos soluciones destacadas: IronPDF y ActivePDF. Ambas bibliotecas ofrecen funciones efectivas para crear , convertir y manipular documentos PDF , pero difieren significativamente en su enfoque, precio y complejidad de implementación.

IronPDF se destaca por su diseño de API intuitivo y su conversión completa de HTML a PDF mediante un motor de renderizado Chrome , mientras que ActivePDF proporciona soluciones enfocadas en la empresa a través de múltiples componentes especializados como WebGrabber para la conversión de HTML y DocConverter para la transformación de documentos . Este artículo proporciona una comparación en profundidad para ayudar a los desarrolladores a tomar una decisión informada para sus necesidades de procesamiento de PDF .

Comparación de productos
Comparación de IronPDF y ActivePDF para el desarrollo .NET
CategoríaCaracterística/AspectoIronPDFActivePDFVentajas clave
Arquitectura básicaFilosofía de diseñoBiblioteca todo en uno, fácil de usar para desarrolladoresComponentees modulares, orientados a la empresaIronPDF: Integración más sencilla
Complejidad de la APIIntuitive methods like `RenderHtmlAsPdf`()API específicas de los componentesIronPDF: Menos líneas de código
Curva de aprendizaje1-2 días típicos1-2 semanas típicasIronPDF: Adopción más rápida
Soporte de plataformaMultiplataformaWindows, Linux, macOS, DockerWindows Server principalmenteIronPDF: Verdadera multiplataforma
Versiones .NET.NET 10, 9, 8, 7, 6, 5, Core, Framework 4.6.2+.NET Framework 4.5+, Core 1.0, Standard 1.0IronPDF: Compatibilidad moderna con .NET
Plataformas en la nubeAzure, AWS, Google Cloud optimizadoCompatibilidad limitada con la nubeIronPDF: Preparado para la nube nativa
HTML a PDFMotor de renderizadoMotor V8 de ChromeMotores nativos e IEIronPDF: Renderizado moderno
Compatibilidad con CSS3/HTML5Soporte completoSoporte parcialIronPDF: Estándares web modernos
Ejecución de JavaScriptCompatibilidad total con JavaScriptCompatibilidad limitada con JavaScriptIronPDF: Contenido dinámico
Fuentes webGoogle Fonts, fuentes del sistemaSólo fuentes de sistemaIronPDF: Flexibilidad tipográfica
Conversión de documentosFormatos CompatiblesHTML, DOCX, Imágenes, RTF, MD300+ formats (`DocConverter`)ActivePDF: Más formatos
DOCX a PDFBuilt-in `DocxToPdfRenderer`Conversión nativa de OfficeActivePDF: Mayor fidelidad
Procesamiento por LotesEnfoque programáticoCompatibilidad con carpetas vistasActivePDF: Automatización empresarial
RealizaciónVelocidad de renderizado HTML125 ms típico, 835 ms complejoVariable por motorIronPDF: Rendimiento constante
Uso de la memoriaMenos de 10 MB típicosSobrecarga basada en serviciosIronPDF: Menor huella
Soporte de ThreadingAsync/await nativo optimizadoServicio multihiloIronPDF: Mejor integración con .NET
Características del PDFManejo de FormulariosCrear, rellenar, aplanar formulariosFunciones avanzadas de formularios (Toolkit)ActivePDF: Formularios complejos
Cumplimiento de PDF/ACompatibilidad con PDF/A-3BVarios niveles de PDF/AActivePDF: Más opciones de conformidad
Capacidades de OCRMediante la integración de IronOCRComponentee OCR dedicadoAmbos: Soluciones disponibles
Firmas DigitalesFirmas integradas y visualesOpciones avanzadas de firmaActivePDF: Firmas empresariales
Experiencia del desarrolladorDocumentaciónTutoriales completos, ejemplos.Documentación tradicional sobre APIIronPDF: Mejores recursos de aprendizaje
Ejemplos de Códigomás de 100 ejemplos listos para usarEjemplos básicos en GitHubIronPDF: Amplios recursos
Mensajes de errorDescriptiva y prácticaMensajes a nivel de servicioIronPDF: Mejor depuración
Licensing & PricingNivel inicialLite: $799 (1 dev, 1 project)`WebGrabber`: $2,499+ per componentIronPDF: 70% menos de entrada
Team LicenseProfessional: $2,399 (10 devs)Se necesitan varios componentesIronPDF: Todo incluido
Opción SuiteIron Suite: $1,498 (9 products)Sin opción de suiteIronPDF: Valor excepcional
SoporteSoporte incluidoSí, asistencia técnica 24/5Acceso al portal de asistenciaIronPDF: Soporte directo de ingeniería
Tiempo de respuesta24-48 horas típicasVaría según el temaIronPDF: SLA predecible
Mejor paraCasos de UsoAplicaciones web modernas, desarrollo rápidoAutomatización empresarial, sistemas heredadosDepende del contexto
Tipos de proyectosSaaS, aplicaciones web, microserviciosGestión de documentos, procesamiento por lotesEn función de los requisitos
Nota. Comparación basada en las versiones actuales a partir de 2025. ActivePDF ofrece componentes modulares para necesidades empresariales específicas, mientras que IronPDF proporciona una solución integrada. El precio varía significativamente en función de la selección de componentes para ActivePDF.

Comparar IronPDF con componentes ActivePDF

  • Obtenga la biblioteca de PDF IronPDF C#
  • Comparar las características de IronPDF y ActivePDF
  • Comparar código de URL a PDF
  • Comparar código de cadena HTML a PDF
  • Comparar licencias, opciones de software libre y más
Descargue la hoja de trucos completa para la generación de PDF en C# que compara las características de IronPDF y ActivePDF, ejemplos de código y prácticas recomendadas.

Resumen

¿Qué es la biblioteca C# IronPDF?

Iron Software es un proveedor de componentes líder en el mercado que ofrece IronPDF para la manipulación completa de PDF . IronPDF ofrece una solución integral para generar archivos PDF desde varios formatos al tiempo que ofrece un control programático completo sobre las propiedades del documento . Los desarrolladores prefieren IronPDF por su salida consistente y confiable y su API intuitiva que requiere un código mínimo, especialmente cuando se trabaja con estándares web modernos y marcos de JavaScript .

IronPDF es compatible con C# , VB.NET , ASP.NET , MVC, .NET Core , .NET 9 y .NET 10. Se ejecuta sin problemas en Windows , Linux , macOS , Docker , Azure , AWS y otras plataformas en la nube .

¿Qué son los componentes ActivePDF?

ActivePDF (ahora parte de Apryse) proporciona soluciones PDF enfocadas en empresas a través de múltiples componentes especializados. A diferencia del enfoque unificado de IronPDF, ActivePDF ofrece productos separados para diferentes tareas de PDF , lo que requiere una cuidadosa consideración de las opciones de licencia y las estrategias de implementación empresarial .

¿Qué es ActivePDF WebGrabber para la conversión de HTML a PDF?

ActivePDF WebGrabber está diseñado específicamente para convertir fuentes HTML (URL, archivos HTML o cadenas HTML ) al formato PDF . Proporciona opciones de configuración para las propiedades de la página , incluidos encabezados , pies de página , márgenes , marcas de agua y marcadores . WebGrabber es compatible con los motores de renderizado nativos e Internet Explorer.

¿Qué es ActivePDF DocConverter para la transformación de documentos?

ActivePDF DocConverter maneja la conversión de más de 300 formatos de archivos a PDF, incluidos documentos de Microsoft Office , imágenes , archivos CAD y más. Cuenta con automatización de carpetas supervisadas, capacidades de procesamiento por lotes y funciones de gestión de documentos de nivel empresarial.

¿Cómo se renderizan en PDF los frameworks CSS modernos como Bootstrap?

Las aplicaciones web contemporáneas dependen cada vez más de marcos CSS como Bootstrap, Foundation y Tailwind CSS para un desarrollo de interfaz de usuario consistente y receptivo. Las bibliotecas de generación de PDF deben representar con precisión estos marcos para mantener la calidad profesional del documento y la fidelidad del diseño. Comprender cómo cada biblioteca maneja el CSS responsivo y las fuentes web modernas es crucial para seleccionar la solución adecuada.

¿Cómo gestiona IronPDF la compatibilidad con Bootstrap y los marcos modernos?

El motor de renderizado Chromium de IronPDF garantiza un soporte completo para todos los frameworks y especificaciones CSS modernos, ofreciendo una representación con píxeles perfectos :

  • Bootstrap 5: renderizado completo de flexbox y CSS Grid con utilidades responsivas
  • Bootstrap 4: sistemas de tarjetas completos, componentes de navegación y diseños de formularios
  • Tailwind CSS: todas las clases de utilidad y las variantes responsivas se representan correctamente
  • Fundación: Soporte completo de sistemas de componentes y cuadrícula
  • CSS3 moderno: Flexbox, CSS Grid, propiedades personalizadas, animaciones, transiciones y transformaciones
  • Ejecución de JavaScript: Soporte completo para contenido dinámico e interactividad del marco

Validado con ejemplos de producción: la página de inicio de Bootstrap y las plantillas oficiales se convierten con la fidelidad precisa del navegador utilizando las opciones de renderizado de IronPDF .

Ejemplo de Código: Tabla de Precios de Servicio con Bootstrap

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapPricing = @"
<!DOCTYPE html>
<html>
<head>
    <link href='___PROTECTED_URL_198___ rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Service Plans</h1>

        <div class='row g-4'>
            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-light text-center py-3'>
                        <h3>Starter</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$29</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 100 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Basic templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Email support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 5 GB storage</li>
                            <li class='mb-2 text-muted'><i class='bi bi-x-circle'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-outline-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow border-primary'>
                    <div class='position-absolute top-0 start-50 translate-middle'>
                        <span class='badge bg-primary'>Most Popular</span>
                    </div>
                    <div class='card-header bg-primary text-white text-center py-3'>
                        <h3>Professional</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$99</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 1,000 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Premium templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 50 GB storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-dark text-white text-center py-3'>
                        <h3>Enterprise</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$299</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited conversions</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Custom templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Dedicated support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> SLA guarantee</li>
                        </ul>
                        <button class='btn btn-dark w-100 mt-auto'>Contact Sales</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapPricing);
pdf.SaveAs("pricing-table.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapPricing = @"
<!DOCTYPE html>
<html>
<head>
    <link href='___PROTECTED_URL_198___ rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Service Plans</h1>

        <div class='row g-4'>
            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-light text-center py-3'>
                        <h3>Starter</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$29</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 100 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Basic templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Email support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 5 GB storage</li>
                            <li class='mb-2 text-muted'><i class='bi bi-x-circle'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-outline-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow border-primary'>
                    <div class='position-absolute top-0 start-50 translate-middle'>
                        <span class='badge bg-primary'>Most Popular</span>
                    </div>
                    <div class='card-header bg-primary text-white text-center py-3'>
                        <h3>Professional</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$99</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 1,000 PDF conversions/month</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Premium templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> 50 GB storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Priority processing</li>
                        </ul>
                        <button class='btn btn-primary w-100 mt-auto'>Get Started</button>
                    </div>
                </div>
            </div>

            <div class='col-md-4'>
                <div class='card h-100 shadow-sm'>
                    <div class='card-header bg-dark text-white text-center py-3'>
                        <h3>Enterprise</h3>
                    </div>
                    <div class='card-body d-flex flex-column'>
                        <div class='text-center mb-4'>
                            <span class='h2'>$299</span>
                            <span class='text-muted'>/month</span>
                        </div>
                        <ul class='list-unstyled flex-grow-1'>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited conversions</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Custom templates</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Dedicated support</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> Unlimited storage</li>
                            <li class='mb-2'><i class='bi bi-check-circle text-success'></i> SLA guarantee</li>
                        </ul>
                        <button class='btn btn-dark w-100 mt-auto'>Contact Sales</button>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapPricing);
pdf.SaveAs("pricing-table.pdf");
$vbLabelText   $csharpLabel

Resultado: una tabla de precios profesional con la cuadrícula de tarjetas de Bootstrap, diseños de flexbox, posicionamiento de insignias y utilidades responsivas, todo conservado con precisión en el PDF.

¿Cuáles son las limitaciones de ActivePDF WebGrabber con la compatibilidad con el marco moderno?

ActivePDF WebGrabber proporciona conversión de HTML a PDF, pero utiliza motores de renderizado más antiguos con limitaciones significativas para los marcos CSS modernos:

  • Motor nativo: renderizado personalizado con compatibilidad limitada con CSS3
  • Motor de Internet Explorer: Representación heredada de IE, sin funciones CSS modernas
  • Sin compatibilidad con Bootstrap 4/5: las funciones Flexbox y CSS Grid no son compatibles
  • Limitaciones de Bootstrap 3: Solo los diseños basados en tablas funcionan de manera confiable
  • Limitaciones de JavaScript: Ejecución de JavaScript limitada en comparación con los navegadores modernos
  • Se requieren soluciones alternativas: los componentes Bootstrap complejos necesitan modificaciones CSS significativas

IronPDF: Soporte Completo para Bootstrap y Marcos Modernos

Impacto en el desarrollo: Las aplicaciones creadas con versiones modernas de Bootstrap (4+) requieren un trabajo adicional sustancial con ActivePDF WebGrabber. - JavaScript: Soporte completo para contenido dinámico e interactividad

  1. Probar y corregir manualmente cada componente de Bootstrap (proceso que consume tiempo y es propenso a errores)
    • Limitaciones de Bootstrap 3: Solo funcionan bien los diseños basados en tabla
    • Se Requieren Soluciones: Componentees Bootstrap complejos necesitan cambios significativos de CSS

Para proyectos con una gran inversión en Bootstrap o frameworks CSS modernos, las limitaciones de renderizado de ActivePDF WebGrabber pueden aumentar significativamente los costos de desarrollo y reducir la flexibilidad del diseño. Considere utilizar el renderizador Chrome de IronPDF para una representación Bootstrap precisa.

Para obtener una guía completa sobre la compatibilidad del marco Bootstrap, consulte la Guía CSS de Bootstrap y Flexbox .

¿Por qué los desarrolladores eligen IronPDF en lugar de ActivePDF?

La velocidad de renderizado de IronPDF completa la conversión de HTML a PDF en 835 milisegundos para sitios estáticos, lo que ofrece un rendimiento consistente en diferentes tipos de contenido. El uso de memoria de la biblioteca se ha optimizado para ocupar menos de 10 MB, con una reducción del 75 % en el uso de memoria al renderizar encabezados y pies de página .

Los desarrolladores aprecian el diseño sencillo de API de IronPDF, que permite la generación de PDF con solo tres líneas de código, en comparación con el proceso de varios pasos más complejo de ActivePDF. La documentación completa incluye más de 100 ejemplos de código y tutoriales detallados, lo que facilita que los equipos comiencen rápidamente a utilizar funciones como la generación de PDF asincrónica y el procesamiento por lotes .

¿Cuándo ActivePDF puede ser la mejor opción?

Las organizaciones con infraestructura ActivePDF existente o requisitos de flujo de trabajo empresarial específicos pueden encontrar beneficioso el enfoque modular de ActivePDF, a pesar del mayor costo y complejidad en comparación con las características de IronPDF .


Comparación

¿Cómo se comparan las características de ActivePDF y IronPDF?

¿Qué biblioteca ofrece mejores capacidades de conversión de HTML a PDF?

IronPDF utiliza un motor de renderizado Chrome V8 completo, que proporciona una fidelidad del navegador del 98 % o más con soporte completo para HTML5 , CSS3 , JavaScript y fuentes web . ActivePDF WebGrabber ofrece motores nativos e Internet Explorer, pero con ejecución de JavaScript limitada y compatibilidad con CSS3 . El motor nativo no respeta las hojas de estilo CSS y el motor de IE se basa en el obsoleto Internet Explorer 11, que carece de estándares web modernos como CSS Grid y diseños flexbox .

¿Cómo se comparan las bibliotecas en cuanto a compatibilidad de formatos de documentos?

Mientras que IronPDF se centra en formatos comunes ( HTML , DOCX , imágenes , RTF , Markdown ), ActivePDF DocConverter admite más de 300 formatos de archivo, incluidos archivos CAD, formatos de documentos heredados y formatos empresariales especializados. Esto hace que ActivePDF sea más adecuado para organizaciones que trabajan con diversos tipos de documentos, aunque las funciones de conversión de IronPDF cubren los formatos más utilizados en las aplicaciones modernas.

¿Qué hay de las funciones de manipulación de PDF?

Ambas bibliotecas ofrecen capacidades completas de manipulación de PDF :

2. ¿Cómo instalar IronPDF?


Paso 1: Instalación

¿Cómo se instala IronPDF?

¿Qué método de instalación debo utilizar para IronPDF?

Los desarrolladores pueden instalar IronPDF a través de varios métodos, siendo el Administrador de paquetes NuGet el más conveniente:

Administrador de paquetes NuGet

Abra el Administrador de paquetes NuGet en Visual Studio y busque IronPDF:

:InstallCmd
:InstallCmd
SHELL

Descargar IronPDF.dll manualmente

Alternativamente, descargue IronPDF.dll y agregue su referencia al proyecto utilizando métodos de instalación manual .

Alternativamente, descargue IronPDF.dll y refiéralo en su proyecto.

using IronPdf;
using IronPdf;
$vbLabelText   $csharpLabel

IronPDF es compatible con .NET 9 y 10 , junto con todas las versiones modernas de .NET, incluidas Core , Standard y Framework 4.6.2+ . Para instalaciones de plataformas específicas, consulte las guías para Linux , macOS , Docker , Azure y AWS .


¿Cómo instalo componentes de ActivePDF?

¿Cómo instalo ActivePDF WebGrabber ?

ActivePDF WebGrabber requiere un proceso de instalación más complejo:

  1. Descarga el instalador desde el sitio web de ActivePDF
  2. Ejecute el instalador con privilegios de administrador
  3. Configure el servicio WebGrabber durante la instalación
  4. Configure el servicio WebGrabber durante la instalación Después de la instalación, agregue la referencia de WebGrabber desde:

Después de la instalación, agregue la referencia WebGrabber desde: C:\Program Files\ActivePDF\WebGrabber\bin\APWebGrabber.Net45.dll

¿Cómo instalo ActivePDF DocConverter ?

DocConverter sigue un patrón de instalación similar:

  1. Descargue el instalador DocConverter
  2. Instale con derechos de administrador.
  3. Configure el Administrador de Configuraciones para el procesamiento por lotes
  4. Configure carpetas vigiladas si usa arrastrar y soltar.

Nota: Los componentes de ActivePDF requieren Windows Server y no admiten la implementación multiplataforma como IronPDF. Para escenarios de implementación modernos, considere las opciones en contenedores y el soporte nativo de la nube de IronPDF .


Tutoriales prácticos

¿Cómo convierto una cadena HTML en un archivo PDF?

Comparemos cómo ambas bibliotecas manejan una tarea común: convertir una cadena HTML en un archivo PDF .

¿Cómo convierte IronPDF cadenas HTML a PDF?

/**
 * HTML String to PDF
 * anchor-html-string-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";

    // Convert HTML string to PDF file
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Save the file
    pdf.SaveAs("E:/sample.pdf");
}
/**
 * HTML String to PDF
 * anchor-html-string-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";

    // Convert HTML string to PDF file
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Save the file
    pdf.SaveAs("E:/sample.pdf");
}
$vbLabelText   $csharpLabel

Ventajas clave del enfoque de IronPDF:

  • Manejo automático de codificación y renderizado
  • Manejo automático de codificación y renderizado
  • El motor Chrome integrado garantiza una representación precisa

3.2. Cadena HTML con ActivePDF WebGrabber

¿Cómo ActivePDF WebGrabber convierte cadenas HTML a PDF?

using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";

    // Assign source HTML to WebGrabber
    wg.CreateFromHTMLText = html;

    // Specify file directory
    wg.OutputDirectory = "E:/";

    // File name
    wg.NewDocumentName = "sample.pdf";

    // Convert source HTML to PDF file
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // HTML Source
    string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";

    // Assign source HTML to WebGrabber
    wg.CreateFromHTMLText = html;

    // Specify file directory
    wg.OutputDirectory = "E:/";

    // File name
    wg.NewDocumentName = "sample.pdf";

    // Convert source HTML to PDF file
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

¿Cómo manejan ambas bibliotecas HTML avanzado con estilo CSS?

El ejemplo muestra cómo ambas bibliotecas manejan HTML más complejo con estilo CSS :

Ventajas clave de IronPDF:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string advancedHtml = @"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .invoice { border: 1px solid #ccc; padding: 20px; }
            .header { background-color: #f0f0f0; padding: 10px; }
        </style>
    </head>
    <body>
        <div class='invoice'>
            <div class='header'>
                <h1>Invoice #12345</h1>
            </div>
            <form>
                <input type='text' name='customer' placeholder='Customer Name'>
            </form>
        </div>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(advancedHtml);
pdf.SaveAs("advanced-invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string advancedHtml = @"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .invoice { border: 1px solid #ccc; padding: 20px; }
            .header { background-color: #f0f0f0; padding: 10px; }
        </style>
    </head>
    <body>
        <div class='invoice'>
            <div class='header'>
                <h1>Invoice #12345</h1>
            </div>
            <form>
                <input type='text' name='customer' placeholder='Customer Name'>
            </form>
        </div>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(advancedHtml);
pdf.SaveAs("advanced-invoice.pdf");
$vbLabelText   $csharpLabel

La clase ChromePdfRenderer proporciona un amplio control sobre el proceso de renderizado , incluida la selección del tipo de medio CSS , la renderización del fondo y la creación automática de campos de formulario a partir de elementos de entrada HTML.


¿Cómo convierto un archivo HTML en un archivo PDF?

¿Cómo IronPDF convierte archivos HTML a PDF?

/**
 * HTML File to PDF
 * anchor-html-file-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Render HTML file to PDF
    var pdf = renderer.RenderHtmlFileAsPdf("E:/myHtmlFile.html");

    // Save to target location
    pdf.SaveAs("E:/Sample.pdf");
}
/**
 * HTML File to PDF
 * anchor-html-file-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Render HTML file to PDF
    var pdf = renderer.RenderHtmlFileAsPdf("E:/myHtmlFile.html");

    // Save to target location
    pdf.SaveAs("E:/Sample.pdf");
}
$vbLabelText   $csharpLabel

¿Cómo ActivePDF WebGrabber convierte archivos HTML a PDF?

using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify file path to be converted
    wg.URL = "E:/myHtmlFile.html";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Newly generated file name
    wg.NewDocumentName = "Sample.pdf";

    // Convert HTML file to PDF
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify file path to be converted
    wg.URL = "E:/myHtmlFile.html";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Newly generated file name
    wg.NewDocumentName = "Sample.pdf";

    // Convert HTML file to PDF
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

Tenga en cuenta que ActivePDF WebGrabber utiliza la propiedad URL para archivos locales, lo que puede resultar confuso para los desarrolladores que esperan un método específico del archivo. Para un manejo de archivos más intuitivo, consulte la guía de conversión de archivos HTML de IronPDF .


¿Cómo convierto una URL en un archivo PDF?

¿Cómo IronPDF convierte URL a PDF?

/**
 * URL to PDF
 * anchor-url-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Specify URL
    var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_199___");

    // Save the file
    pdf.SaveAs("E:/Sample.pdf");
}
/**
 * URL to PDF
 * anchor-url-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    // Create rendering converter
    var renderer = new ChromePdfRenderer();

    // Specify URL
    var pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_199___");

    // Save the file
    pdf.SaveAs("E:/Sample.pdf");
}
$vbLabelText   $csharpLabel

¿Cómo manejo la conversión de URL asincrónica con IronPDF?

IronPDF ofrece un excelente soporte asincrónico para un mejor rendimiento:

using IronPdf;
using System.Threading.Tasks;

static async Task Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure for complex pages
    renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
    renderer.RenderingOptions.WaitFor.JavaScript(1500); // Wait for JS

    // Async conversion
    var pdf = await renderer.RenderUrlAsPdfAsync("___PROTECTED_URL_200___");
    await pdf.SaveAsAsync("E:/async-sample.pdf");
}
using IronPdf;
using System.Threading.Tasks;

static async Task Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure for complex pages
    renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds
    renderer.RenderingOptions.WaitFor.JavaScript(1500); // Wait for JS

    // Async conversion
    var pdf = await renderer.RenderUrlAsPdfAsync("___PROTECTED_URL_200___");
    await pdf.SaveAsAsync("E:/async-sample.pdf");
}
$vbLabelText   $csharpLabel

La clase WaitFor proporciona un control preciso sobre el tiempo de renderizado, algo esencial para aplicaciones que utilizan mucho JavaScript . Los desarrolladores pueden esperar elementos específicos, estados inactivos de la red o eventos de JavaScript personalizados mediante escuchas de mensajes de JavaScript .

¿Cómo ActivePDF WebGrabber convierte URL a PDF?

using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify URL 
    wg.URL = "___PROTECTED_URL_201___";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Specify file name
    wg.NewDocumentName = "Sample.pdf";

    // Set timeout for conversion
    wg.TimeoutSpan = new TimeSpan(0, 0, 30);

    // Convert specified URL webpage to PDF
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    // Instantiate Object
    WebGrabber wg = new WebGrabber();

    // Specify URL 
    wg.URL = "___PROTECTED_URL_201___";

    // Specify the directory for newly generated file
    wg.OutputDirectory = "E:/";

    // Specify file name
    wg.NewDocumentName = "Sample.pdf";

    // Set timeout for conversion
    wg.TimeoutSpan = new TimeSpan(0, 0, 30);

    // Convert specified URL webpage to PDF
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

Para escenarios de conversión de URL más avanzados, incluida la autenticación y encabezados personalizados , consulte la guía de URL a PDF de IronPDF .


¿Cómo creo una marca de agua en un PDF?

¿Cómo gestiona IronPDF la marca de agua?

IronPDF proporciona marcas de agua flexibles a través de HTML/CSS:

/**
 * Watermark PDF
 * anchor-watermark-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Source HTML string
    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";

    // Create PDF
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Apply watermark with HTML/CSS
    pdf.ApplyWatermark("<h2 style='color:red; opacity:0.5'>CONFIDENTIAL</h2>", 
        rotation: 30, 
        opacity: 50);

    // Save the document
    pdf.SaveAs("E:/Sample.pdf");
}
/**
 * Watermark PDF
 * anchor-watermark-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Source HTML string
    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";

    // Create PDF
    var pdf = renderer.RenderHtmlAsPdf(html);

    // Apply watermark with HTML/CSS
    pdf.ApplyWatermark("<h2 style='color:red; opacity:0.5'>CONFIDENTIAL</h2>", 
        rotation: 30, 
        opacity: 50);

    // Save the document
    pdf.SaveAs("E:/Sample.pdf");
}
$vbLabelText   $csharpLabel

6.2. Marca de Agua con ActivePDF WebGrabber

// Image watermark
pdf.ApplyWatermark($@"<img src='logo.png' style='width:200px'>", 
    rotation: 0, 
    opacity: 30, 
    verticalAlignment: VerticalAlignment.Middle);

// Complex HTML watermark with positioning
string complexWatermark = @"
    <div style='text-align:center; font-family:Arial'>
        <h1 style='color:#ff0000'>DRAFT</h1>
        <p>Generated: " + DateTime.Now.ToString() + @"</p>
    </div>";

pdf.ApplyWatermark(complexWatermark, rotation: 45, opacity: 25);
// Image watermark
pdf.ApplyWatermark($@"<img src='logo.png' style='width:200px'>", 
    rotation: 0, 
    opacity: 30, 
    verticalAlignment: VerticalAlignment.Middle);

// Complex HTML watermark with positioning
string complexWatermark = @"
    <div style='text-align:center; font-family:Arial'>
        <h1 style='color:#ff0000'>DRAFT</h1>
        <p>Generated: " + DateTime.Now.ToString() + @"</p>
    </div>";

pdf.ApplyWatermark(complexWatermark, rotation: 45, opacity: 25);
$vbLabelText   $csharpLabel

¿Cómo crea ActivePDF marcas de agua?

El enfoque de ActivePDF se limita a marcas de agua de texto y requiere posicionamiento manual.

using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
    wg.CreateFromHTMLText = html;

    // Add text stamp as watermark
    wg.AddStampText(270.0f, 350.0f, "WaterMark");

    // Configure stamp appearance
    wg.StampFontSize = 20;
    wg.StampFont = "Times New Roman";
    wg.StampFontTransparency = 1f;
    wg.StampRotation = 45.0f;
    wg.StampColorNET = new ADK.PDF.Color() 
    { 
        Red = 255, 
        Green = 0, 
        Blue = 0, 
        Gray = 0 
    };

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
    wg.CreateFromHTMLText = html;

    // Add text stamp as watermark
    wg.AddStampText(270.0f, 350.0f, "WaterMark");

    // Configure stamp appearance
    wg.StampFontSize = 20;
    wg.StampFont = "Times New Roman";
    wg.StampFontTransparency = 1f;
    wg.StampRotation = 45.0f;
    wg.StampColorNET = new ADK.PDF.Color() 
    { 
        Red = 255, 
        Green = 0, 
        Blue = 0, 
        Gray = 0 
    };

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

7. Establecer Encabezados y Pies de Página para PDFs Para obtener capacidades de marca de agua más avanzadas, consulte los ejemplos de marcas de agua de IronPDF .


¿Cómo configuro encabezados y pies de página para archivos PDF?

¿Cómo agrega IronPDF encabezados y pies de página?

IronPDF ofrece encabezados y pies de página HTML complejos y de texto simple:

/**
 * Set Header Footers
 * anchor-headers-and-footers-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure text header/footer
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        LeftText = "Company Name",
        CenterText = "{page} of {total-pages}",
        RightText = "{date} {time}",
        DrawDividerLine = true,
        FontSize = 12,
        FontFamily = "Arial"
    };

    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        CenterText = "Copyright © 2025",
        RightText = "Page {page}",
        FontSize = 10
    };

    // HTML content
    string html = "<h1>Document Content</h1><p>Lorem ipsum...</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("E:/document.pdf");
}
/**
 * Set Header Footers
 * anchor-headers-and-footers-with-ironpdf
 **/
using IronPdf;

static void Main(string[] args)
{
    var renderer = new ChromePdfRenderer();

    // Configure text header/footer
    renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
    {
        LeftText = "Company Name",
        CenterText = "{page} of {total-pages}",
        RightText = "{date} {time}",
        DrawDividerLine = true,
        FontSize = 12,
        FontFamily = "Arial"
    };

    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
    {
        CenterText = "Copyright © 2025",
        RightText = "Page {page}",
        FontSize = 10
    };

    // HTML content
    string html = "<h1>Document Content</h1><p>Lorem ipsum...</p>";
    var pdf = renderer.RenderHtmlAsPdf(html);
    pdf.SaveAs("E:/document.pdf");
}
$vbLabelText   $csharpLabel

Para encabezados y pies de página más complejos usando HTML :

// HTML headers with dynamic content
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='display: flex; justify-content: space-between; padding: 10px;'>
            <img src='logo.png' style='height: 30px;'>
            <div>{page} / {total-pages}</div>
        </div>",
    Height = 50
};
// HTML headers with dynamic content
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = @"
        <div style='display: flex; justify-content: space-between; padding: 10px;'>
            <img src='logo.png' style='height: 30px;'>
            <div>{page} / {total-pages}</div>
        </div>",
    Height = 50
};
$vbLabelText   $csharpLabel
  • {page} - Número de página actual

  • {page} - Número de página actual
  • {url} - URL de origen (si aplica)
  • {date} - Fecha actual
  • {time} - Hora actual
  • {html-title} - Título HTML actual
  • {pdf-title} - Título de los metadatos del PDF
  • {pdf-title} - Título de metadatos del PDF

¿Cómo ActivePDF WebGrabber establece encabezados y pies de página?

using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = @"<h1 style='text-align:center;'>Page Content</h1>";
    wg.CreateFromHTMLText = html;

    // Configure header
    wg.HeaderHeight = 0.5f;
    wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
    wg.HeaderHTML += $"<div style='float: right;'>{DateTime.Now.ToShortDateString()}</div>";

    // Configure footer
    wg.FooterHeight = 0.5f;
    wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
using APWebGrabber;

static void Main(string[] args)
{
    WebGrabber wg = new WebGrabber();

    string html = @"<h1 style='text-align:center;'>Page Content</h1>";
    wg.CreateFromHTMLText = html;

    // Configure header
    wg.HeaderHeight = 0.5f;
    wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
    wg.HeaderHTML += $"<div style='float: right;'>{DateTime.Now.ToShortDateString()}</div>";

    // Configure footer
    wg.FooterHeight = 0.5f;
    wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";

    wg.OutputDirectory = "E:/";
    wg.NewDocumentName = "Sample.pdf";
    wg.ConvertToPDF();
}
$vbLabelText   $csharpLabel

Nota: ActivePDF utiliza marcadores de posición propietarios (%cp% para página actual, %tp% para total de páginas) y requiere construcción manual de HTML. Para obtener opciones de encabezado y pie de página más flexibles, consulte la guía de encabezado y pie de página de IronPDF .


¿Cómo se comparan las funciones avanzadas de PDF?

¿Cómo creo y manipulo formularios PDF?

¿Cómo gestiona IronPDF la creación de formularios?

using IronPdf;

// Create a PDF with form fields
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string formHtml = @"
    <form>
        <label>Name: <input type='text' name='fullname'></label><br>
        <label>Email: <input type='email' name='email'></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe'></label><br>
        <label>
            Plan:
            <select name='plan'>
                <option>Basic</option>
                <option>Premium</option>
            </select>
        </label>
    </form>";

var pdf = renderer.RenderHtmlAsPdf(formHtml);

// Fill form fields programmatically
pdf.Form.FindFormField("fullname").Value = "John Doe";
pdf.Form.FindFormField("email").Value = "john@example.com";
pdf.Form.FindFormField("subscribe").Value = "Yes";

pdf.SaveAs("filled-form.pdf");
using IronPdf;

// Create a PDF with form fields
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

string formHtml = @"
    <form>
        <label>Name: <input type='text' name='fullname'></label><br>
        <label>Email: <input type='email' name='email'></label><br>
        <label>Subscribe: <input type='checkbox' name='subscribe'></label><br>
        <label>
            Plan:
            <select name='plan'>
                <option>Basic</option>
                <option>Premium</option>
            </select>
        </label>
    </form>";

var pdf = renderer.RenderHtmlAsPdf(formHtml);

// Fill form fields programmatically
pdf.Form.FindFormField("fullname").Value = "John Doe";
pdf.Form.FindFormField("email").Value = "john@example.com";
pdf.Form.FindFormField("subscribe").Value = "Yes";

pdf.SaveAs("filled-form.pdf");
$vbLabelText   $csharpLabel

Obtenga más información sobre cómo crear formularios PDF y editar datos de formularios con IronPDF.

¿Cómo gestiona Kit de herramientas ActivePDF los formularios?

// ActivePDF requires separate Toolkit component for forms
APToolkitNET.Toolkit toolkit = new APToolkitNET.Toolkit();

// Open existing PDF
toolkit.OpenInputFile("form-template.pdf");

// Set form field values
toolkit.SetFormFieldData("fullname", "John Doe", -997);
toolkit.SetFormFieldData("email", "john@example.com", -997);

// Save filled form
toolkit.CopyForm(0, 0);
toolkit.SaveAs("filled-form.pdf");
// ActivePDF requires separate Toolkit component for forms
APToolkitNET.Toolkit toolkit = new APToolkitNET.Toolkit();

// Open existing PDF
toolkit.OpenInputFile("form-template.pdf");

// Set form field values
toolkit.SetFormFieldData("fullname", "John Doe", -997);
toolkit.SetFormFieldData("email", "john@example.com", -997);

// Save filled form
toolkit.CopyForm(0, 0);
toolkit.SaveAs("filled-form.pdf");
$vbLabelText   $csharpLabel

¿Cómo puedo garantizar la conformidad con el formato PDF/A?

Ambas bibliotecas admiten PDF/A , pero con diferentes enfoques:

¿Cómo crear PDF/A con IronPDF?

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Archival Document</h1>");

// Convert to PDF/A-3B
pdf.SaveAsPdfA("archive.pdf", PdfAVersions.PdfA3B);
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Archival Document</h1>");

// Convert to PDF/A-3B
pdf.SaveAsPdfA("archive.pdf", PdfAVersions.PdfA3B);
$vbLabelText   $csharpLabel

IronPDF también admite PDF/A-3 con ZUGFeRD para facturación electrónica. Consulte la actualización del hito en formato PDF/A para obtener más detalles.

¿Cómo crear PDF/A con ActivePDF DocConverter ?

// Requires DocConverter component
DocConverter dc = new DocConverter();
dc.SetPDFACompliance(PDFACompliance.PDFA2B);
dc.ConvertToPDF("input.html", "output.pdf");
// Requires DocConverter component
DocConverter dc = new DocConverter();
dc.SetPDFACompliance(PDFACompliance.PDFA2B);
dc.ConvertToPDF("input.html", "output.pdf");
$vbLabelText   $csharpLabel

¿Cómo agrego firmas digitales a los archivos PDF?

¿Cómo gestiona IronPDF las firmas digitales?

using IronPdf;
using IronPdf.Signing;

// Load or create PDF
var pdf = PdfDocument.FromFile("document.pdf");

// Create signature with certificate
var signature = new PdfSignature("certificate.pfx", "password");

// Configure signature appearance
signature.SignatureImage = new PdfSignatureImage("signature.png");
signature.SigningContact = "john@company.com";
signature.SigningReason = "Document Approval";

// Apply signature
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;

// Load or create PDF
var pdf = PdfDocument.FromFile("document.pdf");

// Create signature with certificate
var signature = new PdfSignature("certificate.pfx", "password");

// Configure signature appearance
signature.SignatureImage = new PdfSignatureImage("signature.png");
signature.SigningContact = "john@company.com";
signature.SigningReason = "Document Approval";

// Apply signature
pdf.Sign(signature);
pdf.SaveAs("signed.pdf");
$vbLabelText   $csharpLabel

Para escenarios de firma avanzados, consulte la guía de firma de IronPDF y la firma con HSM .

¿Cómo manejo el procesamiento por lotes?

¿Cómo gestiona IronPDF las conversiones por lotes?

using IronPdf;
using System.Threading.Tasks;
using System.IO;

static async Task BatchConvertAsync()
{
    var renderer = new ChromePdfRenderer();
    var tasks = new List<Task>();

    foreach (var file in Directory.GetFiles("input", "*.html"))
    {
        tasks.Add(Task.Run(async () =>
        {
            var pdf = await renderer.RenderHtmlFileAsPdfAsync(file);
            var outputPath = Path.Combine("output", 
                Path.GetFileNameWithoutExtension(file) + ".pdf");
            await pdf.SaveAsAsync(outputPath);
        }));
    }

    await Task.WhenAll(tasks);
}
using IronPdf;
using System.Threading.Tasks;
using System.IO;

static async Task BatchConvertAsync()
{
    var renderer = new ChromePdfRenderer();
    var tasks = new List<Task>();

    foreach (var file in Directory.GetFiles("input", "*.html"))
    {
        tasks.Add(Task.Run(async () =>
        {
            var pdf = await renderer.RenderHtmlFileAsPdfAsync(file);
            var outputPath = Path.Combine("output", 
                Path.GetFileNameWithoutExtension(file) + ".pdf");
            await pdf.SaveAsAsync(outputPath);
        }));
    }

    await Task.WhenAll(tasks);
}
$vbLabelText   $csharpLabel

Consulte la guía asincrónica de IronPDF y los ejemplos de procesamiento paralelo para conocer más técnicas de procesamiento por lotes.

¿Cómo gestiona ActivePDF DocConverter el procesamiento por lotes?

// DocConverter supports watched folders for automatic conversion
DocConverter dc = new DocConverter();

// Configure watched folder
dc.AddWatchedFolder(@"C:\Input", @"C:\Output", "*.html");
dc.StartWatching();

// Files dropped in the input folder are automatically converted
// DocConverter supports watched folders for automatic conversion
DocConverter dc = new DocConverter();

// Configure watched folder
dc.AddWatchedFolder(@"C:\Input", @"C:\Output", "*.html");
dc.StartWatching();

// Files dropped in the input folder are automatically converted
$vbLabelText   $csharpLabel

¿Cómo se comparan el rendimiento y los recursos?

¿Cómo se comparan las bibliotecas en términos de rendimiento?

Métricas de Rendimiento de IronPDF

¿Cuáles son las métricas de rendimiento de IronPDF?

  • Sitios complejos: 835ms (probado en sitios web estáticos)
  • Uso de memoria: Menos de 10MB típico
  • Uso de memoria: Menos de 10MB típico
  • Reducción del 75% en uso de memoria para encabezados/pies de... HTML/CSS: Marca de agua avanzada con IronPDF:

Para obtener sugerencias detalladas sobre cómo optimizar el rendimiento, consulte la guía de rendimiento de IronPDF .

¿Cuáles son las características de rendimiento de ActivePDF?

10. Descripción General de Componentees ActivePDF

¿Qué otros componentes ActivePDF están disponibles?

### ¿Cuáles son las mejores prácticas de gestión de memoria? #### ¿Cómo optimizar la memoria con IronPDF? ```csharp // Dispose of resources properly using (var renderer = new ChromePdfRenderer()) { using (var pdf = renderer.RenderHtmlAsPdf(html)) { pdf.SaveAs("output.pdf"); } } // For large documents, use streaming await pdf.Stream.CopyToAsync(fileStream); ``` Para conocer más estrategias de optimización de memoria, consulte [la guía de administración de memoria de IronPDF](https://ironpdf.com/troubleshooting/memory-leak-in-ironpdf/) y [los ejemplos de flujo de memoria PDF](https://ironpdf.com/how-to/pdf-memory-stream/) . #### ¿Cuáles son las consideraciones de memoria de ActivePDF?
## ¿Qué componentes de ActivePDF están disponibles? ### ¿Qué otros componentes ActivePDF están disponibles?
ActivePDF DocConverter
ComponenteObjetivo y características
ActivePDF `DocConverter`Convierte más de 300 tipos de archivos a PDF. Incluye carpetas vigiladas, procesamiento por lotes y automatización empresarial.
ActivePDF `WebGrabber`Conversión de HTML a PDF compatible con URL, archivos y cadenas HTML. Incluye motores de renderizado Native e IE.
Kit de herramientas ActivePDFManipulación avanzada de PDF, incluidos formularios, anotaciones, seguridad y operaciones PDF de bajo nivel.
Servidor ActivePDFSolución de impresión PDF basada en servidor para entornos de red.
Meridiano ActivePDFImpresora PDF en red para imprimir documentos en PDF sin cuotas por usuario.
OCR ActivePDFReconocimiento óptico de caracteres para realizar búsquedas en PDF escaneados.
Extractor de ActivePDFExtrae texto e imágenes de archivos PDF para el procesamiento de datos.
Redactor de ActivePDFElimina permanentemente información confidencial de documentos PDF.
Por favor notaMuchos de estos componentes requieren licencias independientes, lo que aumenta el costo total de la funcionalidad PDF completa.

## ¿Cómo se comparan las licencias y los precios? ### ¿Cómo se comparan los costes de licencia entre IronPDF y ActivePDF? #### ¿Cuáles son las opciones de licencia y precios de IronPDF (a partir de 2025)? - **Licencia Lite:** $799 (1 desarrollador, 1 ubicación, 1 proyecto) - **Licencia Plus:** $1,199 (3 desarrolladores, 3 ubicaciones, 3 proyectos) - **Licencia profesional:** $2,399 (10 desarrolladores, 10 ubicaciones, 10 proyectos) - **Licencia ilimitada:** precios personalizados (desarrolladores/proyectos ilimitados) - **Iron Suite:** $1,498 (los 10 productos de Iron Software) Todas las licencias incluyen [soporte de ingeniería 24 horas al día](https://ironpdf.com/troubleshooting/engineering-support-for-ironpdf/) , 5 días a la semana, [validez de licencia de por vida](https://ironpdf.com/licensing/) y opciones de [extensiones](https://ironpdf.com/licensing/extensions/) y [actualizaciones](https://ironpdf.com/licensing/upgrades/) . - **WebGrabber:** desde $2,499 (pago único) - **DocConverter:** desde $2,999 (pago único) - **Kit de herramientas:** desde $1500+ (varía según las características) - **Soporte:** Costo adicional por soporte premium - **Componentees múltiples:** los costos se acumulan rápidamente ### ¿Cuál es la comparación del costo total? #### Equipo de desarrollo pequeño (3 desarrolladores): ¿Comparación de costos? - IronPDF Plus License: $1,499 (todas las funciones incluidas) - ActivePDF `WebGrabber` + `DocConverter` : mínimo $5,498 - **Ahorros con IronPDF: 73%** #### Equipo empresarial (10 desarrolladores): ¿Comparación de costos? - IronPDF Professional: $2,999 (todas las características) - ActivePDF Suite (múltiples componentes): $10,000+ - **Ahorros con IronPDF: 70%+** Para comparaciones de precios detalladas con otros competidores, consulte [IronPDF vs Aspose](https://ironpdf.com/competitors/aspose-vs-ironpdf/) , [IronPDF vs iText](https://ironpdf.com/competitors/itext-vs-ironpdf/) y [IronPDF vs Syncfusion](https://ironpdf.com/competitors/syncfusion-vs-ironpdf/) .
## ¿Qué biblioteca ofrece mejor soporte para desarrolladores? ### ¿Qué biblioteca ofrece mejor soporte para desarrolladores? #### ¿Qué soporte ofrece IronPDF? - [Soporte de ingeniería 24/5](https://ironpdf.com/troubleshooting/engineering-support-for-ironpdf/) incluido con todas las licencias - Acceso directo al equipo de desarrollo - [Documentación](https://ironpdf.com/docs/) completa con más de 100 [ejemplos](https://ironpdf.com/demos/) - Comunidad activa y foros - [Actualizaciones y mejoras](https://ironpdf.com/product-updates/changelog/) periódicas - Tiempo de respuesta: 24-48 horas típico Para conocer las mejores prácticas de soporte, consulte [cómo realizar una solicitud de soporte de ingeniería](https://ironpdf.com/troubleshooting/engineering-request-pdf/) y [obtener el mejor soporte](https://ironpdf.com/troubleshooting/engineering-support-for-ironpdf/) . #### ¿Qué soporte proporciona ActivePDF? - Acceso al portal de soporte - Artículos de base de conocimientos - Foros de comunidad - Soporte premium disponible a costo adicional - Documentación antigua para versiones anteriores
## Conclusión: ¿Qué biblioteca PDF elegir? ### Cuándo elegir IronPDF: - **Desarrollo .NET moderno:** soporte completo para .NET 9/10 e implementación multiplataforma - **Desarrollo rápido:** la API intuitiva requiere un código mínimo - **Aplicaciones web:** Representación superior de HTML/CSS/JavaScript con motor Chrome - **Implementación en la nube:** optimizada para Azure, AWS y entornos en contenedores - **Consciente del presupuesto:** menor costo de entrada con todas las características incluidas - **Curva de aprendizaje:** amplia documentación y ejemplos para una rápida adopción ### Cuándo elegir ActivePDF: - **Sistemas heredados:** Infraestructura ActivePDF existente o entornos de Windows Server - **Diversos formatos de archivo:** ¿Necesita convertir más de 300 tipos de archivos a PDF? - **Flujos de trabajo empresariales:** carpetas supervisadas y procesamiento por lotes automatizado - **Formularios avanzados:** formularios XFA complejos o requisitos de formularios especializados - **Requisitos de cumplimiento:** Múltiples niveles PDF/A para industrias específicas ### Recomendación final Para la mayoría de los escenarios de desarrollo .NET modernos, IronPDF ofrece la mejor combinación de [características](https://ironpdf.com/features/) , [rendimiento](https://ironpdf.com/troubleshooting/ironpdf-performance-assistance/) y valor. Su API intuitiva, [documentación](https://ironpdf.com/docs/) completa y [precios](https://ironpdf.com/licensing/) transparentes lo hacen ideal para equipos que buscan implementar [la funcionalidad PDF](https://ironpdf.com/features/) de manera rápida y eficiente. ActivePDF sigue siendo una opción viable para empresas con requisitos específicos en torno al soporte de formatos de archivo, integración de sistemas legados, o infraestructura ActivePDF existente. Sin embargo, el modelo de precios modular y el proceso de instalación complejo pueden presentar desafíos para equipos más pequeños o nuevos proyectos. ### ¿Preparado para empezar?

Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer
Por favor notaActivePDF es una marca registrada de su respectivo propietario. Este sitio no está afiliado, respaldado, ni patrocinado por ActivePDF. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son sólo para fines informativos y reflejan información disponible públicamente al momento de escribir.

Preguntas Frecuentes

¿Cómo se comparan IronPDF y ActivePDF para la generación de PDF en .NET?

IronPDF ofrece un enfoque simplificado para la generación de PDF con un motor de renderizado basado en Chrome y APIs intuitivas, que soportan versiones modernas de .NET, incluyendo .NET 9 y 10. ActivePDF proporciona componentes modulares como WebGrabber y DocConverter para escenarios empresariales, pero requiere más configuración.

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

Puedes usar el método RenderHtmlAsPdf de IronPDF para convertir rápidamente cadenas de HTML en PDFs. Para la conversión basada en archivos, está disponible el método RenderHtmlFileAsPdf, ambos ofrecen alta fidelidad con soporte para CSS3 y JavaScript.

¿Cuáles son los puntos de referencia de rendimiento para IronPDF?

IronPDF demuestra un rápido renderizado de HTML a PDF, completando tareas en aproximadamente 125-835ms con un uso de memoria inferior a 10MB. También ofrece mejoras significativas de memoria y procesamiento para encabezados y pies de página.

¿Puedo automatizar el procesamiento por lotes de PDF con IronPDF?

Sí, IronPDF soporta el procesamiento por lotes a través de patrones async/await, permitiéndote manejar múltiples conversiones de PDF simultáneamente usando métodos como RenderHtmlFileAsPdfAsync.

¿Cómo maneja IronPDF las firmas digitales en PDFs?

IronPDF proporciona una clase PdfSignature para agregar firmas digitales a documentos PDF. Soporta firma basada en certificado y permite la personalización de la apariencia y los metadatos de la firma.

¿Cuáles son las consideraciones de costo para el uso de IronPDF en el desarrollo .NET?

Las licencias de IronPDF comienzan en $749 para desarrolladores individuales, incluyendo todas las características. En comparación, los componentes de ActivePDF se valoran por separado, llevando a costos totales más altos para funcionalidades similares.

¿Cómo asegura IronPDF la compatibilidad multiplataforma?

IronPDF soporta el despliegue multiplataforma, incluyendo entornos Windows, Linux, macOS y Docker, lo que lo hace adecuado para diversas necesidades de desarrollo y aplicaciones basadas en la nube.

¿Cómo puedo agregar encabezados y pies de página a PDFs usando IronPDF?

IronPDF proporciona las clases TextHeaderFooter y HtmlHeaderFooter, permitiendo añadir encabezados y pies de página tanto con texto simple como con diseños complejos de HTML/CSS.

¿Qué tan bien se integra IronPDF con las versiones modernas de .NET?

IronPDF soporta plenamente las versiones modernas de .NET, incluyendo .NET 9 y 10, así como .NET Core, .NET Standard y .NET Framework 4.6.2+, asegurando una amplia compatibilidad y un desarrollo a prueba de futuro.

¿Existe soporte para la ejecución de JavaScript durante la conversión de PDF?

Sí, IronPDF ejecuta completamente JavaScript antes de renderizar PDFs, con opciones para controlar el tiempo usando WaitFor.JavaScript() y RenderDelay(), asegurando conversiones completas y precisas.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología en Iron Software y un ingeniero visionario que lidera la tecnología PDF en C#. Como el desarrollador original detrás de la base de código central de Iron Software, ha moldeado la arquitectura de productos de la compañía desde ...

Leer más