Saltar al pie de página
USANDO IRONPDF

Cómo convertir HTML a PDF con IronPDF

IronPDF es un convertidor de HTML a PDF .NET que utiliza el motor de renderizado de Chrome para transformar cadenas HTML, archivos y páginas web en documentos PDF de alta calidad con renderizado CSS preciso y soporte de ejecución de JavaScript .

La conversión de HTML a PDF es un desafío persistente en el desarrollo .NET . Necesita una biblioteca que maneje diseños CSS modernos, ejecute JavaScript correctamente y produzca documentos de calidad, todo ello sin dejar de ser fácil de integrar. IronPDF aborda estos desafíos con la representación basada en Chrome, lo que le permite convertir archivos HTML, cadenas y páginas web con fidelidad de calidad de navegador. La biblioteca se ejecuta en .NET 10 y está orientada a Windows, Linux, macOS y Azure sin requerir motores de renderizado separados por plataforma.

Este artículo explica cómo implementar la generación de PDF profesional, desde conversiones básicas hasta funciones avanzadas como firmas digitales y protección con contraseña. Trabajará en la instalación, configuración, métodos de conversión de núcleo y consideraciones de implementación. Cada sección incluye código C# funcional que utiliza declaraciones de nivel superior, compatibles con proyectos .NET 10.

Banner de la página de inicio de la biblioteca IronPDF C# PDF mostrando características clave, incluyendo la conversión de HTML a PDF, capacidades de edición de PDF, opciones de implementación flexibles y oferta de prueba gratuita

¿Cómo elegir la biblioteca HTML a PDF adecuada for .NET?

La elección de una biblioteca PDF afecta la calidad de representación, los costos de mantenimiento y la compatibilidad a largo plazo. La pregunta fundamental es si la biblioteca puede seguir el ritmo de la web moderna. Las cuadrículas CSS, flexbox, el contenido renderizado en JavaScript y las fuentes web son estándares hoy en día: una biblioteca que no puede manejarlos de manera confiable lo obliga a utilizar soluciones alternativas de preprocesamiento que ralentizan el desarrollo e introducen fragilidad en el punto donde sus plantillas HTML evolucionan.

IronPDF utiliza el mismo motor Blink que utiliza Google Chrome. Sus archivos PDF se muestran exactamente como aparecen en la vista previa de impresión de Chrome: sin estilos faltantes, sin diseños de cuadrícula rotos, sin fuentes personalizadas descartadas. Esta consistencia elimina la depuración de estilo manual que normalmente acompaña a otras bibliotecas PDF. Puede comparar las capacidades de renderizado de Chrome con alternativas más antiguas para evaluar la fidelidad de renderizado para sus tipos de documentos específicos.

Las aplicaciones web modernas se basan en CSS y JavaScript sofisticados. IronPDF proporciona soporte nativo para CSS3, incluidos flexbox, sistemas de cuadrícula, transformaciones y animaciones. El motor procesa JavaScript antes de capturar la salida, lo que garantiza que el contenido generado dinámicamente aparezca correctamente en el PDF final. Ya sea que esté convirtiendo archivos HTML estáticos o páginas que dependen de la representación del lado del cliente, la biblioteca captura el estado calculado final, no una instantánea intermedia.

La clase ChromePdfRenderer expone valores predeterminados inteligentes mientras proporciona un control detallado a través de su propiedad RenderingOptions. La ruta de integración es más corta que la de alternativas como QuestPDF o Syncfusion , las cuales requieren una mayor configuración para producir un primer documento de salida.

Al considerar el mantenimiento a largo plazo, la representación basada en Chrome significa que la biblioteca se beneficia de las mejoras continuas del navegador sin necesidad de actualizaciones manuales del motor de su parte. Las bibliotecas antiguas basadas en WebKit tienen conjuntos de características fijos que no crecen con la plataforma web, lo que crea una deuda de compatibilidad a medida que las plantillas front-end adoptan nuevas propiedades CSS o patrones de JavaScript . Para los equipos que ya están familiarizados con HTML y CSS, no hay ningún lenguaje o modelo de diseño nuevo que aprender: se diseña el documento de la misma forma en que se diseñaría una página web y luego se procesa como PDF.

Vista general de características mostrando las cuatro principales capacidades de PDF: Crear PDFs, Convertir PDFs, Editar PDFs y Firmar y Proteger PDFs, con listas detalladas de características bajo cada categoría.

¿Cómo instalar y configurar la biblioteca?

Instalación mediante NuGet

La configuración de IronPDF tarda unos minutos. Utilice la consola del Administrador de paquetes en Visual Studio o la CLI de .NET :

Install-Package IronPdf
Install-Package IronPdf
SHELL
dotnet add package IronPdf
dotnet add package IronPdf
SHELL

Estos comandos descargan el paquete y sus dependencias, configurando automáticamente las referencias del proyecto. El paquete incluye binarios específicos de la plataforma resueltos en tiempo de ejecución, por lo que no es necesario administrar bibliotecas nativas por separado. Para entornos en contenedores, revise las opciones de implementación e instalación avanzadas de Docker .

Configuración de la clave de licencia y la configuración global

Configure la clave de licencia y las configuraciones globales en Program.cs antes de llamar a cualquier método de IronPDF. Uso de declaraciones de nivel superior de .NET 10:

using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
Imports IronPdf

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
IronPdf.Installation.TempFolderPath = "C:\Temp\IronPdf"
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All

Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()
app.Run()
$vbLabelText   $csharpLabel

Almacenar la clave en una variable de entorno la mantiene fuera del control de origen. La prueba gratuita de 30 días proporciona funcionalidad completa para evaluación. Consulte la documentación de la licencia para conocer todas las opciones de configuración, incluido el cambio de clave en tiempo de ejecución para escenarios de múltiples inquilinos.

¿Cómo convertir cadenas HTML a PDF?

Realizar una conversión básica

El método RenderHtmlAsPdf acepta una cadena HTML y devuelve un objeto PdfDocument que puede guardar, transmitir o manipular adicionalmente. Este es el punto de entrada principal para generar facturas, informes y cartas a partir de plantillas del lado del servidor:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>")
pdf.SaveAs("invoice.pdf")

' Get binary data for an HTTP response or cloud storage
Dim pdfBytes As Byte() = pdf.BinaryData
$vbLabelText   $csharpLabel

El resultado contiene texto seleccionable para cumplir con las normas de accesibilidad. Explore márgenes personalizados y opciones de tamaño de papel para adaptar las dimensiones de salida a su diseño.

PDF viewer showing a simple invoice with number 12345 and total amount $99.99 displayed at 100% zoom

Aplicación de estilos CSS, fuentes web y recursos externos

Puede incrustar hojas de estilo completas directamente en la cadena HTML. IronPDF procesa reglas @import y referencias de fuente antes de renderizar. Cuando su HTML hace referencia a rutas relativas (hojas de estilo locales, imágenes o scripts), proporcione una ruta base como segundo argumento para que el motor pueda resolverlas:

using IronPdf;

var styledHtml = $@"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
using IronPdf;

var styledHtml = $@"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
Imports IronPdf

Dim styledHtml As String = $"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(500)

' Provide a base path if the HTML references local assets
Dim pdf = renderer.RenderHtmlAsPdf(styledHtml, "C:\assets\")
pdf.SaveAs("styled-invoice.pdf")
$vbLabelText   $csharpLabel

CSS se representa exactamente igual que en Chrome. Explore las opciones de renderizado y la compatibilidad de fuentes web para Google Fonts y la integración de tipos de letra autohospedados.

Visor de PDF mostrando el logo de IronPDF for .NET en un fondo blanco, mostrando la página 1 de 1 al 100% de zoom

¿Cómo convertir archivos HTML y URL activas a PDF?

Conversión de archivos locales y páginas web

El método RenderHtmlFileAsPdf lee un archivo local y resuelve automáticamente todos los activos vinculados en relación con el directorio del archivo. El método RenderUrlAsPdf captura páginas web públicas o autenticadas, ejecutando JavaScript y esperando a que el contenido se cargue antes de renderizar:

using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
Imports IronPdf

' Convert a local HTML file
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True

Dim filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html")
filePdf.MetaData.Title = "Monthly Sales Report"
filePdf.SaveAs("report-output.pdf")

' Convert a live URL with authentication
Dim secureRenderer As New ChromePdfRenderer()
secureRenderer.LoginCredentials = New ChromeHttpLoginCredentials With {
    .Username = "user@example.com",
    .Password = "secure-password"
}
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500)

Dim urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard")
urlPdf.SaveAs("dashboard-snapshot.pdf")
$vbLabelText   $csharpLabel

Para páginas accesibles públicamente, omita completamente la configuración LoginCredentials. Obtenga información sobre la autenticación y la gestión de cookies para sitios basados ​​en sesiones. Para capturar diseños responsivos correctamente, configure el ancho del área de visualización con renderer.RenderingOptions.ViewPortWidth y revise la documentación del área de visualización.

¿Cómo agregar encabezados, marcas de agua y seguridad?

Cómo agregar encabezados y pies de página profesionales

Los encabezados y pies de página que muestran números de página, fechas o marca hacen que los documentos de varias páginas sean mucho más legibles y profesionales. IronPDF los procesa como fragmentos HTML, por lo que puede utilizar el estilo CSS completo, incluidas imágenes y colores de marca:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 50,
    .HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    .BaseUrl = New Uri("file:///C:/assets/")
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 30,
    .HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    .DrawDividerLine = True
}

renderer.RenderingOptions.MarginTop = 60
renderer.RenderingOptions.MarginBottom = 40

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>")
pdf.SaveAs("report-with-headers.pdf")
$vbLabelText   $csharpLabel

Los marcadores de posición como {page} y {total-pages} se reemplazan automáticamente al momento de renderizar. Revise el tutorial de encabezados y pies de página para la inyección dinámica de fechas, colocación de logotipos y estilos de página alternos.

Aplicación de marcas de agua, cifrado y firmas digitales

Las marcas de agua protegen borradores de documentos e informes confidenciales. La protección con contraseña y la configuración de permisos restringen quién puede imprimir, copiar o editar un PDF. Las firmas digitales añaden una capa de autenticidad verificable para los contratos y documentos regulados. Puedes combinar los tres en un único flujo de trabajo:

using IronPdf;
using System.Security.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
using IronPdf;
using System.Security.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
Imports IronPdf
Imports System.Security.Cryptography.X509Certificates

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>")

' Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation:=45,
    opacity:=30
)

' Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserCopyPasteContent = False

' Digital signature
Dim cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password")
Dim signature As New PdfSignature(cert) With {
    .SigningContact = "Jane Smith",
    .SigningLocation = "New York, NY",
    .SigningReason = "Contract Approval"
}
pdf.Sign(signature)
pdf.SaveAsRevision("signed-contract.pdf")
$vbLabelText   $csharpLabel

Obtenga información sobre técnicas de marca de agua , configuraciones de seguridad de PDF y firma basada en certificados , incluida la integración de HSM para módulos de seguridad de hardware.

¿Cómo se realiza la implementación en Windows, Linux y Azure?

IronPDF es compatible con Windows, Linux y macOS con binarios específicos de cada plataforma incluidos en el paquete NuGet . La salida es idéntica en todas las plataformas, por lo que puede desarrollar en Windows e implementar en contenedores Linux sin cambiar su código de renderizado. El paquete detecta automáticamente el entorno de ejecución y carga los componentes nativos correctos. Esta consistencia multiplataforma simplifica los procesos de CI/CD: no necesita configuraciones de renderizado separadas por entorno.

En Azure App Service, almacene la clave de licencia en Configuraciones de Aplicaciones y refiérase a ella mediante Environment.GetEnvironmentVariable. Este enfoque mantiene las credenciales fuera de su repositorio y permite la rotación de claves sin una implementación de código. Consulte la guía de implementación completa de Azure para obtener configuraciones específicas de hospedaje y la guía de implementación de IIS para hospedaje de servidor Windows tradicional.

Para entornos Linux y Docker, el motor de renderizado Chrome requiere dependencias del sistema adicionales. Agreguelos a su Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:10.0
RUN apt-get update && apt-get install -y \
    libgdiplus libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 \
    && apt-get clean
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Cuando LinuxAndDockerDependenciesAutoConfig está configurado en true, IronPDF maneja la resolución de dependencias automáticamente en la primera ejecución. Consulte la guía de implementación de Linux y la guía de integración de Docker para obtener listas de dependencias completas. Para cargas de trabajo sin servidor, la guía de Azure Functions cubre la configuración de memoria y tiempo de espera.

¿Cómo explorar el conjunto completo de funciones?

Más allá de la conversión de HTML, IronPDF cubre el flujo de trabajo completo de PDF. La siguiente tabla resume las áreas de capacidad clave:

Áreas de capacidad de IronPDF
CategoríaCaracterísticasDocumentación
Creación de documentosEncabezados, pies de página, formularios rellenables, fondosGuía de formularios
SeguridadFirmas digitales, cifrado y desinfecciónGuía de firmas
Gestión de DocumentosFusionar, dividir, comprimir, compatibilidad con PDF/AGuía de fusión
Manipulación de contenidoEstampado, ejecución de JavaScript , operaciones asincrónicasGuía de sellos

Para consultar una referencia completa de los métodos, consulte la documentación API y la biblioteca de ejemplos de código, que incluye proyectos de C# funcionales para cada área de características. La sección de tutoriales proporciona guías paso a paso para escenarios comunes como generación de facturas, automatización de informes y archivado de documentos.

¿Cuáles son los próximos pasos para empezar?

IronPDF convierte la conversión de HTML a PDF en un flujo de trabajo de tres pasos: instale el paquete desde NuGet, configure su clave de licencia y llame RenderHtmlAsPdf. El motor Chrome garantiza una representación precisa, mientras que el diseño de la API mantiene una integración sencilla incluso para documentos complejos de varias páginas con encabezados personalizados, marcas de agua y firmas digitales.

La prueba gratuita de 30 días proporciona acceso completo sin restricciones de características. Cuando esté listo para pasar a la producción, las licencias flexibles se adaptan desde desarrolladores individuales hasta equipos empresariales con requisitos de volumen. También puede revisar la documentación de Microsoft .NET para obtener un contexto de fondo sobre los patrones de generación de documentos en el ecosistema, y ​​la especificación oficial de PDF para una comprensión más profunda de las capacidades y limitaciones del formato.

Página de licencias de IronPDF mostrando cuatro niveles de licencias perpetuas (Lite, Plus, Professional y Unlimited) con precios y características para diferentes tamaños de equipo.

Explore el registro de cambios para ver las incorporaciones recientes y planificar qué características coinciden con los requisitos de su proyecto.

Preguntas Frecuentes

¿Para qué se utiliza IronPDF?

IronPDF se utiliza para convertir HTML a PDF en aplicaciones .NET. Maneja CSS moderno, JavaScript, y produce documentos PDF de alta calidad.

¿Cómo maneja IronPDF los diseños HTML complejos?

IronPDF utiliza un motor de renderizado basado en Chrome para procesar con precisión diseños HTML complejos, asegurando que la salida PDF coincida con lo que se ve en el navegador.

¿Puede IronPDF ejecutar JavaScript durante la conversión a PDF?

Sí, IronPDF puede ejecutar JavaScript, lo cual es crucial para representar contenido dinámico con precisión en la salida PDF.

¿Es fácil implementar IronPDF en aplicaciones .NET?

IronPDF está diseñado para ser simple de implementar y desplegar, haciéndolo accesible para desarrolladores que trabajan con .NET.

¿Qué tipos de fuentes HTML puede convertir IronPDF a PDF?

IronPDF puede convertir archivos HTML, cadenas HTML y páginas web completas a formato PDF.

¿Mantiene IronPDF la calidad del HTML original en el PDF?

Sí, IronPDF produce documentos PDF de alta calidad con la misma fidelidad que el contenido original de HTML.

¿Qué hace que IronPDF sea diferente de otros convertidores de PDF?

IronPDF proporciona una experiencia de conversión fluida con su motor de renderizado basado en Chrome, asegurando compatibilidad con los estándares web modernos.

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

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame