HTML a PDF: Un tutorial rápido para C# .NET

Convertir HTML a PDF en C#: Guía completa para desarrolladores de .NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

Bienvenido a nuestro tutorial sobre cómo convertir HTML a PDF para contenido web dinámico, facturas, informes o archivo web. Siga adelante para generar documentos PDF que coincidan con los diseños reales de su página web utilizando el convertidor de HTML a PDF más confiable para C#.

TL;DR: Guía de inicio rápido para convertir HTML a PDF

Puede convertir fácilmente HTML a PDF en C# utilizando la biblioteca IronPDF, que proporciona el método ChromePdfRenderer.RenderHtmlAsPdf para crear archivos PDF de alta calidad a partir de HTML, CSS y JavaScript.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronPDF con el gestor de paquetes NuGet

    PM > Install-Package IronPdf

  2. Copie y ejecute este fragmento de código.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<p>Hello World</p>")
           .SaveAs("pixelperfect.pdf");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Después de haber comprado o inscrito en una prueba de 30 días de IronPDF, busque la clave de licencia enviada a su correo electrónico. Establece la propiedad TempFolderPath de IronPdf.Installation.

IronPdf.License.LicenseKey = "KEY";
IronPdf.License.LicenseKey = "KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Por qué los desarrolladores .NET necesitan un convertidor de HTML a PDF para C

Los marcos .NET carecen de capacidad incorporada para conversión de HTML a PDF. IronPDF aprovecha un motor de renderizado Google Chromium incorporado para asegurar conversiones de alta fidelidad, preservando con precisión el diseño y estilo de su contenido web.

Motor de Renderizado de Chrome Robusto: El motor Blink de Chrome para una conversión precisa de HTML a PDF, ahora mejorado con correcciones para memoria, formularios y precisión de renderizado (v2025.9.4)

Precisión de Pixel-Perfect: Los PDFs generados coinciden exactamente con la web, no una versión optimizada para impresión. Las correcciones recientes cubren recorte de encabezados y pies de página personalizados, preservación de texto en escala de grises y caracteres especiales/emojis en metadatos (a partir de v2025.9.4)

Soporte Completo para la Web Moderna: Soporte completo para CSS3, HTML5, JavaScript para todos los elementos HTML. Las mejoras recientes cubren el manejo de campos de formulario para áreas de texto largas y casillas de verificación.

Aumento de Rendimiento de 5-20 Veces: Mucho más rápido que la automatización del navegador o los controladores web, ahora con correcciones de fugas de memoria y reducciones de tamaños de archivo para elementos repetidos como sellos/encabezados en operaciones por lotes.

Cumplimiento de PDF/UA: Generación de PDFs accesibles que cumplen con los estándares de la Sección 508, mejorado para renderización de formularios multiplataforma (por ejemplo, Linux).

Sin Dependencias Externas: No hay ejecutables para instalar en los servidores

✅ Diseñado para C#, F# y VB.NET ejecutándose en .NET 10, 9, 8, 7, 6, Core, Standard, o Framework

IronPDF simplifica el proceso para desarrolladores .NET, ofreciendo una solución sencilla y eficiente para generar documentos PDF de aspecto profesional desde el HTML de su aplicación web. Desde facturas e informes hasta certificados y archivos, los desarrolladores pueden trabajar con su stack web familiar mientras IronPDF maneja lo complejo en solo unas líneas de código.

RELATED: IronPDF Changelog: Updates, milestones, roadmap

Lo que aprenderás

  1. Cómo Convertir HTML a PDF en C#
  2. Cómo Configurar los Ajustes de HTML a PDF
  3. Cómo Usar Características Avanzadas de Generación y Seguridad de PDF
  4. Comparar IronPDF con Otras Bibliotecas PDF .NET
  5. Solución de Problemas y Soporte Técnico

1. Cómo convertir HTML a PDF en C

Ya sea que trabaje con cadenas HTML, URLs o archivos HTML, IronPDF proporciona opciones flexibles para generar documentos PDF de alta calidad que cumplen con sus requisitos específicos.

En este tutorial, lo guiaremos por los escenarios más comunes, incluyendo cadena HTML a PDF, URL a PDF y archivo HTML a PDF. Además, IronPDF también proporciona una variedad de operaciones para manipular documentos PDF:

Conversión versátil de PDF Conversión de páginas web dinámicas a PDF

Cómo convertir una cadena HTML a PDF

La operación más fundamental es convertir una cadena HTML a PDF. Este método es perfecto para contenido HTML generado dinámicamente. El método RenderHtmlAsPdf soporta completamente HTML5, CSS3, JavaScript e imágenes cuando convierte HTML a PDF directamente.

var renderer = new ChromePdfRenderer();

// Create the Chrome renderer
var renderer = new ChromePdfRenderer();

// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Save the PDF
pdf.SaveAs("output.pdf");
var renderer = new ChromePdfRenderer();

// Create the Chrome renderer
var renderer = new ChromePdfRenderer();

// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPdf</h1>");

// Save the PDF
pdf.SaveAs("output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Consejos(Actualizado para v2025.9.4) Las actualizaciones recientes corrigen problemas con caracteres especiales/emojis en metadatos HTML y garantizan un mejor manejo de los campos de formulario HTML, incluidos los caracteres chinos en Linux. Pruebe el contenido dinámico con EnableJavaScript = true para obtener resultados óptimos.

Cuando su cadena HTML hace referencia a activos locales como imágenes o hojas de estilo, use el parámetro BaseUrlPath para convertir correctamente el contenido HTML con todos los recursos:

var renderer = new ChromePdfRenderer();

var renderer = new ChromePdfRenderer();

// Convert HTML content with local image and CSS references
string html = @"
    <link rel='stylesheet' href='styles.css'>
    <img src='logo.png' alt='Company Logo'>
    <h1>Company Report</h1>
    <p>Annual report content...</p>";

// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
var renderer = new ChromePdfRenderer();

var renderer = new ChromePdfRenderer();

// Convert HTML content with local image and CSS references
string html = @"
    <link rel='stylesheet' href='styles.css'>
    <img src='logo.png' alt='Company Logo'>
    <h1>Company Report</h1>
    <p>Annual report content...</p>";

// Set base path for resolving relative URLs in HTML to PDF conversion
var pdf = renderer.RenderHtmlAsPdf(html, @"C:\MyProject\Assets\");
pdf.SaveAs("report.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ConsejosBaseUrlPath le dice a IronPDF dónde encontrar sus archivos CSS, JavaScript e imágenes. Todas las rutas relativas en su cadena HTML se resolverán desde este directorio.

RELATED HOW-TO ARTICLE: How to Convert HTML String to PDF in C#

Cómo exportar una URL existente a PDF

Renderizar páginas web completas a PDFs con C# permite a los equipos separar el diseño del PDF y el trabajo de renderizado del back-end. Este enfoque le permite convertir cualquier URL específica directamente al formato PDF.

CSS de Impresión vs Pantalla

Puede configurar IronPDF para renderizar usando cualquier tipo de medios CSS.

var renderer = new ChromePdfRenderer();
using IronPdf.Rendering;

// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();

// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Screen media type shows the entire web page as displayed on screen
var renderer = new ChromePdfRenderer();
using IronPdf.Rendering;

// Initialize HTML to PDF converter
var renderer = new ChromePdfRenderer();

// Configure CSS media type for rendering specified URLs
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Screen media type shows the entire web page as displayed on screen
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Soporte de JavaScript

IronPDF soporta completamente JavaScript, jQuery e incluso AJAX cuando convierte HTML a PDF. Para contenido HTML dinámico, puede configurar IronPDF para esperar la finalización del JavaScript antes de renderizar páginas web en PDF. Esto es perfecto para aplicaciones de una sola página y sitios web dinámicos.

var renderer = new ChromePdfRenderer();

// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();

// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;

// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
var renderer = new ChromePdfRenderer();

// Configure JavaScript rendering for dynamic HTML content to PDF
var renderer = new ChromePdfRenderer();

// Enable JavaScript execution during PDF generation
renderer.RenderingOptions.EnableJavaScript = true;

// WaitFor.RenderDelay pauses before capturing the HTML
renderer.RenderingOptions.WaitFor.RenderDelay = 500; // milliseconds
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La ejecución de JavaScript también se puede mostrar cuando se renderiza un gráfico de acordes d3.js avanzado desde una página web al formato PDF:

var renderer = new ChromePdfRenderer();

// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();

// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");

// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");
var renderer = new ChromePdfRenderer();

// Create renderer for JavaScript-heavy HTML
var renderer = new ChromePdfRenderer();

// Convert d3.js visualization web page to PDF
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");

// Save the interactive chart as static PDF
pdf.SaveAs("chart.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

CSS Responsivo

Dado que las páginas web responsivas están diseñadas para ser vistas en un navegador, y IronPDF no abre una ventana de navegador real en el sistema operativo de su servidor, los elementos HTML responsivos pueden renderizarse en su tamaño más pequeño. Se recomienda PdfCssMediaType.Print para navegar por este problema al renderizar páginas web completas.

// Configure for optimal responsive design handling in HTML to PDF

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Configure for optimal responsive design handling in HTML to PDF

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

RELATED HOW-TO ARTICLE: How to Render URL to PDF

Cómo convertir un archivo HTML a PDF

Convertir archivos HTML locales a PDF preserva todos los recursos relativos incluyendo CSS, imágenes y JavaScript, como si se abrieran usando el protocolo file://. Este método de HTML a PDF es mejor para convertir plantillas o páginas HTML pre-diseñadas a documentos PDF.

var renderer = new ChromePdfRenderer();

// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();

// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

// Save the HTML file as PDF 
pdf.SaveAs("Invoice.pdf");

// All CSS, JavaScript, and images load correctly in the generated PDF
var renderer = new ChromePdfRenderer();

// Initialize ChromePdfRenderer for HTML file conversion
var renderer = new ChromePdfRenderer();

// Convert HTML file to PDF documents
// Preserves all relative paths and linked resources in HTML
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");

// Save the HTML file as PDF 
pdf.SaveAs("Invoice.pdf");

// All CSS, JavaScript, and images load correctly in the generated PDF
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ConsejosMantenga sus archivos HTML en una carpeta separada con sus activos (CSS, imágenes) para editarlos y probarlos en un navegador antes de convertir el archivo HTML a PDF. Esto garantiza que su HTML se represente perfectamente para documentos PDF de alta calidad.

RELATED HOW-TO ARTICLE: Render HTML File to PDF

2. Cómo configurar los ajustes de HTML a PDF

En términos de manipulación de documentos PDF, IronPDF proporciona amplias personalizaciones a través de la propiedad ChromePdfRenderer.RenderingOptions para los PDFs renderizados.

Settings Descripción Example
PaperSize Establecer las dimensiones de página para archivos PDF existentes (A4, Carta, Legal, etc.) Tamaño del papel PDF.A4
Orientación del papel Establecer vertical u horizontal para archivos PDF existentes Orientación del papel en formato PDF. Horizontal
Margen superior/inferior/izquierdo/derecho Establecer márgenes de página en milímetros (predeterminado: 25 mm) 40
Tipo de medio CSS CSS de pantalla o impresión para HTML a PDF PdfCssMediaType.Imprimir
Fondos de impresión HTML Incluir colores/imágenes de fondo (predeterminado: verdadero) true
Habilitar JavaScript Ejecutar JavaScript antes de renderizar el contenido HTML true
Esperar.Retraso de renderizado Tiempo de espera para contenido HTML dinámico (ms) 500

Vea este fragmento de código para un ejemplo completo de configuración para manipular documentos PDF:

var renderer = new ChromePdfRenderer();
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;

// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
var renderer = new ChromePdfRenderer();
using IronPdf.Rendering;

var renderer = new ChromePdfRenderer();

// Apply print-specific CSS rules
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Set custom margins in millimeters
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;

// Enable background colors and images
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set paper size and orientation
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;

// Generate PDFs with all settings applied to HTML content
var htmlContent = "<div style='background-color: #f0f0f0; padding: 20px;'><h1>Styled Content</h1></div>";
var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
pdfDocument.SaveAs("styled-output.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ConsejosUtilice PdfCssMediaType para obtener diseños más limpios y optimizados para impresión en su formato de archivo PDF renderizado. Utilice la pantalla para que coincida exactamente con lo que los usuarios ven en su navegador.

ARTÍCULOS RELACIONADOS:

Conversión de PDF a medida Perfeccionar Diseño PDF

3. Cómo utilizar las funciones avanzadas de generación y seguridad de PDF

Desbloquee capacidades a nivel empresarial para la conversión de HTML a PDF con plantillas avanzadas, operaciones asíncronas y características de seguridad. Estos métodos de manipulación de PDF le permiten crear documentos PDF a gran escala, proteger archivos PDF sensibles y asegurar la autenticidad de los documentos cuando convierte HTML a un formato PDF profesional.

Cómo generar una plantilla HTML para la creación de PDF por lotes

Creación Básica de PDF en Lote

La creación de PDF en lote es esencial para generar múltiples documentos PDF personalizados de manera eficiente. Para escenarios básicos, el método String.Format en C# funciona mejor para la manipulación simple de PDF.

// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");

// Results in HTML content: <h1>Hello World!</h1>
// Simple HTML templating with String.Format
string htmlTemplate = String.Format("<h1>Hello {0}!</h1>", "World");

// Results in HTML content: <h1>Hello World!</h1>
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Para plantillas más largas cuando necesita generar documentos PDF, use la sustitución de marcadores de posición en su contenido HTML: var renderer = new ChromePdfRenderer();

// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";

// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };

// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();

foreach (var name in names)
{
    // Replace placeholder with actual data in HTML string
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    // Generate personalized PDF document from HTML content
    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    // Save with customer-specific filename as PDF files
    pdf.SaveAs($"{name}-invoice.pdf");
}
// Define reusable HTML template for PDF files
var htmlTemplate = "<p>Dear [[NAME]],</p><p>Thank you for your order.</p>";

// Customer names for batch PDF conversion processing
var names = new[] { "John", "James", "Jenny" };

// Create personalized PDF documents for each customer
var renderer = new ChromePdfRenderer();

foreach (var name in names)
{
    // Replace placeholder with actual data in HTML string
    var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);

    // Generate personalized PDF document from HTML content
    var pdf = renderer.RenderHtmlAsPdf(htmlInstance);

    // Save with customer-specific filename as PDF files
    pdf.SaveAs($"{name}-invoice.pdf");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Plantillas de HTML a PDF con Handlebars.NET

Para plantillas complejas con bucles y condicionales cuando convierte HTML a PDF, use plantillas avanzadas con Handlebars.NET para generar documentos PDF con contenido HTML dinámico.

# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Package Handlebars.NET
# First, install Handlebars.NET for HTML to PDF templating
PM > Install-Package Handlebars.NET
SHELL
using HandlebarsDotNet;
var renderer = new ChromePdfRenderer();

// Define Handlebars template with placeholders for HTML content
var source = 
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile template for reuse in PDF conversion
var template = Handlebars.Compile(source);

// Create data object (can be database records) for HTML to PDF directly
var data = new { 
    title = "Monthly Report", 
    body = "Sales increased by 15% this month." 
};

// Merge template with data to create HTML content
var htmlResult = template(data);

// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);

pdf.SaveAs("monthly-report.pdf");
using HandlebarsDotNet;
var renderer = new ChromePdfRenderer();

// Define Handlebars template with placeholders for HTML content
var source = 
    @"<div class=""entry"">
        <h1>{{title}}</h1>
        <div class=""body"">
            {{body}}
        </div>
    </div>";

// Compile template for reuse in PDF conversion
var template = Handlebars.Compile(source);

// Create data object (can be database records) for HTML to PDF directly
var data = new { 
    title = "Monthly Report", 
    body = "Sales increased by 15% this month." 
};

// Merge template with data to create HTML content
var htmlResult = template(data);

// Convert templated HTML to PDF using the PDF converter
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlResult);

pdf.SaveAs("monthly-report.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

RELATED HOW-TO ARTICLE: Learn more about Handlebars.NET on GitHub

Controlar saltos de página en PDF:

Gestionar la paginación en los documentos PDF generados garantiza diseños profesionales y legibles al convertir fragmentos de HTML. Usa CSS para controlar dónde se dividen las páginas en tus archivos PDF.
<!DOCTYPE html>
<html>
  <head>
    <style type="text/css" media="print">
      .page {
        page-break-after: always;
        page-break-inside: avoid;
      }
    </style>
  </head>
  <body>
    <div class="page">
      <h1>Page 1 Content</h1>
    </div>
    <div class="page">
      <h1>Page 2 Content</h1>
    </div>
    <div class="page">
      <h1>Page 3 Content</h1>
    </div>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
    <style type="text/css" media="print">
      .page {
        page-break-after: always;
        page-break-inside: avoid;
      }
    </style>
  </head>
  <body>
    <div class="page">
      <h1>Page 1 Content</h1>
    </div>
    <div class="page">
      <h1>Page 2 Content</h1>
    </div>
    <div class="page">
      <h1>Page 3 Content</h1>
    </div>
  </body>
</html>
HTML

Cómo generar un PDF mediante el método asíncrono

IronPDF ofrece rendimiento a nivel empresarial con soporte completo para async y multihilos para sus requisitos de conversión de HTML a PDF cuando necesita generar archivos PDF a gran escala.

var renderer = new ChromePdfRenderer();
using System.Threading.Tasks;

// Async method for non-blocking PDF generation from HTML content
public async Task<byte[]> GeneratePdfAsync(string html)
{
    var renderer = new ChromePdfRenderer();

    // Async HTML to PDF conversion preserves thread pool
    var pdf = await renderer.RenderHtmlAsPdfAsync(html);

    // Return PDF files as byte array for web responses
    return pdf.BinaryData;
}

// Concurrent batch PDF generation for multiple HTML strings
public async Task GenerateMultiplePdfsAsync(List<string> htmlTemplates)
{
    var renderer = new ChromePdfRenderer();

    // Create parallel conversion tasks to generate PDF documents
    var tasks = htmlTemplates.Select(html => 
        renderer.RenderHtmlAsPdfAsync(html)
    );

    // Await all PDF conversions simultaneously
    var pdfs = await Task.WhenAll(tasks);

    // Save generated PDF files from HTML content
    for (int i = 0; i < pdfs.Length; i++)
    {
        pdfs[i].SaveAs($"document-{i}.pdf");
    }
}
var renderer = new ChromePdfRenderer();
using System.Threading.Tasks;

// Async method for non-blocking PDF generation from HTML content
public async Task<byte[]> GeneratePdfAsync(string html)
{
    var renderer = new ChromePdfRenderer();

    // Async HTML to PDF conversion preserves thread pool
    var pdf = await renderer.RenderHtmlAsPdfAsync(html);

    // Return PDF files as byte array for web responses
    return pdf.BinaryData;
}

// Concurrent batch PDF generation for multiple HTML strings
public async Task GenerateMultiplePdfsAsync(List<string> htmlTemplates)
{
    var renderer = new ChromePdfRenderer();

    // Create parallel conversion tasks to generate PDF documents
    var tasks = htmlTemplates.Select(html => 
        renderer.RenderHtmlAsPdfAsync(html)
    );

    // Await all PDF conversions simultaneously
    var pdfs = await Task.WhenAll(tasks);

    // Save generated PDF files from HTML content
    for (int i = 0; i < pdfs.Length; i++)
    {
        pdfs[i].SaveAs($"document-{i}.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ConsejosConsejos para optimizar el rendimiento de la conversión de HTML a PDF

  • Use sistemas de 64 bits para un rendimiento óptimo de generación de PDF.
  • Asegúrese de contar con recursos de servidor adecuados cuando genere documentos PDF (evite niveles gratuitos con poca capacidad)
  • Permita RenderDelay suficiente para JavaScript complejo en contenido HTML.
  • Reutilice instancias de ChromePdfRenderer cuando sea posible.
  • Aproveche correcciones de memoria de v2025.9.4 para operaciones por lotes/async y reducir recursos. pruebe con tamaños de archivo reducidos con encabezados/pies de página personalizados repetidos.

RELATED HOW-TO ARTICLE: How to Generate PDFs with Async and Multithreading

Cómo agregar funciones de seguridad avanzadas

Cómo Agregar Protección por Contraseña para Archivos PDF en .NET

Proteja documentos PDF generados sensibles con contraseñas y permisos cuando convierta contenido HTML a un formato PDF protegido.

var renderer = new ChromePdfRenderer();
var renderer = new ChromePdfRenderer();

// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");

// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123";     // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456";   // Password to modify PDF files

// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint;

// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");
var renderer = new ChromePdfRenderer();
var renderer = new ChromePdfRenderer();

// Convert HTML to PDF with security
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Report</h1>");

// Configure security settings for PDF files
pdf.SecuritySettings.UserPassword = "user123";     // Password to open PDF documents
pdf.SecuritySettings.OwnerPassword = "owner456";   // Password to modify PDF files

// Set granular permissions for PDF format
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserPrinting = PrintPermissions.LowQualityPrint;

// Apply strong encryption to PDF documents
pdf.SecuritySettings.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES256;
pdf.SaveAs("secure-document.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Cómo Agregar Firmas Digitales a Archivos PDF

Agregue firmas criptográficas para asegurar la autenticidad del documento PDF cuando genere archivos PDF a partir de contenido HTML.

var renderer = new ChromePdfRenderer();
using IronPdf.Signing;

var renderer = new ChromePdfRenderer();

// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval",
    SignerName = "Authorized Signer"  // New property in v2025.8.8 for enhanced signature details
};

// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
var renderer = new ChromePdfRenderer();
using IronPdf.Signing;

var renderer = new ChromePdfRenderer();

// Generate PDF from HTML page
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");

// Create digital signature with certificate for PDF files
var signature = new PdfSignature("certificate.pfx", "password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval",
    SignerName = "Authorized Signer"  // New property in v2025.8.8 for enhanced signature details
};

// Apply signature to PDF documents
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

RELATED HOW-TO ARTICLE: Digitally Signing PDF Documents with C#

4. Compare IronPDF con otras bibliotecas PDF .NET

IronPDF es la solución preferida para muchos equipos cuando se trata de generación de PDF en C# gracias a su robusto motor de renderizado potenciado por Chromium, APIs intuitivas y mejoras frecuentes de producto. Compararemos IronPDF con otros convertidores de PDF para encontrar la mejor solución para sus necesidades de generación de PDF.

Matriz de decisión rápida: IronPDF frente a otros convertidores de PDF .NET

Solución Cuándo utilizarlo Mejor para
IronPDF Conversión de sitios web modernos/HTML a PDF con fidelidad visual exacta. Aplicaciones empresariales que requieren un motor de renderizado HTML confiable, contenido dinámico y soporte profesional.
wkhtmltopdf Conversión de HTML simple en aplicaciones no críticas donde la representación obsoleta es aceptable. Generación básica de documentos con HTML/CSS heredado.
Fusión de sincronización Cuando ya haya invertido en el ecosistema Syncfusion o sea elegible para obtener una licencia comunitaria gratuita. Organizaciones que utilizan múltiples componentes de Syncfusion.
Aspose.PDF Manipulación compleja de PDF cuando la calidad de representación HTML es menos crítica. Amplias funciones de edición de PDF más allá de la conversión a HTML.

Tenga en cuenta: Soluciones como PDFsharp y iTextSharp carecen de capacidades nativas de conversión de HTML a PDF y fueron excluidas de esta comparación. QuestPDF requiere un enfoque basado en código sin soporte para HTML. Los desarrolladores que usan estas bibliotecas deben confiar en herramientas de terceros para el renderizado de HTML.

COMPARACIONES RELACIONADAS:

Comparación detallada: IronPDF frente a otros convertidores de PDF .NET

IronPDF wkhtmltopdf Syncfusion Aspose.PDF
Precisión de representación Pixel perfecto Estilo de impresión Good Good
Compatibilidad con HTML5 Full Outdated Full Full
Compatibilidad con CSS3 Full Limited Full Full
JavaScript Full No Limited Limited
Facilidad de uso API de alto nivel CLI Only Good Complex
Instalación del servidor None Ejecutable None None
Actuación Rápido + Asíncrono Slow Fast Fast
Support Ingenieros 24/7 Community Comercial Comercial
License Comercial LGPLv3 Comercial (Suscripción) Comercial
Pricing $799+ View Licensing Free $900+ $1,175+

Comparación de conversión de HTML a PDF en la vida real: Representación de la página de inicio de Reddit

Para evaluar la calidad del PDF de salida, probamos estas bibliotecas con la página principal de Reddit que contiene contenido web dinámico, CSS moderno y elementos HTML de JavaScript. Esta página sirve como un caso de prueba ideal para la generación de PDF de salida.

https://www.reddit.com/

Captura de pantalla de la página principal de Reddit mostrando contenido dinámico, estilo moderno y elementos interactivos utilizados para la prueba de conversión a PDF

IronPDF

Resultado de la conversión de IronPDF mostrando una renderización pixel-perfect de la página principal de Reddit con todo el contenido dinámico, estilizado e interactivo preservado

IronPDF ofrece resultados pixel-perfect, preservando todo el contenido web dinámico, el estilo de fuentes web modernas y los elementos interactivos exactamente como se muestran en Chrome, todo en tan solo unas pocas líneas de código.

Syncfusion

Conversión de PDF de Syncfusion mostrando renderización parcial con secciones faltantes y estilo incompleto de la página principal de Reddit

Syncfusion renderizó el PDF con la mayoría de las secciones y estilos ausentes, especialmente el contenido dinámico. Inicialmente bloqueado por la seguridad de Reddit. Lograr mejores resultados requiere una extensa configuración de línea de comandos, pero la salida sigue siendo incompleta.

Aspose.PDF

Intento de conversión de Aspose.PDF mostrando captura mínima de contenido con la mayoría de los elementos de la página faltantes de la página principal de Reddit

Aspose.PDF requirió primero una descarga manual de HTML (sin soporte para URL directo). Después de la conversión, el resultado carecía de un formato adecuado y se perdieron casi todas las secciones de contenido, lo que lo hace inadecuado para la web moderna con contenido dinámico.

wkhtmltopdf

Salida de wkhtmltopdf mostrando una versión estática y sin estilo de la página principal de Reddit sin elementos dinámicos ni CSS moderno

wkhtmltopdf se completó rápidamente, pero produjo una página plana y estática que carece de contenido crítico como actualizaciones en vivo, elementos dinámicos y secciones interactivas. Esto demuestra la incompatibilidad de wkhtmltopdf con sitios web modernos impulsados por JavaScript.

Conclusión sobre el rendimiento y la calidad del PDF de salida

Para los desarrolladores .NET que necesitan un conversor confiable de HTML a PDF, IronPDF se destaca con un código mínimo, APIs fáciles de usar y mejoras frecuentes del producto.

En una prueba del mundo real en contenido web, ofreció los resultados más rápidos y precisos, mientras que Syncfusion quedó rezagado, Aspose requirió pasos adicionales y wkhtmltopdf careció de estilo moderno. IronPDF ofrece el mejor equilibrio de velocidad, precisión y simplicidad para los flujos de trabajo de conversión de HTML a PDF de hoy.

Por favor note: Aspose, SyncFusion y wkhtmltopdf son marcas comerciales de sus respectivos propietarios. Este sitio no está afiliado ni es patrocinado por ellos. Todos los nombres, logotipos y marcas pertenecen a sus propietarios, y las comparaciones se basan en la información públicamente disponible al momento de escribir.

Resumen

Esta guía cubrió todo lo necesario para convertir HTML a PDF en .NET: desde la conversión básica de cadenas hasta funciones avanzadas como procesamiento asíncrono, firmas digitales y generación de lotes. Demostramos tres métodos de conversión, configuraciones esenciales, funciones avanzadas y configuraciones de seguridad, y comparamos IronPDF con otras bibliotecas mediante pruebas del mundo real de generación de documentos dinámicos.

Mientras los competidores lucharon con sitios web modernos o requerían soluciones complejas, IronPDF ofreció resultados impecables con un código mínimo y un potente motor de renderización.

¿Listo para simplificar tu flujo de trabajo de PDF y experimentar una generación versátil de PDF en solo unas pocas líneas de código? Instala IronPDF a través del Administrador de Paquetes NuGet (o selecciona Administrar Paquetes NuGet en Visual Studio) y convierte tu primer HTML a PDF hoy.

Comienza tu prueba gratuita de 30 días para realizar pruebas de producción sin marcas de agua. Licencias flexibles comienzan en $799 con precios de equipo transparentes que se ajustan a tus necesidades.

Ver licencias de IronPDF

5. Solución de problemas y soporte técnico

¿Tienes problemas con los siguientes errores en la conversión de HTML a PDF? IronPDF ofrece soporte de ingenieros 24/7 mediante el widget de chat en https://ironpdf.com/

Soluciones rápidas a errores comunes

  • ¿Lenta primera renderización? Normal. Chrome se inicializa en 2–3s, luego acelera.
  • ¿Problemas en la nube? Usa al menos Azure B1 o recursos equivalentes.
  • ¿Recursos faltantes? Configura rutas base o incrusta como base64.
  • ¿Elementos faltantes? Agrega RenderDelay para la ejecución de JavaScript.
  • ¿Memoria en renderización? Actualiza a v2025.9.4 para correcciones en HTML a PDF, sellos y encabezados/pies.
  • ¿Problemas con campos de formulario (p.ej., áreas de texto largas, casillas de verificación)? Corregido en v2025.7.17; asegúrate de nombres únicos para casillas de verificación.
  • ¿Recorte de encabezado/pie personalizado o caracteres especiales corruptos? Resuelto en v2025.8.8; prueba el ajuste de palabras y metadatos.

Obtenga ayuda de los ingenieros que construyeron IronPDF, 24/7

Próximos pasos

Cómo fusionar o dividir documentos PDF
Ver cómo hacerlo
Cómo agregar encabezados y pies de página personalizados a archivos PDF
Ver cómo hacerlo
Cómo redactar texto y regiones en PDF
Ver cómo hacerlo

Preguntas Frecuentes

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

Para convertir cadenas HTML a PDF, usa la clase ChromePdfRenderer y su método RenderHtmlAsPdf. Pasa tu cadena HTML a este método, luego guarda el PDF usando SaveAs.

¿Cuáles son los pasos para convertir una URL de página web a un documento PDF en C#?

Puedes convertir una URL de página web directamente en un PDF usando el método RenderUrlAsPdf, lo que te permite conservar estilos, imágenes y elementos interactivos como formularios e hipervínculos.

¿Cómo aseguro que el contenido JavaScript se renderice correctamente en el PDF?

Habilita el renderizado de JavaScript configurando RenderingOptions.EnableJavaScript = true y añade un retraso de renderizado usando RenderingOptions.WaitFor.RenderDelay para asegurar que el contenido dinámico se cargue completamente antes de la conversión.

¿Cuál es el mejor método para agregar encabezados y pies de página a un PDF en C#?

Usa la clase TextHeaderFooter para encabezados y pies de página de texto simple, o la clase HtmlHeaderFooter para contenido HTML más complejo. Puedes incluir marcadores de posición dinámicos como {page}, {total-pages}, y {date} para generación de contenido automática.

¿Puedo crear múltiples PDFs a partir de una plantilla HTML única en C#?

Sí, crea plantillas HTML con marcadores de posición, luego usa reemplazo de cadenas o bibliotecas de plantillado como Handlebars.NET. Sustituye los marcadores de posición con valores reales en tus datos iterados y genera PDFs usando RenderHtmlAsPdf.

¿Es posible asegurar mis PDFs generados con una contraseña?

Sí, puedes usar la propiedad SecuritySettings para establecer contraseñas de usuario y propietario, configurar permisos como impresión y copiado, y aplicar cifrado AES256 con SecuritySettings.EncryptionAlgorithm.

¿Cómo puedo optimizar el rendimiento para generar un gran volumen de PDFs?

Optimiza el rendimiento usando métodos asíncronos como RenderHtmlAsPdfAsync para operaciones no bloqueantes. Reutiliza instancias de ChromePdfRenderer, procesa múltiples PDFs simultáneamente usando Task.WhenAll, y asegúrate de tener recursos de servidor adecuados en un sistema de 64 bits.

¿Cómo manejo saltos de página en la salida del PDF en C# .NET?

Controla los saltos de página en tus PDFs usando propiedades CSS como page-break-after: always y page-break-inside: avoid dentro de un bloque CSS de tipo medio de impresión.

¿Qué opciones están disponibles para configurar el tamaño del papel y la orientación en los PDFs?

Establece el tamaño del papel usando RenderingOptions.PaperSize (opciones incluyen A4, Carta, Legal, etc.) y la orientación con RenderingOptions.PaperOrientation para Retrato o Paisaje. También se soportan tamaños personalizados en milímetros o pulgadas.

¿Cómo puedo combinar múltiples PDFs o incluir una página de portada en mi documento?

Usa el método estático PdfDocument.Merge para combinar múltiples PDFs. Genera tu página de portada por separado y combínala con tu documento principal para crear un PDF completo.

¿Cómo se compara la calidad de renderizado de esta biblioteca con otras opciones como wkhtmltopdf?

Esta biblioteca usa un motor de renderizado Chrome moderno para PDFs perfectos en píxeles, a diferencia del desactualizado motor WebKit de wkhtmltopdf. No requiere ejecutables de servidor, soporta JavaScript/CSS3 completo, recibe actualizaciones regulares y ofrece soporte profesional.

¿Por qué debería elegir esta biblioteca en lugar de PDFSharp para la conversión de HTML a PDF?

PDFSharp carece de conversión de HTML a PDF incorporada, requiriendo soluciones complejas. Esta biblioteca ofrece conversión directa de HTML/URL/archivos con una API de alto nivel, soporte para tecnologías web modernas y actualizaciones regulares con soporte profesional.

¿Qué hace de esta biblioteca una mejor opción que iTextSharp para la conversión de HTML?

La versión gratuita de iTextSharp no soporta conversión nativa de HTML a PDF y tiene una API de bajo nivel compleja. Esta biblioteca proporciona conversión de HTML sin problemas con una API intuitiva, soporte completo de CSS3/JavaScript y sin restricciones de licencia AGPL.

¿Cómo se compara la calidad de renderizado de esta biblioteca con Aspose.PDF?

Esta biblioteca produce PDFs de calidad Chrome perfectos en píxeles, mientras que Aspose.PDF a menudo omite estilos y contenido dinámico. Aspose requiere descargas manuales de HTML para la conversión de URL, pero esta biblioteca convierte URLs directamente con mayor precisión.

¿Por qué podría elegir esta biblioteca sobre Syncfusion PDF?

Mientras que Syncfusion es capaz, el motor Chrome optimizado de esta biblioteca funciona más rápido y maneja contenido dinámico de manera más efectiva. Ofrece una API más simple y características adicionales como generación de OCR y código de barras.

Compatibilidad con .NET 10: ¿IronPDF admite .NET 10 de inmediato?

Sí, IronPDF es totalmente compatible con .NET 10. Según las notas de la versión de IronPDF, la biblioteca está lista para usar desde el primer día para proyectos .NET 10, sin necesidad de configuración adicional. Tanto si usa aplicaciones web, de consola, de escritorio o de microservicios, IronPDF funciona de inmediato con .NET 10.

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
Revisado por
Jeff Fritz
Jeffrey T. Fritz
Gerente Principal de Programas - Equipo de la Comunidad .NET
Jeff también es Gerente Principal de Programas para los equipos de .NET y Visual Studio. Es el productor ejecutivo de la serie de conferencias virtuales .NET Conf y anfitrión de 'Fritz and Friends', una transmisión en vivo para desarrolladores que se emite dos veces a la semana donde habla sobre tecnología y escribe código junto con la audiencia. Jeff escribe talleres, presentaciones, y planifica contenido para los eventos de desarrolladores más importantes de Microsoft, incluyendo Microsoft Build, Microsoft Ignite, .NET Conf y la Cumbre de Microsoft MVP.
Comentarios
Círculo de Usuario
csharpBuilderX says:
Respuestas rápidas y ayuda precisa. ¡La experiencia de soporte fue excelente!
Círculo de Usuario
Daniel N. says:
Manejaron todo muy rápido. No esperaba que fuera tan suave.
Círculo de Usuario
Leila G. says:
Fui guiado a través del problema pacientemente y con claridad. Soporte de primera categoría.
Círculo de Usuario
johnny_dev87 says:
El soporte fue amable, útil, y se quedó conmigo hasta que se resolvió. ¡Gran trabajo!
Círculo de Usuario
Theo B. says:
Respuesta rápida, entendieron el problema en segundos. Aprecio la resolución sin complicaciones.
Círculo de Usuario
megan.codes says:
Excelente experiencia al cliente. Sentí que realmente escucharon y ayudaron.
Círculo de Usuario
Matt Mariano says:
Proceso very easy. Thanks much
Círculo de Usuario
Ajay V. says:
Gracias por la ayuda rápida y la conversación fluida. Conseguí lo que necesitaba sin estrés.
Círculo de Usuario
Matt Mariano says:
Proceso very easy. Thanks much
Círculo de Usuario
Santosh Ramareddy says:
Lo entendí y pude guiarme fácilmente.
Círculo de Usuario
Rob Davis says:
Me ayudaron instantáneamente con mi problema y esperaron a que lo probara. Muy satisfecho con el servicio que recibí.
Círculo de Usuario
harry_devtools says:
El equipo de soporte sabía exactamente qué hacer. Rápido, eficiente y amable en todo momento.
Círculo de Usuario
Chris Derham says:
Resolví el problema sin dolor. Buen trabajo. ¡Deberías darle un aumento a tu equipo de soporte!
Círculo de Usuario
Varonique Philander says:
Pude obtener la información que necesitaba. Gracias.
Círculo de Usuario
Jan Dolezalek says:
Respuesta rápida del soporte. El problema se está resolviendo inmediatamente.
Círculo de Usuario
Henrik Melchander says:
Rápido y claro
Círculo de Usuario
Aayush Raj says:
Obra maestra
Círculo de Usuario
Doug Charbonneau says:
El soporte tardó bastante tiempo en trabajar conmigo en los problemas. ¡Estaba a punto de rendirme, así que puede que haya salvado una venta!!!
Círculo de Usuario
Rod Rencoret says:
apoyo a la cabra, gran servicio. gracias.
Círculo de Usuario
Beugin says:
Simple y eficiente.
Círculo de Usuario
William Mayerchak says:
Buen artículo, buen tiempo de respuesta.
Círculo de Usuario
Abby Fields says:
Sinceramente, no está mal. Las explicaciones fueron claras, y me gusta que los ejemplos se puedan copiar y pegar directamente. No todos los documentos hacen eso bien. Una sugerencia: agrega una sección sobre la integración con vistas Razor.
Círculo de Usuario
Leo Fernandez says:
Estaba buscando una manera de convertir plantillas HTML dinámicas a PDF sin comprometer el estilo CSS, y este tutorial lo consiguió. Todo lo que necesitaba estaba allí. Incluso la sección de licencias ayudó a aclarar algunas confusiones que tenía.
Círculo de Usuario
iAmNick_C says:
Directo al grano, lo que agradezco. Los PDFs también salen con buena calidad.
Círculo de Usuario
user12345 says:
Ahora los PDFs se imprimen en los márgenes correctos, finalmente. ¡Gracias!
Círculo de Usuario
Oscar Vega says:
Si estás usando .NET y buscas convertir HTML en PDFs sin perder la cabeza, esta guía es una apuesta segura. Integración fácil, sin dependencias extrañas. Solo agrega el paquete y listo.
Círculo de Usuario
skywalker.dev says:
Estaba en marcha antes de que mi café se enfriara. ¡Eso es decir algo!
Círculo de Usuario
Vanessa Li says:
El tutorial fue sorprendentemente completo. Aprecié la atención al detalle, especialmente cuando se trataba de renderizar estilos y fuentes. Usamos IronPDF en una aplicación empresarial bastante grande y no nos ha decepcionado todavía.
Círculo de Usuario
theRealCSharpNerd says:
Guía sólida. IronPDF tiene una curva de aprendizaje extraña, pero esto hizo que fuera mucho más fácil de entender.
Círculo de Usuario
Nadia Hassan says:
Recurso decente. Podría hacer falta más cobertura de los casos extremos, pero es un buen punto de partida para la mayoría de los desarrolladores.
Círculo de Usuario
Tina Q. says:
Está bien. Esperaba casos de uso más avanzados, como agregar marcadores o TOCs dinámicamente. Pero en general, me puso en marcha.
Círculo de Usuario
Priya Chatterjee says:
Me gusta cómo esto no asume demasiado. Es amigable para principiantes pero todavía útil para desarrolladores como yo que solo quieren confirmar las mejores prácticas. Bien hecho.
Círculo de Usuario
dev_mike89 says:
Funciona a la perfección. ¡Lo puse en marcha en 10 minutos!
Círculo de Usuario
Harvey Becker says:
Usé esto para un proyecto de tablero de informes interno. Funcionó bien desde el principio. Me encantaría ver algunos ejemplos de manejo asíncrono para trabajos de renderizado largos.
Círculo de Usuario
lucy_d_coder says:
Limpio y simple. Me gusta eso.
Círculo de Usuario
Jacob.Stone says:
Ojalá lo hubiera encontrado antes. Me ahorró un montón de pruebas y errores.
Círculo de Usuario
Benito Reyes says:
Podría usar más ejemplos de Razor Pages. Aun así, el tutorial te da todas las piezas correctas para que funcione.
Círculo de Usuario
xXJoelXx says:
Solo dos palabras: salvavidas.
Círculo de Usuario
Laura Meyers says:
He estado usando IronPDF por un par de años ahora. Cada vez que reviso los documentos, han mejorado. Este tutorial de HTML a PDF no es una excepción: bien organizado y muy amigable para el desarrollador.
Círculo de Usuario
CodeWithMarla says:
Desarrollador a la antigua aquí. IronPDF no está nada mal. Este tutorial tenía suficiente carne para empezar sin estar buscando en Google cada cinco minutos.
Círculo de Usuario
Matt R. says:
Esta guía me fue útil cuando migré desde otro motor de PDF. La parte sobre el soporte de estilos con CSS embebido fue oro.
Dejar un comentario
¿Listo para empezar?
Nuget Descargas 16,493,056 | Version: 2025.11 recién lanzado