How to Use Web Assets & Optimize PDFs in C# for Performance
Con más de 100 características, 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 tus necesidades de PDF, eliminando la necesidad de instalar herramientas de terceros o Adobe Acrobat.
Un aspecto crucial que cubre IronPDF es su amplio soporte para activos web. Estas herramientas permiten el uso sin problemas de HTML, JavaScript, fuentes web y más dentro de tus documentos PDF. Con esto, puedes crear documentos PDF verdaderamente únicos.
IronPDF también proporciona un rendimiento impresionante al generar y trabajar con archivos PDF. Esto asegura operaciones fluidas de PDF sin sobrecargar tu sistema, especialmente cuando se trabaja con tareas de PDF que requieren mucho rendimiento, como procesar grandes lotes, archivos grandes y más.
Inicio rápido: Integrar activos web y optimizar PDFs de manera eficiente
Esta guía de inicio rápido demuestra cómo mejorar tus PDFs añadiendo activos web como imágenes y fuentes usando IronPDF. Con solo unas pocas líneas de código, puedes mejorar significativamente el rendimiento y la calidad visual de tus documentos PDF. Ya sea que estés incrustando un logotipo de empresa o fuentes personalizadas, IronPDF hace que el proceso sea rápido y sencillo, asegurando que tus PDFs estén tanto optimizados como visualmente atractivos.
-
Instala IronPDF con el Administrador de Paquetes NuGet
-
Copie y ejecute este fragmento de código.
var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello Performance</h1>"); pdf.Flatten(); pdf.CompressAndSaveAs("fast-optimized.pdf", 50); -
Despliegue para probar en su entorno real
Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Tabla de contenidos
- Soporte de activos web
- CSS (Pantalla & Impresión)
- JavaScript (Retrasos de renderizado personalizados)
- Usar WaitFor para retrasar el renderizado de PDF
- Usar gráficos SVG
- Gestionar fuentes
- URLs base y codificación de activos
- Renderizar sitios WebGL
- Motor de renderizado PDF de Chrome
- Rendimiento y compresión
- Registro personalizado
- Visualización e impresión de PDF
- Imprimir a una impresora física
- Conclusión
Implementar activos web en tus PDFs
El sólido soporte para activos web de IronPDF otorga a los desarrolladores control total sobre la apariencia de sus documentos PDF. Desde su completo soporte para HTML, CSS y JavaScript para un renderizado perfecto de contenido HTML en PDF, hasta la capacidad de implementar fuentes e imágenes personalizadas 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, visualmente atractivos sin esfuerzo.
Trabajando con contenido web dinámico
Comencemos explorando cómo IronPDF simplifica el proceso de crear 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 motor de renderizado potente de IronPDF asegura un renderizado perfecto de cualquier contenido HTML. Esto significa que los PDFs que renderizas 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
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
CSS (Pantalla & Impresión)
CSS controla el diseño y formato del contenido HTML. A través de su soporte para estilo CSS, IronPDF puede producir documentos PDF visualmente atractivos mientras mantiene el diseño y el formato originales 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Images (jpg, png, svg, gif, etc.)
Mejora tus PDFs con elementos visuales usando imágenes. Cuando incrustas imágenes en tu documento PDF con IronPDF, las imágenes serán visibles sin depender de internet o de enlaces operativos. Esto significa que puedes añadir imágenes atractivas visualmente para captar la atención de los lectores, añadir imágenes que contengan más información sobre el tema de tu 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
JavaScript (Retrasos de renderizado personalizados)
A menudo, el contenido HTML puede contener elementos interactivos y dinámicos que se pueden perder durante el proceso de conversión con algunas bibliotecas de PDF. El soporte de IronPDF for JavaScript 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Usar WaitFor para retrasar el renderizado de PDF
Al renderizar documentos PDF, hay veces en que los activos necesarios no se han obtenido aún, lo que resulta en un renderizado incompleto. Con IronPDF, podemos especificar un retraso de renderizado para asegurar que todos los activos se obtengan antes del renderizado.
: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>");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Render as soon as the page is loaded
renderer.RenderingOptions.WaitFor.PageLoad()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Fuentes (Web & Icono)
Al añadir fuentes personalizadas a tus documentos PDF, puedes crear archivos PDF verdaderamente únicos que se adapten a las necesidades del tipo de documento que estás haciendo. IronPDF simplifica este proceso, permitiéndote captar la atención de los usuarios con tipos de fuentes limpias, pero visualmente atractivas, o utilizar fuentes web para asegurar texto consistente en diferentes máquinas, independientemente de la disponibilidad de fuentes locales en ese ordenador.
: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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Usar gráficos SVG
Aparte de renderizar imágenes en 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Gestionar fuentes
Elegir la fuente correcta y poder personalizar e incrustar fuentes son aspectos cruciales al crear PDFs. Con IronPDF, puedes gestionar, recuperar y añadir 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
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Soporte UTF-8 y lenguajes internacionales
Gracias a su adherencia a los estándares de Chrome, IronPDF soporta el uso de codificación UTF-8 dentro de los documentos PDF. Esto asegura que cualquier carácter utilizado se renderice correctamente, incluyendo cualquier idioma extranjero usado 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
URLs base y codificación de activos
IronPDF te permite establecer una URL base, habilitando rutas relativas en tu HTML, como imágenes, CSS o JavaScript, para cargarse correctamente al renderizar PDF. También puedes incrustar activos con codificación base64 para mantener todo contenido y libre de 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Renderizar sitios WebGL
WebGL es una herramienta comúnmente utilizada para crear gráficos 3D interactivos, pero convertirlos en un PDF estático puede ser una tarea desafiante. Con IronPDF, este proceso se hace tan fluido como sea posible, proporcionando a los desarrolladores una sensación de facilidad y confianza en su capacidad de convertir activos 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Motor de renderizado PDF de Chrome
IronPDF utiliza el potente motor Chromium, permitiendo a los usuarios crear PDFs perfectos al pixel con CSS y JavaScript. Esto crea un escenario de lo que ves es lo que obtienes, brindándote tranquilidad y eliminando cualquier duda al convertirlos en PDFs. El uso de este motor asegura alta compatibilidad y rendimiento en el renderizado de PDFs.
: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/")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Rendimiento y compresión
Al trabajar con archivos PDF grandes o generar grandes lotes de PDFs, el rendimiento es clave para un proceso fluido. Aquí es donde destaca IronPDF, con velocidades de rendimiento impresionantes al trabajar con PDFs de todos los tamaños. IronPDF proporciona un rendimiento constante y sin problemas para todas tus tareas de PDF.
En esta sección, examinaremos más de cerca algunas de las características y herramientas que IronPDF ofrece para asegurar un rendimiento fluido, independientemente de las tareas que necesites ejecutar.
Compresión PDF
CompressImages, CompressStructTree y Compress(CompressionOptions) están obsoletos.Comprimir imágenes dentro de un PDF es una forma conveniente de reducir significativamente el tamaño del archivo de un documento PDF. Los archivos PDF más grandes a menudo contienen múltiples imágenes, lo que puede aumentar drásticamente el tamaño total del archivo PDF. Al comprimir estos archivos, puedes hacerlos más fáciles de compartir y almacenar, ahorrándote 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");
// Quality 40 re-encodes every embedded image as a low-quality JPEG, which is
// where most of the file-size saving comes from in image-heavy PDFs
pdf.CompressAndSaveAs("compressed.pdf", 40);
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Quality 40 re-encodes every embedded image as a low-quality JPEG, which is
' where most of the file-size saving comes from in image-heavy PDFs
pdf.CompressAndSaveAs("compressed.pdf", 40)
Si necesitas la salida comprimida sin escribir en el disco, usa CompressPdfToBytes para obtener un arreglo de bytes.
byte[] compressed = pdf.CompressPdfToBytes();
byte[] compressed = pdf.CompressPdfToBytes();
Dim compressed As Byte() = pdf.CompressPdfToBytes()
O usa CompressPdfToStream para obtener un Stream.
using var stream = pdf.CompressPdfToStream();
using var stream = pdf.CompressPdfToStream();
Para un control granular sobre el pipeline de compresión, pasa un objeto AdvancedCompressionOptions. Expone el submuestreo de DPI de imagen (TargetImageDpi), la calidad de re-codificación de JPEG (JpegQuality), y el nivel de compresión zlib en un solo objeto de configuración, mientras que la sobrecarga original de CompressAndSaveAs(outputPath, quality, removeStructureTree) sigue funcionando sin cambios.
pdf.CompressAndSaveAs("compressed.pdf", new AdvancedCompressionOptions
{
JpegQuality = 70,
TargetImageDpi = 150
});
pdf.CompressAndSaveAs("compressed.pdf", new AdvancedCompressionOptions
{
JpegQuality = 70,
TargetImageDpi = 150
});
pdf.CompressAndSaveAs("compressed.pdf", New AdvancedCompressionOptions With {
.JpegQuality = 70,
.TargetImageDpi = 150
})
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Async & Multihilos
IronPDF soporta la generación asíncrona de PDF usando el método RenderHtmlAsPdfAsync. Esta característica poderosa te permite convertir HTML a PDF sin impactar el rendimiento de tu aplicación, asegurando resultados consistentes. Es beneficioso para manejar múltiples documentos o integrar en APIs web responsivas, dándote control completo sobre el rendimiento de tu 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);
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Registro personalizado
IronPDF permite un registro personalizado al permitirte dirigir mensajes de log a tu registrador. Al configurar LoggingMode a LoggingModes.Custom y asignar tu registrador personalizado a CustomLogger, puedes controlar cómo y dónde se manejan los mensajes de log. Esto es útil para integrar los logs de IronPDF en tu 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Aplanar PDFs
El método Flatten en IronPDF es una herramienta poderosa que te permite hacer que los widgets interactivos e interactivos dentro de los PDFs no sean editables para diversos propósitos. Aplana el PDF, preservando su diseño visual mientras previene cualquier edición adicional, asegurando la integridad de tus 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
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.
Visualización e impresión de PDF
Imprimir a una impresora física
Esta funcionalidad permite a los usuarios generar archivos PDF en lugar de enviar documentos directamente a una impresora. Cuando se utiliza Print, el sistema crea un archivo PDF que se guarda en la máquina local. También puedes 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")
Para una explicación más detallada de este fragmento de código y para explorar su funcionalidad adicional, por favor consulta nuestra detallada guía práctica.
Conclusión
IronPDF empodera a los desarrolladores .NET con la flexibilidad para crear PDFs profesionales y de alta calidad. Integra sin problemas activos web modernos y ofrece un rendimiento de primera clase. Ya sea que estés renderizando contenido HTML dinámico, incrustando fuentes e imágenes personalizadas, u optimizando la generación de PDF a gran escala a través de compresión y multihilos, IronPDF ofrece la flexibilidad y potencia que necesitas, todo sin dependencias externas.
Combinando un rico soporte de activos con herramientas centradas en el rendimiento como el renderizado asíncrono y el registro personalizado, IronPDF asegura que tus aplicaciones permanezcan rápidas, escalables y visualmente consistentes. Ya sea que estés construyendo un reporte simple o un sistema de automatización de documentos a nivel empresarial, IronPDF hace que sea fácil entregar documentos PDF hermosos y eficientes cada vez.
Ahora que has visto lo que IronPDF puede hacer, es momento de comenzar a construir flujos de trabajo PDF más inteligentes y rápidos en tus proyectos .NET.
Preguntas Frecuentes
¿Cómo puedo optimizar el rendimiento de PDF usando IronPDF?
Para optimizar el rendimiento de los PDF con IronPDF, puede aprovechar sus funciones de optimización integradas, como el método CompressAndSaveAs para comprimir imágenes y eliminar árboles de estructura de PDF, así como la optimización de fuentes. Esto garantiza que sus PDF se carguen más rápido y funcionen 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 sus archivos PDF utilizando el método CompressAndSaveAs, que comprime las imágenes incrustadas con una calidad JPEG configurable (0-100) y, opcionalmente, puede eliminar el árbol de estructura del PDF. Para uso en memoria, CompressPdfToBytes y CompressPdfToStream devuelven el PDF comprimido sin escribirlo en el disco. Esto da como resultado documentos PDF más pequeños y manejables.
¿Cómo puedo afinar la compresión de PDF más allá de la calidad JPEG?
Pase un objeto AdvancedCompressionOptions a CompressAndSaveAs para un control granular sobre la canalización de compresión, incluyendo muestreo reducido de DPI de imagen (TargetImageDpi), calidad de recodificación JPEG (JpegQuality) y nivel de compresión zlib. La sobrecarga basada en calidad original continúa funcionando sin cambios.
¿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.

