Cómo convertir un archivo HTML en PDF

por Regan Pun

Una de las formas más sencillas de utilizar IronPDF es decirle que renderice un archivo HTML. IronPDF puede renderizar cualquier archivo HTML al que la máquina tenga acceso.



Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Convertir HTML a PDF Ejemplo

Aquí tenemos un ejemplo de IronPDF renderizando un archivo HTML en un PDF utilizando el comando RenderHtmlFileAsPdf() método. El parámetro es una ruta a un archivo HTML local.

Este método tiene la ventaja de permitir al desarrollador probar el contenido HTML en un navegador durante el desarrollo. Pueden, en particular, probar la fidelidad en el renderizado. Recomendamos Chrome, ya que es el navegador web en el que se basa el motor de renderizado de IronPDF.

Si se ve bien en Chrome, también se verá perfecto en IronPDF.

Fichero de entrada

Este es el archivo HTML example.html que el código renderiza:

:path=/static-assets/pdf/how-to/html-file-to-pdf/example.html
<!DOCTYPE html>
<html>
	<head>
		<title>Título de la página</title>
	</head>

	<body>
		<h1>Mi primera rúbrica</h1>
		<p>Mi primer párrafo.</p>
	</body>
</html>

HTML

A continuación se muestra el archivo HTML renderizado en la web.

Ejemplo de código

:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf.cs
using IronPdf;
using IronPdf.Engines.Chrome;
using IronPdf.Rendering;


var renderer = new ChromePdfRenderer
{
    RenderingOptions = new ChromePdfRenderOptions
    {
        UseMarginsOnHeaderAndFooter = UseMargins.None,
        CreatePdfFormsFromHtml = false,
        CssMediaType = PdfCssMediaType.Print,
        CustomCssUrl = null,
        EnableJavaScript = false,
        Javascript = null,
        JavascriptMessageListener = null,
        FirstPageNumber = 0,
        GrayScale = false,
        HtmlHeader = null,
        HtmlFooter = null,
        InputEncoding = null,
        MarginBottom = 0,
        MarginLeft = 0,
        MarginRight = 0,
        MarginTop = 0,
        PaperOrientation = PdfPaperOrientation.Portrait,
        PaperSize = PdfPaperSize.Letter,
        PrintHtmlBackgrounds = false,
        TextFooter = null,
        TextHeader = null,
        Timeout = 0,
        Title = null,
        ForcePaperSize = false,
        ViewPortHeight = 0,
        ViewPortWidth = 0,
        Zoom = 0,
        FitToPaperMode = FitToPaperModes.Zoom
    },
    LoginCredentials = null
};
renderer.RenderingOptions.WaitFor.RenderDelay(50);

//  Crear un PDF a partir de un archivo HTML existente utilizando C#
var pdf = renderer.RenderHtmlFileAsPdf("example.html");

//  Exportar a un archivo o Stream
pdf.SaveAs("output.pdf");
Imports IronPdf
Imports IronPdf.Engines.Chrome
Imports IronPdf.Rendering


Private renderer = New ChromePdfRenderer With {
	.RenderingOptions = New ChromePdfRenderOptions With {
		.UseMarginsOnHeaderAndFooter = UseMargins.None,
		.CreatePdfFormsFromHtml = False,
		.CssMediaType = PdfCssMediaType.Print,
		.CustomCssUrl = Nothing,
		.EnableJavaScript = False,
		.Javascript = Nothing,
		.JavascriptMessageListener = Nothing,
		.FirstPageNumber = 0,
		.GrayScale = False,
		.HtmlHeader = Nothing,
		.HtmlFooter = Nothing,
		.InputEncoding = Nothing,
		.MarginBottom = 0,
		.MarginLeft = 0,
		.MarginRight = 0,
		.MarginTop = 0,
		.PaperOrientation = PdfPaperOrientation.Portrait,
		.PaperSize = PdfPaperSize.Letter,
		.PrintHtmlBackgrounds = False,
		.TextFooter = Nothing,
		.TextHeader = Nothing,
		.Timeout = 0,
		.Title = Nothing,
		.ForcePaperSize = False,
		.ViewPortHeight = 0,
		.ViewPortWidth = 0,
		.Zoom = 0,
		.FitToPaperMode = FitToPaperModes.Zoom
	},
	.LoginCredentials = Nothing
}
renderer.RenderingOptions.WaitFor.RenderDelay(50)

'  Crear un PDF a partir de un archivo HTML existente utilizando C#
Dim pdf = renderer.RenderHtmlFileAsPdf("example.html")

'  Exportar a un archivo o Stream
pdf.SaveAs("output.pdf")
VB   C#

Resultado

Este es el archivo PDF que produjo el código:

Opciones de impresión predeterminadas de Chrome

En el caso de que se desee una Chrome Print Options por defecto acceder a la propiedad DefaultChrome de la clase ChromePdfRenderOptions y asignar a la RenderingOptions. Con esta configuración, la salida PDF de IronPdf será idéntica a la vista previa de impresión de Chrome.

:path=/static-assets/pdf/content-code-examples/how-to/html-file-to-pdf-default-chrome.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

//  Configura las opciones de renderizado a las opciones por defecto de Chrome
renderer.RenderingOptions = ChromePdfRenderOptions.DefaultChrome;
Imports IronPdf

Private renderer As New ChromePdfRenderer()

'  Configura las opciones de renderizado a las opciones por defecto de Chrome
renderer.RenderingOptions = ChromePdfRenderOptions.DefaultChrome
VB   C#

Regan Pun

Ingeniero de software

Regan se licenció en Ingeniería Electrónica por la Universidad de Reading. Antes de incorporarse a Iron Software, sus anteriores puestos de trabajo le obligaban a centrarse en tareas concretas; lo que más le gusta de Iron Software es la variedad de tareas que puede realizar, ya sea añadiendo valor a las ventas, el soporte técnico, el desarrollo de productos o el marketing. Le gusta entender cómo utilizan los desarrolladores la biblioteca de Iron Software y utilizar ese conocimiento para mejorar continuamente la documentación y desarrollar los productos.