iTextSharp: Agregar imagen a PDF
RenderHtmlFileAsPdf hace una cosa: toma un archivo HTML en el disco y lo convierte en PDF a través de un motor de Chrome. Lo que se muestra correctamente en Chrome se presenta correctamente en el documento, con soporte completo para CSS3, JavaScript, imágenes y fuentes. La única distinción que importa es la entrada. Este método lee un archivo, por lo que las rutas de activos relativas (logotipos, hojas de estilo, fuentes) se resuelven desde la ubicación del propio archivo, no se requiere una URL base. Eso decide dónde encaja mejor.
Generación de documentos basada en plantillas
Mantén una plantilla HTML en tu proyecto (factura, cotización, certificado, contrato), complétala, escríbela en disco y renderízala:
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html")
.SaveAs("invoice-1042.pdf");Imports IronPdf
Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("templates/invoice-1042.html").SaveAs("invoice-1042.pdf")Debido a que la fuente es un archivo real, ./logo.png y styles.css se resuelven naturalmente junto a él.
Renderización de salida de sitio estático y construcción
Los generadores de sitios estáticos, las canalizaciones de Markdown y los constructores de documentación producen archivos HTML. Apunta IronPDF a la salida para convertir una página publicada en un PDF archivable, sin necesidad de volver a buscarlo a través de HTTP.
Diseños creados por diseñadores
Un diseñador entrega un archivo HTML y CSS autosuficiente; lo renderizas tal cual. Chrome conduce la conversión, por lo que la vista previa del navegador del diseñador coincide con el PDF, lo que elimina toda una clase de disputas de "se veía bien en el boceto".
Conversión por lotes de una carpeta
El método es una llamada por archivo, por lo que convertir un directorio de informes o folletos es un bucle corto:
var renderer = new ChromePdfRenderer();
foreach (string file in Directory.GetFiles("reports", "*.html"))
{
string output = Path.ChangeExtension(file, ".pdf");
renderer.RenderHtmlFileAsPdf(file).SaveAs(output);
}Imports System.IO
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
For Each file As String In Directory.GetFiles("reports", "*.html")
Dim output As String = Path.ChangeExtension(file, ".pdf")
renderer.RenderHtmlFileAsPdf(file).SaveAs(output)
NextRenderización sin conexión y aislada
Porque lee desde el sistema de archivos local en lugar de una URL, esto funciona donde no hay una red saliente: respaldos seguros, ejecutores CI, implementaciones en las instalaciones. El HTML y sus activos solo necesitan estar presentes en la máquina.
Prueba de plantillas de correo electrónico
Los equipos que almacenan notificaciones o plantillas de correo electrónico como archivos HTML pueden renderizarlos a PDF para revisión, aprobación o mantenimiento de registros, sin levantar un servidor web para verlos.
La regla de oro
IronPDF ofrece tres puntos de entrada, y elegir el incorrecto es la fuente más común de activos rotos:
RenderHtmlFileAsPdflee un archivo del disco; los activos relativos se resuelven desde la ubicación del archivo.RenderHtmlAsPdftoma una cadena HTML en la memoria; usualmente configuras una URL base para que los activos se resuelvan.RenderUrlAsPdflo obtiene a través de HTTP, y es donde se aplican la autenticación, las cookies y los inicios de sesión.
Seleccione el método de archivo siempre que su HTML ya exista como un archivo. Configure la salida a través de RenderingOptions antes de renderizar, y verifique la página en Chrome primero; si se renderiza allí, se renderiza en el PDF.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.