IRONSOFTWAREHOME

How to Convert HTML to PDF in C# .NET Core

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 4 de junio de 2026

Convertir a PDFs desde varios formatos puede ser un desafío debido a los estrictos estándares del formato PDF. La conversión no puede producir una coincidencia uno a uno en muchos casos, especialmente cuando se trata de estilo HTML y CSS. Sin embargo, en el panorama digital de hoy, la capacidad de convertir URLs y formularios, incluidos aquellos con HTML y CSS, es esencial. Aquí es donde IronPDF sobresale, ofreciendo características intuitivas que permiten a los desarrolladores convertir una amplia gama de formatos a PDF con alta fidelidad, a menudo en solo unas pocas líneas de código.

Con IronPDF, puedes convertir fácilmente HTML, DOCX, RTF, Markdown, e incluso imágenes a PDF, asegurando que la integridad de tus documentos se mantenga. También soporta la conversión de páginas web dinámicas de populares frameworks como Razor, CSHTML, ASPX y XAML, eliminando preocupaciones de compatibilidad y convirtiendo IronPDF en tu solución integral para todas las necesidades de conversión a PDF.

Además de la conversión directa, IronPDF ofrece potentes opciones de personalización. Puedes adaptar tu salida PDF con márgenes personalizados, encabezados y pies de página para incluir números de página y ajustar configuraciones de escala de grises para reducir el tamaño del archivo. Mejora tus documentos incorporando características adicionales como una tabla de contenidos, saltos de página automáticos y contenido que se ajusta perfectamente al tamaño de documento deseado.

En este tutorial, exploraremos estas capacidades y más, proporcionando ejemplos de código y destacando las características clave de IronPDF. Prepárate para transformar tu proceso de conversión a PDF, permitiéndote convertir, personalizar y optimizar tus documentos PDF sin esfuerzo con IronPDF.

Casos de uso para el mercado español: la conversión de formatos a PDF es especialmente relevante para los ISVs que desarrollan software de facturación conforme a la normativa española. El sistema VeriFactu (Real Decreto-ley 15/2025) exige que el software de facturación genere representaciones PDF de las facturas con la marca VERI*FACTU, el código QR de la AEAT y metadatos de encadenamiento criptográfico. El estándar Facturae 3.2.x de la AEAT utiliza el embedding de XML dentro de archivos PDF/A-3 para la factura electrónica B2B conforme a la Ley Crea y Crece. IronPDF soporta la conversión HTML-a-PDF para generar representaciones VERI*FACTU, la generación de PDF/A para archivado conforme, y la conversión XML-a-PDF mediante transformaciones XSLT que permite estructurar los datos Facturae antes de renderizarlos.

Inicio rápido: Convertir HTML a PDF con IronPDF

Comienza con IronPDF para convertir HTML a PDF sin esfuerzo en .NET Core. Con solo una línea de código, puedes renderizar PDFs con precisión de píxel desde cadenas HTML utilizando la poderosa API de IronPDF. Esta guía te mostrará cómo integrar rápidamente IronPDF en tu proyecto, permitiendo una generación de PDFs sin problemas con una configuración mínima. Ya sea que estés convirtiendo HTML, URLs, o vistas Razor, IronPDF simplifica el proceso, haciéndolo accesible para desarrolladores de todos los niveles. Comienza a convertir hoy y explora características avanzadas cuando estés listo.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

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

    var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
    C#
  3. 3Despliegue para probar en su entorno real

    Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer
Tabla de contenido

Conversión versátil de PDF

PDF a partir de cadena HTML

Para convertir un PDF desde una cadena HTML, podemos usar el método RenderHtmlAsPdf para transformar rápidamente la cadena HTML en un PDF con precisión de píxeles.

using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

PDF a partir de HTML

Convierte fácilmente un archivo HTML a PDF con nuestro método RenderHtmlAsPdf y ahorra rápidamente tu PDF con precisión de píxeles.

using IronPdf;
using IronPdf.Engines.Chrome;
using IronPdf.Rendering;


var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        CssMediaType = PdfCssMediaType.Print,
        MarginBottom = 0,
        MarginLeft = 0,
        MarginRight = 0,
        MarginTop = 0,
        Timeout = 120,
    },
};
renderer.RenderingOptions.WaitFor.RenderDelay(50);

// Create a PDF from an existing HTML file using C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

PDF desde URL

Convierte la URL a PDF rápidamente con RenderUrlAsPdf en solo unas pocas líneas. Introduce la URL como parámetro y guárdala fácilmente.

using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export to a file or Stream
pdf.SaveAs("url.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Imagen a PDF

¿Tienes una imagen que quieres mostrar como PDF? Conviértelo rápidamente con nuestra clase ImageToPdfConverter y llama al método ImageToPdf.

using IronPdf;

string imagePath = "meetOurTeam.jpg";

// Convert an image to a PDF
PdfDocument pdf = ImageToPdfConverter.ImageToPdf(imagePath);

// Export the PDF
pdf.SaveAs("imageToPdf.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Imagen del PDF

Para el contrario del ejemplo anterior, primero podemos convertir el archivo de entrada en un PDF y luego usar el método RasterizeToImageFiles para convertir el PDF en imágenes.

using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render PDF from web URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Export images from PDF
pdf.RasterizeToImageFiles("wikipage_*.png");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Convertir DOCX a PDF

¿Alguna vez has necesitado convertir un archivo DOCX, como un currículum, a PDF fácilmente? IronPDF te tiene cubierto. Simplemente llama al método RenderDocxAsPDF para convertir.

using IronPdf;

// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();

// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Convertir RTF a PDF

Para convertir un archivo RTF en un PDF, llamamos al método RenderRtfFileAsPdf con el archivo RTF como entrada.

using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render from RTF file
PdfDocument pdf = renderer.RenderRtfFileAsPdf("sample.rtf");

// Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Convertir MD a PDF

Para convertir un MD a PDF, podemos llamar al método RenderMarkdownFileAsPdf con el archivo MD como entrada.

using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render from markdown file
PdfDocument pdf = renderer.RenderMarkdownFileAsPdf("sample.md");

// Save the PDF
pdf.SaveAs("pdfFromMarkdownFile.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Convertir XML a PDF

Aunque convertir XML a PDF puede ser bastante desafiante, IronPDF todavía se enfrenta al desafío y ayuda a convertir XML a PDF en unos pocos pasos. Comenzamos con una plantilla XLST y luego convertimos el XML a PDF a través de HTML mediante transformaciones XLST. Aquí hay una versión abreviada del fragmento de código para ayudarte a comenzar.

// XSLT template that defines the transformation from XML to HTML
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match='/'>
<html>
<style>
td{
  text-align: center;
  padding: 20px;
  border: 1px solid #CDE7F0;
}
th{
  color: white;
  padding: 20px;
}
</style>
<body style='font-family: Arial, Helvetica Neue, Helvetica, sans-serif;'>
  <table style='border-collapse: collapse;'>
    <thead>
      <tr>
        <th colspan='3'>
          <img style='margin: auto;' src='https://ironsoftware.com/img/svgs/ironsoftware-logo-black.svg'/>
        </th>
      </tr>
    </thead>
    <tbody>
      <tr bgcolor='#9acd32'>
        <th bgcolor='#32ab90'>Title</th>
        <th bgcolor='#f49400'>Feature</th>
        <th bgcolor='#2a95d5'>Compatible</th>
      </tr>
      <xsl:for-each select='catalog/cd'>
      <tr>
        <td style='font-weight: bold;'><xsl:value-of select='title'/></td>
        <td style='background-color: #eff8fb; color: #2a95d5; font-weight: bold;'><xsl:value-of select='feature'/></td>
        <td><xsl:value-of select='compatible'/></td>
      </tr>
      </xsl:for-each>
    </tbody>
  </table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
";

[...]

// Create an instance of XslCompiledTransform
XslCompiledTransform transform = new XslCompiledTransform();

// Load the XSLT from a string
using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
{
    transform.Load(reader);
}

// Transform the XML to HTML
StringWriter results = new StringWriter();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
    transform.Transform(reader, null, results);
}

// Create a renderer for converting HTML to PDF
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
// Options, headers, and footers may be set here if needed
// Render our XML as a PDF via XSLT transformation
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Uso con Facturae en España: el estándar Facturae 3.2.x de la AEAT define la factura electrónica en formato XML. Aunque el archivo XML Facturae es el documento oficial, la normativa también exige una representación PDF legible para el destinatario. El patrón XML-a-PDF de IronPDF (XSLT + RenderHtmlAsPdf) permite transformar el XML Facturae a una representación HTML estructurada y renderizarla como PDF, generando a la vez el documento conforme con los campos obligatorios. Para la conformidad con el Sistema Inmediato de Información (SII) de la AEAT, los ISVs también pueden utilizar PDF/A-3 para embeber el XML Facturae directamente en el PDF, creando un documento dual conforme al perfil Facturae/PDF-A.

PDF a HTML

Además de convertir varios formatos a PDFs, IronPDF también soporta la operación inversa de convertir PDFs en HTML. Aquí hay un fragmento de código rápido para demostrar la funcionalidad.

using IronPdf;
using System;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Convert PDF to HTML string
string html = pdf.ToHtmlString();
Console.WriteLine(html);

// Convert PDF to HTML file
pdf.SaveAsHtml("myHtml.html");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Página web dinámica a PDF

¿Necesitas que tu página web dinámica se conserve y convierta a PDFs mientras se preserva el diseño y formato exacto? No busques más allá de IronPDF, que convierte rápidamente una variedad de populares frameworks de páginas web dinámicas a PDFs.

PDF a partir de páginas ASPX

Aquí hay un breve fragmento de código sobre la conversión de Páginas ASPX como PDF en Páginas de Servidor Activo.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
        }
    }
}

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

XAML a PDF (MAUI)

Para los desarrolladores que buscan construir aplicaciones multiplataforma, .NET MAUI es una elección popular entre los frameworks. IronPDF soporta por completo la conversión de XAML a PDF con unos pocos pasos.

using IronPdf.Extensions.Maui;

namespace mauiSample;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };

        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;

        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Generar informes en PDF

Cuando se trata de generar Reportes PDF, las dimensiones y formato exactos son cruciales. Como tal, IronPDF te permite generar PDFs sin problemas con solo un par de pasos.

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Crear PDF en servidores Blazor

IronPDF soporta .NET 6, y como incluye tipos de proyecto como Blazor, este fragmento de código proporciona un breve ejemplo de cómo crear PDFs en Servidor Blazor.

@code {

    // Model to bind user input
    private InputHTMLModel _InputMsgModel = new InputHTMLModel();

    private async Task SubmitHTML()
    {
        // Set your IronPDF license key
        IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";

        // Create a renderer to convert HTML to PDF
        var render = new IronPdf.ChromePdfRenderer();

        // Render the HTML input into a PDF document
        var doc = render.RenderHtmlAsPdf(_InputMsgModel.HTML);

        var fileName = "iron.pdf";

        // Create a stream reference for the PDF content
        using var streamRef = new DotNetStreamReference(stream: doc.Stream);

        // Invoke JavaScript function to download the PDF in the browser
        await JS.InvokeVoidAsync("SubmitHTML", fileName, streamRef);
    }

    public class InputHTMLModel
    {
        public string HTML { get; set; } = "My new message";
    }
}

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Razor a PDF (Servidores Blazor)

Además de crear PDFs en Blazor Servers, IronPDF también es compatible con la generación de documentos PDF desde componentes Razor dentro de una página Blazor. Haciendo la creación de archivos y páginas PDF mucho más eficiente.

[Parameter]
public IEnumerable<PersonInfo> persons { get; set; }
public Dictionary<string, object> Parameters { get; set; } = new Dictionary<string, object>();
 
protected override async Task OnInitializedAsync()
{
    persons = new List<PersonInfo>
    {
        new PersonInfo { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
        new PersonInfo { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
        new PersonInfo { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
}
private async void PrintToPdf()
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Apply text footer
    renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            LeftText = "{date} - {time}",
            DrawDividerLine = true,
            RightText = "Page {page} of {total-pages}",
            Font = IronSoftware.Drawing.FontTypes.Arial,
            FontSize = 11
        };
 
    Parameters.Add("persons", persons);
 
    // Render razor component to PDF
    PdfDocument pdf = renderer.RenderRazorComponentToPdf<Person>(Parameters);
 
    File.WriteAllBytes("razorComponentToPdf.pdf", pdf.BinaryData);
}

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

CSHTML a PDF

Convertir CSHTML (Razor) a PDF te permite generar documentos profesionales y listos para imprimir directamente desde tus aplicaciones web. Esto es útil para facturas, informes, contratos, o cualquier contenido dinámico. IronPDF soporta Páginas Razor, MVC Core, y MVC Framework, además de renderizado sin interfaz, haciéndolo fácil de integrar la generación de PDFs en tus aplicaciones .NET con solo unas pocas líneas de código.

CSHTML a PDF (Razor Pages)

using IronPdf.Razor.Pages;
 
public IActionResult OnPostAsync()
{
    persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
 
    ViewData["personList"] = persons;
 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
 
    // Render Razor Page to PDF document
    PdfDocument pdf = renderer.RenderRazorToPdf(this);
 
    Response.Headers.Add("Content-Disposition", "inline");
 
    return File(pdf.BinaryData, "application/pdf", "razorPageToPdf.pdf");
}

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

CSHTML a PDF (MVC Core)

public async Task<IActionResult> Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (_httpContextAccessor.HttpContext.Request.Method == HttpMethod.Post.Method)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render View to PDF document
        PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Persons.cshtml", persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // Output PDF document
        return File(pdf.BinaryData, "application/pdf", "viewToPdfMVCCore.pdf");
    }
    return View(persons);
}

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

CSHTML a PDF (Marco MVC)

public ActionResult Persons()
{
    var persons = new List<Person>
    {
    new Person { Name = "Alice", Title = "Mrs.", Description = "Software Engineer" },
    new Person { Name = "Bob", Title = "Mr.", Description = "Software Engineer" },
    new Person { Name = "Charlie", Title = "Mr.", Description = "Software Engineer" }
    };
    if (HttpContext.Request.HttpMethod == "POST")
    {
        // Provide the path to your view file
        var viewPath = "~/Views/Home/Persons.cshtml";
        ChromePdfRenderer renderer = new ChromePdfRenderer();
 
        // Render Razor view to PDF document
        PdfDocument pdf = renderer.RenderView(this.HttpContext, viewPath, persons);
        Response.Headers.Add("Content-Disposition", "inline");
 
        // View the PDF
        return File(pdf.BinaryData, "application/pdf");
    }
    return View(persons);
}

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

CSHTML a PDF (sin encabezado)

app.MapGet("/PrintPdf", async () =>
{
    // Set your IronPDF license key
    IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
    
    // Enable detailed logging for troubleshooting
    IronPdf.Logging.Logger.LoggingMode = IronPdf.Logging.Logger.LoggingModes.All;

    // Render the Razor view to an HTML string
    string html = await RazorTemplateEngine.RenderAsync("Views/Home/Data.cshtml");

    // Create a new instance of ChromePdfRenderer 
    ChromePdfRenderer renderer = new ChromePdfRenderer();
   
    // Render the HTML string as a PDF document
    PdfDocument pdf = renderer.RenderHtmlAsPdf(html, "./wwwroot");

    // Return the PDF file as a response
    return Results.File(pdf.BinaryData, "application/pdf", "razorViewToPdf.pdf");
});

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Mi biblioteca favorita de este tipo es IronPDF. Permite una manipulación rápida y eficiente de archivos PDF. También tiene muchas funciones valiosas, como exportar al formato PDF/A y firmar documentos PDF digitalmente.

Milan Jovanovic

Microsoft MVP

Ver estudio de caso

IronOCR significa que podemos ahorrar $40,000 anualmente en el procesamiento manual, mientras mejoramos la productividad y liberamos recursos para tareas de alto impacto. Lo recomendaría encarecidamente.

Brent Matzelle

Director de Tecnología, OPYN

Ver estudio de caso

El Iron Suite juega un papel crucial en nuestras operaciones. Estas son herramientas que aumentan la eficiencia en toda la empresa, incluyendo la creación de planos y la mejora en la gestión de inventario.

David Jones

Ingeniero de Software Principal, Agorus Build

Ver estudio de caso

Accesibilidad web

Inicio de sesión en sitios web y sistemas TLS

IronPDF ofrece una solución sencilla para convertir páginas web que requieren autenticación. Con sus opciones de renderizado, los usuarios pueden omitir el nombre de usuario y la contraseña usando la propiedad ChromeHttpLoginCredntials.

using IronPdf;
using System;

ChromePdfRenderer renderer = new ChromePdfRenderer
{
    // setting login credentials to bypass basic authentication
    LoginCredentials = new ChromeHttpLoginCredentials()
    {
        NetworkUsername = "testUser",
        NetworkPassword = "testPassword"
    }
};

var uri = new Uri("http://localhost:51169/Invoice");

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf(uri);

// Export PDF
pdf.SaveAs("UrlToPdfExample.Pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Galletas

Aplica cookies a la solicitud de inicio de sesión adicional para asegurar que tu sesión se guarde. Esto facilitará la renderización de recursos adicionales dentro del dominio bloqueado, todo dentro de IronPDF.

using IronPdf;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.RequestContext = IronPdf.Rendering.RequestContexts.Global;

ChromeHttpLoginCredentials credentials = new ChromeHttpLoginCredentials() {
    NetworkUsername = "testUser",
    NetworkPassword = "testPassword"
};

string uri = "http://localhost:51169/Invoice";

// Apply cookies
renderer.ApplyCookies(uri, credentials);

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Cabecera de solicitud HTTP

Además de las cookies, IronPDF también permite a los usuarios personalizar la cabecera de su solicitud HTTP con tokens de autorización y otros campos relacionados comunes.

using IronPdf;
using System.Collections.Generic;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.HttpRequestHeaders = new Dictionary<string, string>
{
    { "Authorization", "Bearer test-token-123" }
};

// Render PDF from authenticated page
var pdf = renderer.RenderUrlAsPdf("https://httpbin.org/bearer");
pdf.SaveAs("output.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Conversión de PDF a medida

Opciones de renderización

IronPDF permite a los usuarios personalizar la apariencia y formato de sus PDFs generados. La clase ChromePdfRender que se utiliza para convertir diversas entradas en PDFs también incluye la propiedad RenderingOptions, permitiendo a los usuarios controlar cómo se ve la salida.

using IronPdf;

// Instantiate a ChromePdfRenderer object, which uses a headless version of the Chrome browser
// to render HTML/CSS as a PDF document.
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure rendering options
// Enable printing of HTML backgrounds to ensure all styles are visible.
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

// Set HTML header content using HtmlHeaderFooter.
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    // HTML fragment to add a header at the top of every page in the PDF.
    HtmlFragment = "<h1>Header Content</h1>"
};

// Set a custom paper size for the PDF in millimeters (width and height).
renderer.RenderingOptions.SetCustomPaperSizeinMilimeters(150, 150);

// Set the top margin to zero to start the content from the very top of the page.
renderer.RenderingOptions.MarginTop = 0;

// Define a Markdown string that will be rendered as a PDF.
// Markdown text allows basic formatting like bold and italic styles.
string md = "This is some **bold** and *italic* text.";

// Render the Markdown string to a PDF document.
// The library will convert Markdown syntax into equivalent HTML before rendering it as a PDF.
PdfDocument pdf = renderer.RenderMarkdownStringAsPdf(md);

// Save the generated PDF to a file named "renderingOptions.pdf."
pdf.SaveAs("renderingOptions.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Configurar margen personalizado

Puedes adaptar aún más la apariencia de tu PDF de salida ajustando los márgenes, permitiéndote controlar exactamente el diseño y el espacio.

ChromePdfRenderer renderer = new ChromePdfRenderer();

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

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Escala de grises

Para generar un PDF en escala de grises, configuramos la propiedad GrayScale dentro de RenderingOptions a verdadero.

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set GrayScale to true
renderer.RenderingOptions.GrayScale = true;

PdfDocument pdf = renderer.RenderUrlAsPdf("https://ironsoftware.com/");
pdf.CopyPage(0).SaveAs("test.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Refine el diseño de tu PDF

Añadir un índice

Crea una tabla de contenidos dinámica con IronPDF para ayudar a los lectores a navegar fácilmente por tu documento. IronPDF maneja automáticamente el índice de contenidos con hiperenlaces a encabezados como h1 y h2. Junto con eso, también puedes personalizar el estilo de la tabla de contenido con estilos HTML y CSS.

using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Configure render options
renderer.RenderingOptions = new ChromePdfRenderOptions
{
    // Enable table of content feature
    TableOfContents = TableOfContentsTypes.WithPageNumbers,
};

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableOfContent.html");

pdf.SaveAs("tableOfContents.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Salto de página

Agrega saltos de página entre secciones para separar claramente el contenido y mejorar la legibilidad de tu documento. Con IronPDF, simplemente usa el HTML div style= page-break-after para lograr ese efecto.

using IronPdf;

const string html = @"
  <table style='border: 1px solid #000000'>
    <tr>
      <th>Company</th>
      <th>Product</th>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronPDF</td>
    </tr>
    <tr>
      <td>Iron Software</td>
      <td>IronOCR</td>
    </tr>
  </table>

  <div style='page-break-after: always;'> </div>

  <img src='https://ironpdf.com/img/products/ironpdf-logo-text-dotnet.svg'>";

var renderer = new ChromePdfRenderer();

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("Page_Break.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Ajuste a página y zoom

¿Necesitas ayuda para decidir las dimensiones del contenido para adaptarse a un tamaño de papel especificado? IronPDF te respalda con el UseChromeDefault, que imita cómo la vista previa de impresión de Google Chrome escala el contenido para ajustarse a la página.

using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Chrome default rendering
renderer.RenderingOptions.PaperFit.UseChromeDefaultRendering();

// Render web URL to PDF
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

pdf.SaveAs("chromeDefault.pdf");

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra exhaustiva guía práctica.

Conclusión

Los ejemplos anteriores muestran las impresionantes capacidades y características destacadas que puedes desbloquear mientras conviertes varios formatos a PDFs usando IronPDF.

Resumen para proyectos de facturación en España: IronPDF cubre los principales flujos de conversión relevantes para el cumplimiento normativo español:

  • HTML a PDF: generación de representaciones VERI*FACTU para facturas conforme a VeriFactu (Real Decreto-ley 15/2025), incluyendo código QR de la AEAT y leyenda VERI*FACTU.
  • XML a PDF (XSLT): transformación de datos Facturae XML a representaciones PDF mediante plantillas XSLT, cumpliendo el estándar Facturae 3.2.x de la AEAT.
  • PDF/A: generación de archivos PDF/A para archivado conforme de facturas electrónicas y soporte de embedding de XML Facturae en PDF/A-3 para el envío al SII.
  • Firmas digitales: soporte de firma digital para facturas PDF, compatible con firmas PAdES requeridas en contextos de FACe (Punto General de Entrada de Facturas de la Administración General del Estado) y TicketBAI en el País Vasco (Bizkaia, Gipuzkoa, Araba).

Si deseas solicitar una característica o tienes preguntas generales sobre IronPDF o licencias, por favor contacta a nuestro equipo de soporte. Estaremos más que felices de asistirte.

Preguntas Frecuentes

¿Cómo convierto HTML a PDF en .NET Core?

Para convertir HTML a PDF en .NET Core, utiliza la biblioteca IronPDF. Primero, instala el paquete a través de NuGet. Luego, crea una instancia de ChromePdfRenderer y utiliza el método RenderHtmlAsPdf para convertir cadenas HTML al formato PDF.

¿Cómo puedo convertir una URL en vivo a un documento PDF?

Puedes convertir una URL en vivo a un documento PDF usando IronPDF instalando la biblioteca desde NuGet, creando una instancia de ChromePdfRenderer y llamando al método RenderUrlAsPdf con la URL de la página web que deseas convertir.

¿Cuáles son los pasos para convertir vistas Razor a PDF?

Para convertir vistas Razor a PDF, renderiza la vista en una cadena HTML y luego pásala al método RenderHtmlAsPdf de IronPDF. Esto permite crear PDFs dinámicos desde vistas MVC con vinculación de datos completa.

¿Pueden modificarse los archivos PDF existentes?

Sí, los archivos PDF existentes pueden modificarse usando IronPDF. Usa PdfDocument.FromFile para cargar un PDF, y luego aplica modificaciones como unir, agregar encabezados/pies de página o alterar configuraciones de seguridad.

¿Qué opciones están disponibles para renderizar PDFs?

IronPDF proporciona varias opciones de renderizado a través de ChromePdfRenderOptions. Puedes personalizar el tamaño del papel, la orientación, los márgenes y más, asegurando que tus PDFs cumplan con requisitos específicos de diseño y estilo.

¿Cómo pueden desplegarse PDFs en un entorno Docker?

Despliega PDFs en un entorno Docker configurando las dependencias de Linux dentro de tu Dockerfile. Usa IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig de IronPDF para gestionar automáticamente las dependencias en aplicaciones contenedorizadas.

¿Es posible añadir firmas digitales a archivos PDF?

Sí, se pueden añadir firmas digitales a archivos PDF utilizando la clase PdfSignature. Al utilizar el método Sign y un archivo de certificado, puedes garantizar la autenticidad e integridad del documento.

¿Qué características de seguridad ofrece IronPDF para PDFs?

IronPDF ofrece robustas características de seguridad incluyendo protección con contraseña, cifrado y control de acceso. Establece estas características a través de la propiedad SecuritySettings para gestionar permisos de visualización, impresión y edición.

¿Cómo pueden extraerse texto e imágenes de documentos PDF?

Texto e imágenes pueden extraerse de documentos PDF utilizando los métodos ExtractAllText y ExtractAllImages de IronPDF. Estos permiten procesar datos de documentos enteros o páginas específicas.

¿Cómo aplico marcas de agua a los archivos PDF?

Las marcas de agua pueden aplicarse a archivos PDF usando la propiedad Watermark de IronPDF con objetos HtmlStamp. Para necesidades más avanzadas, la clase HtmlStamper soporta estampados basados en HTML con estilos personalizables.

¿IronPDF es compatible con .NET 10 y cómo lo uso en un proyecto .NET 10?

Sí, IronPDF es totalmente compatible con .NET 10 gracias a su compatibilidad multiplataforma con versiones modernas de .NET. Para usarlo en un proyecto .NET 10, instale el paquete NuGet IronPDF , haga referencia a él en el archivo de proyecto que tenga como destino net10.0 y, a continuación, utilice clases como ChromePdfRenderer y métodos como RenderHtmlAsPdf tal como lo haría en versiones anteriores de .NET. Disfrute de un mejor rendimiento, uso de memoria y mejoras en el tiempo de ejecución inherentes a .NET 10 al renderizar o manipular archivos PDF.

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

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

¿Listo para empezar?

Nuget Downloads 20,667,543Versión:2026.7recién publicada

Obtén tu GRATIS

Clave de prueba de 30 días instantáneamente.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
bullet_testPrueba en producción
sin marcas de agua
bullet_calendarProducto completamente
funcional por 30 días
bullet_supportSoporte técnico 24/5
durante la prueba
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.7

Descargar ahora

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta