Cómo utilizar recursos web y optimizar el rendimiento de los PDF en C

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

Con más de 100 funciones, IronPDF está diseñado para simplificar las tareas de generación y manipulación de PDF para desarrolladores .NET. Esta biblioteca es una solución integral para todas sus necesidades de PDF, eliminando la necesidad de instalar herramientas de terceros o Adobe Acrobat.

Un aspecto crucial que cubre IronPDF es su extenso soporte para recursos web. Estas herramientas permiten el uso perfecto de HTML, JavaScript, fuentes web y más dentro de sus documentos PDF. Con esto, puede crear documentos PDF verdaderamente únicos.

IronPDF también proporciona un rendimiento impresionante al generar y trabajar con archivos PDF. Esto asegura operaciones de PDF fluidas sin sobrecargar su sistema, especialmente cuando se trabaja con tareas de PDF que requieren mucho rendimiento, como procesar lotes grandes, archivos grandes y más.

Inicio rápido: Integrar activos web y optimizar PDFs eficientemente

Esta guía de inicio rápido demuestra cómo mejorar sus PDFs añadiendo activos web como imágenes y fuentes usando IronPDF. Con solo unas pocas líneas de código, puede mejorar significativamente el rendimiento y la calidad visual de sus documentos PDF. Ya sea que esté incorporando un logotipo de empresa o fuentes personalizadas, IronPDF hace que el proceso sea rápido y sencillo, asegurando que sus PDFs estén tanto optimizados como visualmente atractivos.

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.

    new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello Performance</h1>").CompressImages(50).Flatten().SaveAs("fast‑optimized.pdf");
  3. Despliegue para probar en su entorno real

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

Tabla de contenido

NuGet Instalar con NuGet

PM >  Install-Package IronPdf

Echa un vistazo a IronPDF en NuGet para una instalación rápida. Con más de 10 millones de descargas, está transformando el desarrollo de PDF con C#. También puede descargar el DLL o el instalador de Windows.

Implemente recursos web en sus PDF

El soporte robusto de IronPDF para recursos web empodera a los desarrolladores con control total sobre la apariencia de sus documentos PDF. Desde su soporte integral para HTML, CSS y JavaScript para un renderizado a la perfección de contenido HTML a PDF, hasta la capacidad de implementar fuentes personalizadas e imágenes para elementos visualmente atractivos dentro del documento, el soporte de IronPDF para estándares y activos web modernos permite a los desarrolladores producir PDFs de alta calidad y visualmente atractivos con facilidad.

Trabajar con contenido web dinámico

Comencemos explorando cómo IronPDF simplifica el proceso de creación de documentos PDF a partir de contenido HTML, completo con estilo CSS y elementos JavaScript. Este proceso sencillo infunde confianza en los desarrolladores, sabiendo que pueden convertir fácilmente sus activos web en PDFs.

Depurar HTML con Chrome

El poderoso motor de renderizado de IronPDF asegura un renderizado a la perfección de cualquier contenido HTML. Esto significa que los PDFs que renderiza a partir de contenido HTML se verán exactamente igual que el HTML dentro de un navegador Chrome, proporcionando una experiencia de renderizado confiable y consistente.

:path=/static-assets/pdf/content-code-examples/how-to/pixel-perfect-html-to-pdf-1.cs
// Pixel Perfect HTML Formatting Settings
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print; // or Screen
' Pixel Perfect HTML Formatting Settings
Dim renderer As New IronPdf.ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print ' or Screen
$vbLabelText   $csharpLabel

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

CSS (pantalla e impresión)

CSS controla el diseño y la presentación del contenido HTML. A través de su soporte para el estilo CSS, IronPDF puede producir documentos PDF visualmente atractivos manteniendo el diseño y el estilo original del contenido HTML convertido.

:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-responsive-css-table-header.cs
using IronPdf;
using IronPdf.Rendering;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Change the paper size to small
renderer.RenderingOptions.SetCustomPaperSizeinPixelsOrPoints(600, 400);

// Choose screen or print CSS media
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableHeader.html");

pdf.SaveAs("tableHeader.pdf");
Imports IronPdf
Imports IronPdf.Rendering

Private renderer As New ChromePdfRenderer()

' Change the paper size to small
renderer.RenderingOptions.SetCustomPaperSizeinPixelsOrPoints(600, 400)

' Choose screen or print CSS media
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("tableHeader.html")

pdf.SaveAs("tableHeader.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Imágenes (jpg, png, svg, gif, etc)

Mejore sus PDFs con elementos visuales usando imágenes. Cuando incrusta imágenes en su documento PDF con IronPDF, las imágenes serán visibles sin depender de Internet o enlaces de trabajo. Esto significa que puede agregar imágenes visualmente atractivas para atraer la atención de los lectores, agregar imágenes que contengan más información sobre el tema de su PDF, y más.

:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-embed-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

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

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export PDF
pdf.SaveAs("embedImage.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private html As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"

' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export PDF
pdf.SaveAs("embedImage.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

JavaScript (Retardos de renderización personalizados)

A menudo, el contenido HTML puede contener elementos interactivos y dinámicos que pueden perderse durante el proceso de conversión con algunas bibliotecas de PDF. El soporte para JavaScript de IronPDF asegura que el contenido convertido mantenga sus elementos interactivos originales.

:path=/static-assets/pdf/content-code-examples/how-to/javascript-to-pdf-render-javascript.cs
using IronPdf;

string htmlWithJavaScript = @"<h1>This is HTML</h1>
<script>
    document.write('<h1>This is JavaScript</h1>');
    window.ironpdf.notifyRender();
</script>";

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

// Enable JavaScript
renderer.RenderingOptions.EnableJavaScript = true;
// Set waitFor for JavaScript
renderer.RenderingOptions.WaitFor.JavaScript(500);

// Render HTML contains JavaScript
var pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript);

// Export PDF
pdfJavaScript.SaveAs("javascriptHtml.pdf");
Imports IronPdf

Private htmlWithJavaScript As String = "<h1>This is HTML</h1>
<script>
    document.write('<h1>This is JavaScript</h1>');
    window.ironpdf.notifyRender();
</script>"

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()

' Enable JavaScript
renderer.RenderingOptions.EnableJavaScript = True
' Set waitFor for JavaScript
renderer.RenderingOptions.WaitFor.JavaScript(500)

' Render HTML contains JavaScript
Dim pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript)

' Export PDF
pdfJavaScript.SaveAs("javascriptHtml.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Utilizar WaitFor para retrasar la renderización de PDF

Al renderizar documentos PDF, hay ocasiones en que los activos necesarios aún no se han recuperado, lo que resulta en un renderizado incompleto. Con IronPDF, podemos especificar un retraso de renderizado para asegurarnos de que se obtengan todos los recursos antes de renderizar.

:path=/static-assets/pdf/content-code-examples/how-to/waitfor-pageload.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render as soon as the page is loaded
renderer.RenderingOptions.WaitFor.PageLoad();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Fonts (Web & Icon)

Al agregar fuentes personalizadas a sus documentos PDF, puede crear archivos PDF verdaderamente únicos que se adapten a las necesidades del tipo de documento que está creando. IronPDF simplifica este proceso, permitiéndole captar la atención de los usuarios con tipos de letra limpios, pero visualmente atractivos, o usar fuentes web para garantizar un texto consistente en diferentes máquinas, independientemente de la disponibilidad local de fuentes en esa computadora.

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-render-webfont.cs
using IronPdf;

// HTML contains webfont
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000);

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("font-test.pdf");
Imports IronPdf

' HTML contains webfont
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"

Private renderer As New ChromePdfRenderer()

' Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000)

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export the PDF
pdf.SaveAs("font-test.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Utilizar gráficos SVG

Además de renderizar imágenes a PDF, IronPDF también ofrece la capacidad de renderizar gráficos SVG en PDFs.

:path=/static-assets/pdf/content-code-examples/how-to/SVGs-render.cs
using IronPdf;

string html = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>";

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("svgToPdf.pdf");
Imports IronPdf

Private html As String = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>"

Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.RenderDelay(1000)

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("svgToPdf.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Administrar fuentes

Elegir la fuente correcta y poder personalizar e incrustar fuentes son aspectos cruciales al crear PDFs. Con IronPDF, puede gestionar, recuperar y agregar fuentes todo en un solo paquete con métodos intuitivos.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-retrieve-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Retreive font
PdfFontCollection fonts = pdf.Fonts;
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Collections.Generic

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Retreive font
Private fonts As PdfFontCollection = pdf.Fonts
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Soporta UTF-8 e idiomas internacionales

Gracias a su adhesión a los estándares de Chrome, IronPDF admite el uso de codificación UTF-8 dentro de documentos PDF. Esto garantiza que cualquier carácter usado se renderice correctamente, incluidos los idiomas extranjeros usados en el contenido original. Todo se renderizará correctamente en el documento PDF final.

:path=/static-assets/pdf/content-code-examples/how-to/utf-8.cs
using IronPdf;

const string html_with_utf_8 =
    @"<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;

var pdf = renderer.RenderHtmlAsPdf(html_with_utf_8);
pdf.SaveAs("Unicode.pdf");
Imports IronPdf

Private Const html_with_utf_8 As String = "<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>"

Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8

Dim pdf = renderer.RenderHtmlAsPdf(html_with_utf_8)
pdf.SaveAs("Unicode.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

URL base y codificación de activos

IronPDF le permite establecer una URL base, habilitando rutas relativas en su HTML, como imágenes, CSS o JavaScript, para que se carguen correctamente al renderizarse en PDF. También puede incrustar activos con codificación base64 para mantener todo autónomo y sin internet.

:path=/static-assets/pdf/content-code-examples/how-to/base-urls-baseurl.cs
using IronPdf;

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

string baseUrl = @"C:\site\assets\";
string html = "<img src='icons/iron.png'>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, baseUrl);

// Export PDF
pdf.SaveAs("html-with-assets.pdf");
Imports IronPdf

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private baseUrl As String = "C:\site\assets\"
Private html As String = "<img src='icons/iron.png'>"

' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, baseUrl)

' Export PDF
pdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Renderizar sitios WebGL

WebGL es una herramienta comúnmente usada para crear gráficos 3D interactivos, pero convertirlos en un PDF estático puede ser una tarea desafiante. Con IronPDF, este proceso se hace lo más fluido posible, proporcionando a los desarrolladores una sensación de facilidad y confianza en su capacidad para convertir recursos web complejos en PDFs.

:path=/static-assets/pdf/content-code-examples/how-to/render-webgl-render-webgl.cs
using IronPdf;

// Configure IronPdf settings
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set delay before rendering
renderer.RenderingOptions.WaitFor.RenderDelay(5000);

// Render from URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/");

pdf.SaveAs("webGL.pdf");
Imports IronPdf

' Configure IronPdf settings
IronPdf.Installation.SingleProcess = True
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware

Dim renderer As New ChromePdfRenderer()

' Set delay before rendering
renderer.RenderingOptions.WaitFor.RenderDelay(5000)

' Render from URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/")

pdf.SaveAs("webGL.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Motor de renderizado de PDF de Chrome

IronPDF utiliza el poderoso motor Chromium, permitiendo a los usuarios crear PDFs a la perfección con CSS y JavaScript. Esto crea un escenario de lo que ves es lo que obtienes, dándole tranquilidad y eliminando cualquier duda a la hora de convertirlos en PDFs. El uso de este motor asegura alta compatibilidad y rendimiento en la renderización de PDF.

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-pixel-perfect.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = false;
renderer.RenderingOptions.CreatePdfFormsFromHtml = false;

PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = False
renderer.RenderingOptions.CreatePdfFormsFromHtml = False

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.google.com/")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Rendimiento y compresión

Cuando se trabaja con archivos PDF grandes o generando lotes grandes de PDFs, el rendimiento es clave para un proceso fluido. Aquí es donde IronPDF destaca, con velocidades de rendimiento impresionantes al trabajar con PDFs de todos los tamaños. IronPDF proporciona un rendimiento consistente y fluido para todas sus tareas de PDF.

En esta sección, echaremos un vistazo más de cerca a algunas de las características y herramientas que ofrece IronPDF para asegurar un rendimiento fluido, independientemente de las tareas que necesite ejecutar.

Compresión de PDF

Comprimir imágenes dentro de un PDF es una forma conveniente de reducir el tamaño de un documento PDF significativamente. Los archivos PDF más grandes a menudo contienen múltiples imágenes, lo que puede aumentar dramáticamente el tamaño total del archivo PDF. Al comprimir estos archivos, puede hacerlos más fáciles de compartir y almacenar, ahorrando tiempo y recursos.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Compress images in the PDF
pdf.CompressImages(40);

pdf.SaveAs("compressed.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Compress images in the PDF
pdf.CompressImages(40)

pdf.SaveAs("compressed.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Async y multihilo

IronPDF admite la generación asíncrona de PDF utilizando el método RenderHtmlAsPdfAsync. Esta potente característica le permite convertir HTML a PDF sin afectar el rendimiento de su aplicación, asegurando resultados consistentes. Es beneficioso para manejar múltiples documentos o integrarse en APIs web receptivas, dándole control total sobre el rendimiento de su aplicación.

:path=/static-assets/pdf/content-code-examples/how-to/async-async.cs
using IronPdf;
using System.Threading.Tasks;

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

string[] htmlStrings = {"<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>"};

// Create an array to store the tasks for rendering
var renderingTasks = new Task<PdfDocument>[htmlStrings.Length];

for (int i = 0; i < htmlStrings.Length; i++)
{
    int index = i; // Capturing the loop variable
    renderingTasks[i] = Task.Run(async () =>
    {
        // Render HTML to PDF
        return await renderer.RenderHtmlAsPdfAsync(htmlStrings[index]);
    });
}

// Wait for all rendering tasks to complete
// await Task.WhenAll(renderingTasks);
Imports IronPdf
Imports System.Threading.Tasks

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private htmlStrings() As String = {"<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>"}

' Create an array to store the tasks for rendering
Private renderingTasks = New Task(Of PdfDocument)(htmlStrings.Length - 1){}

For i As Integer = 0 To htmlStrings.Length - 1
	Dim index As Integer = i ' Capturing the loop variable
	renderingTasks(i) = Task.Run(Async Function()
		' Render HTML to PDF
		Return Await renderer.RenderHtmlAsPdfAsync(htmlStrings(index))
	End Function)
Next i

' Wait for all rendering tasks to complete
' await Task.WhenAll(renderingTasks);
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Registro personalizado

IronPDF permite el registro personalizado al permitirle redirigir mensajes de registro a su registrador. Al configurar LoggingMode a LoggingModes.Custom y asignar su registrador personalizado a CustomLogger, puede controlar cómo y dónde se manejan los mensajes de registro. Esto es útil para integrar los registros de IronPDF en su infraestructura de registro existente.

:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging.cs
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
IronSoftware.Logger.CustomLogger = new CustomLoggerClass("logging");
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom
IronSoftware.Logger.CustomLogger = New CustomLoggerClass("logging")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Aplastar PDF

El método Flatten en IronPDF es una herramienta poderosa que le permite hacer que los widgets interactivos y rellenables de PDFs sean no editables para varios propósitos. Aplana el PDF, preservando su diseño visual mientras previene cualquier edición posterior, asegurando la integridad de sus documentos.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-flatten-pdf.cs
using IronPdf;

// Select the desired PDF File
PdfDocument pdf = PdfDocument.FromFile("before.pdf");

// Flatten the pdf
pdf.Flatten();

// Save as a new file
pdf.SaveAs("after_flatten.pdf");
Imports IronPdf

' Select the desired PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("before.pdf")

' Flatten the pdf
pdf.Flatten()

' Save as a new file
pdf.SaveAs("after_flatten.pdf")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Visualización e impresión de PDF

Imprimir en impresora física

Esta funcionalidad permite a los usuarios generar archivos PDF en lugar de enviar documentos directamente a una impresora. Cuando se usa Print, el sistema crea un archivo PDF que se guarda en la máquina local. También puede especificar una impresora diferente proporcionando el nombre de la impresora al método Print.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF")
$vbLabelText   $csharpLabel

Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, consulte nuestra completa guía de uso.

Conclusión

IronPDF empodera a los desarrolladores .NET con la flexibilidad de crear PDFs profesionales y de alta calidad. Se integra perfectamente con activos web modernos y ofrece un rendimiento de primer nivel. Ya sea que esté renderizando contenido HTML dinámico, incorporando fuentes e imágenes personalizadas, o optimizando la generación de PDFs a gran escala a través de la compresión y la multitarea, IronPDF ofrece la flexibilidad y poder que necesita, todo sin dependencias externas.

Al combinar un rico soporte de activos con herramientas enfocadas en el rendimiento como renderizado asíncrono y registro personalizado, IronPDF asegura que sus aplicaciones sigan siendo rápidas, escalables y visualmente consistentes. Ya sea que esté construyendo un reporte simple o un sistema de automatización de documentos a nivel empresarial, IronPDF facilita la entrega de documentos PDF hermosos y eficientes en todo momento.

Ahora que ha visto lo que IronPDF puede hacer, es hora de comenzar a construir flujos de trabajo PDF más inteligentes y rápidos en sus proyectos .NET.

Preguntas Frecuentes

¿Cómo puedo optimizar el rendimiento de PDF usando IronPDF?

Para optimizar el rendimiento de PDF usando IronPDF, puedes aprovechar sus funciones de optimización integradas, como comprimir imágenes, reducir el tamaño del archivo, y optimizar las fuentes. Esto asegura que tus PDFs carguen más rápido y se desempeñen mejor.

¿Qué son los activos web en el contexto de la generación de PDF?

Los activos web se refieren a los recursos externos como imágenes, hojas de estilo y scripts que se pueden incluir en tus documentos PDF. Usando IronPDF, puedes incrustar fácilmente estos activos para mejorar los aspectos visuales y funcionales de tus PDFs.

¿Cómo agrego imágenes a un PDF usando IronPDF?

Puedes agregar imágenes a un PDF usando IronPDF ya sea incrustándolas directamente en el código fuente HTML o referenciándolas como URLs externas. IronPDF soporta varios formatos de imagen, permitiendo un contenido visual rico en tus PDFs.

¿Puede IronPDF ayudar a reducir el tamaño de mis archivos PDF?

Sí, IronPDF puede ayudar a reducir el tamaño de tus archivos PDF optimizando imágenes, eliminando metadatos innecesarios, y comprimiendo el contenido cuando sea posible. Esto resulta en documentos PDF más pequeños y manejables.

¿Qué características ofrece IronPDF para optimizar las fuentes en un PDF?

IronPDF proporciona características para subconfigurar y comprimir fuentes, asegurando que solo los datos de fuente necesarios sean incluidos en el PDF. Esto reduce el tamaño del archivo y mejora los tiempos de carga sin comprometer la calidad del texto.

¿Es posible incluir estilos CSS en PDFs generados con IronPDF?

Sí, IronPDF te permite incluir estilos CSS en tus documentos PDF. Puedes incrustar CSS directamente en tu HTML o enlazar a hojas de estilo externas para asegurar que tus PDFs mantengan una apariencia coherente y profesional.

¿Cómo maneja IronPDF los recursos externos en un PDF?

IronPDF puede integrar recursos externos como imágenes y hojas de estilo incrustándolos directamente o referenciando sus URLs. Esto permite la creación de PDFs dinámicos y visualmente atractivos que incorporan una variedad de activos web.

¿Cuáles son los beneficios de optimizar PDFs con IronPDF?

Optimizar PDFs con IronPDF ofrece varios beneficios, incluyendo tiempos de carga más rápidos, tamaños de archivo reducidos, y un mejor rendimiento del documento. Los PDFs optimizados también consumen menos ancho de banda cuando se comparten o descargan.

¿Cómo puedo asegurarme de que mi PDF se vea consistente en diferentes dispositivos usando IronPDF?

Para asegurar consistencia entre dispositivos, utiliza el soporte de IronPDF para consultas de medios y técnicas de diseño responsivo dentro de tu HTML y CSS. Esto permite que el PDF adapte su diseño según el entorno de visualización.

.NET 10 está por llegar: ¿es compatible con IronPDF y qué beneficios aporta?

Sí: IronPDF es totalmente compatible con .NET 10.

Kye Stuart
Escritor Técnico

Kye Stuart fusiona la pasión por la codificación y la habilidad para escribir en Iron Software. Educado en Yoobee College en despliegue de software, ahora transforma conceptos tecnológicos complejos en contenido educativo claro. Kye valora el aprendizaje continuo y acepta nuevos desafíos tecnológicos.

<...
Leer más
¿Listo para empezar?
Nuget Descargas 16,493,056 | Version: 2025.11 recién lanzado