Cómo generar archivos PDF en escala de grises en C#

Cómo generar PDF en escala de grises en C

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

IronPDF te permite renderizar PDFs en escala de grises configurando la propiedad GrayScale a true en RenderingOptions, convirtiendo el contenido en color a tonos de gris para una impresión más económica y mejor legibilidad. En España, la generación de documentos en escala de grises tiene aplicaciones concretas en la documentación fiscal: los formularios de la AEAT (como el modelo 303 de IVA trimestral o el modelo 347 de operaciones con terceros) se diseñan para ser legibles en blanco y negro, y las copias de facturas Facturae impresas para archivo físico suelen generarse en escala de grises para reducir el coste de impresión en volúmenes elevados. Adicionalmente, la normativa española de accesibilidad para la Administración Pública (derivada del Real Decreto 1112/2018) exige que los documentos digitales sean legibles en alto contraste, condición que el modo escala de grises facilita.

Inicio rápido: Convertir archivos PDF en color a escala de grises con IronPDF

Transforme PDF en color a escala de grises utilizando IronPDF con sólo unas pocas líneas de código. Configura la propiedad GrayScale en el RenderingOptions para renderizar páginas web o contenido HTML en PDFs en escala de grises. Esta guía muestra cómo generar documentos en escala de grises para una visualización coherente.

  1. Instala IronPDF con el Administrador de Paquetes NuGet

    PM > Install-Package IronPdf
  2. Copie y ejecute este fragmento de código.

    var renderer = new IronPdf.ChromePdfRenderer();
    renderer.RenderingOptions.GrayScale = true;
    var pdf = renderer.RenderUrlAsPdf("https://example.com");
    pdf.SaveAs("grayscale.pdf");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer


¿Cómo generar un PDF en escala de grises?

Para generar un PDF en escala de grises, configura la propiedad GrayScale del RenderingOptions a true. Esta función forma parte de las completas opciones de renderizado de IronPDF, que le ofrecen un control preciso sobre el resultado PDF.

En el fragmento de código proporcionado, la función de escala de grises se habilita después de instanciar un ChromePdfRenderer. Luego, renderiza una página web usando el método RenderUrlAsPdf. El código también extrae solo la primera página del PDF renderizado y la guarda localmente. Si eres nuevo en IronPDF, consulta nuestra Guía de inicio rápido para empezar con lo básico.

¿Por qué al configurar GrayScale a True se convierten los colores?

Un PDF en escala de grises es un documento en el que todos los colores y matices se representan utilizando tonos de gris en lugar de la gama completa de colores. Cuando activas la opción GrayScale, el motor de renderizado Chrome de IronPDF convierte automáticamente todos los valores de color RGB en sus equivalentes en escala de grises utilizando cálculos de luminancia estándar de la industria. Esto garantiza que se conserven la jerarquía visual y el contraste del documento original, al tiempo que se elimina toda la información de color.

¿Cuándo debo utilizar PDF en escala de grises?

IronPDF muestra los documentos PDF en escala de grises en lugar de en color. Imprimir documentos PDF en escala de grises es rentable para impresiones en lotes grandes. La representación en escala de grises mejora la legibilidad cuando los colores originales son excesivamente brillantes o vibrantes. Los PDF en escala de grises son más compatibles con distintos dispositivos, programas y plataformas, lo que garantiza una experiencia de visualización e impresión coherente.

Los casos de uso más comunes para los PDF en escala de grises son:

  • Informes empresariales: Los documentos financieros suelen tener un aspecto más profesional en escala de grises
  • Documentos jurídicos: Los expedientes judiciales y los escritos jurídicos suelen requerir un formato en escala de grises
  • Trabajos académicos: Los trabajos de investigación y las disertaciones suelen imprimirse en escala de grises
  • Impresión de gran volumen: La escala de grises reduce los costes al imprimir cientos de páginas
  • Documentos de archivo: ideal para el almacenamiento a largo plazo y cumplimiento de la normativa PDF/A

¿Qué le ocurre al texto cuando se convierte a escala de grises?

La implementación actual de la función de escala de grises convierte el texto en el documento PDF renderizado en una imagen, lo que resulta en que el método ExtractAllImages no emita ningún texto.

Actualmente, esta funcionalidad solo está disponible al renderizar PDFs. Es posible que futuras actualizaciones incluyan la posibilidad de convertir documentos PDF existentes a escala de grises. Para obtener más información sobre cómo trabajar con la extracción de texto, consulte nuestra guía sobre Extracción de texto e imágenes.

:path=/static-assets/pdf/content-code-examples/how-to/color-grayscale-grayscale.cs
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");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Set GrayScale to true
renderer.RenderingOptions.GrayScale = True

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://ironsoftware.com/")
pdf.CopyPage(0).SaveAs("test.pdf")
$vbLabelText   $csharpLabel

Ejemplos avanzados de generación de PDF en escala de grises

Convertir archivos HTML en PDF en escala de grises

Cuando trabajes con archivos HTML locales, puedes convertirlos a PDF en escala de grises. Esto resulta útil cuando se dispone de plantillas o informes prediseñados que necesitan una representación sin color. Más información sobre convertir archivos HTML a PDF.

using IronPdf;

// Create a renderer with grayscale enabled
var renderer = new ChromePdfRenderer()
{
    RenderingOptions = new ChromePdfRenderOptions()
    {
        GrayScale = true,
        MarginTop = 50,
        MarginBottom = 50,
        MarginLeft = 20,
        MarginRight = 20
    }
};

// Render an HTML file to grayscale PDF
var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Reports\MonthlyReport.html");
pdf.SaveAs(@"C:\Reports\MonthlyReport_Grayscale.pdf");
using IronPdf;

// Create a renderer with grayscale enabled
var renderer = new ChromePdfRenderer()
{
    RenderingOptions = new ChromePdfRenderOptions()
    {
        GrayScale = true,
        MarginTop = 50,
        MarginBottom = 50,
        MarginLeft = 20,
        MarginRight = 20
    }
};

// Render an HTML file to grayscale PDF
var pdf = renderer.RenderHtmlFileAsPdf(@"C:\Reports\MonthlyReport.html");
pdf.SaveAs(@"C:\Reports\MonthlyReport_Grayscale.pdf");
Imports IronPdf

' Create a renderer with grayscale enabled
Dim renderer = New ChromePdfRenderer() With {
    .RenderingOptions = New ChromePdfRenderOptions() With {
        .GrayScale = True,
        .MarginTop = 50,
        .MarginBottom = 50,
        .MarginLeft = 20,
        .MarginRight = 20
    }
}

' Render an HTML file to grayscale PDF
Dim pdf = renderer.RenderHtmlFileAsPdf("C:\Reports\MonthlyReport.html")
pdf.SaveAs("C:\Reports\MonthlyReport_Grayscale.pdf")
$vbLabelText   $csharpLabel

Creación de archivos PDF en escala de grises a partir de cadenas HTML

Para la generación de contenidos dinámicos, convierta cadenas HTML directamente en PDF en escala de grises. Este enfoque funciona bien para generar facturas, recibos o cualquier documento cuyo contenido se cree mediante programación. Para más detalles, visite nuestra guía sobre Conversión de cadenas HTML a PDF.

using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.GrayScale = true;

// HTML content with inline CSS
string htmlContent = @"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .header { background-color: #4CAF50; color: white; padding: 20px; }
            .content { padding: 20px; }
            .highlight { background-color: #ffeb3b; padding: 5px; }
        </style>
    </head>
    <body>
        <div class='header'>
            <h1>Invoice #12345</h1>
        </div>
        <div class='content'>
            <p>This colorful invoice will be rendered in grayscale.</p>
            <p class='highlight'>Highlighted sections maintain contrast in grayscale.</p>
        </div>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("invoice_grayscale.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.GrayScale = true;

// HTML content with inline CSS
string htmlContent = @"
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .header { background-color: #4CAF50; color: white; padding: 20px; }
            .content { padding: 20px; }
            .highlight { background-color: #ffeb3b; padding: 5px; }
        </style>
    </head>
    <body>
        <div class='header'>
            <h1>Invoice #12345</h1>
        </div>
        <div class='content'>
            <p>This colorful invoice will be rendered in grayscale.</p>
            <p class='highlight'>Highlighted sections maintain contrast in grayscale.</p>
        </div>
    </body>
    </html>";

var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("invoice_grayscale.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.GrayScale = True

' HTML content with inline CSS
Dim htmlContent As String = "
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .header { background-color: #4CAF50; color: white; padding: 20px; }
            .content { padding: 20px; }
            .highlight { background-color: #ffeb3b; padding: 5px; }
        </style>
    </head>
    <body>
        <div class='header'>
            <h1>Invoice #12345</h1>
        </div>
        <div class='content'>
            <p>This colorful invoice will be rendered in grayscale.</p>
            <p class='highlight'>Highlighted sections maintain contrast in grayscale.</p>
        </div>
    </body>
    </html>"

Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("invoice_grayscale.pdf")
$vbLabelText   $csharpLabel

Consideraciones sobre el rendimiento

Al generar archivos PDF en escala de grises, tenga en cuenta estos factores de rendimiento:

  1. Tamaño del archivo: Los PDF en escala de grises son más pequeños que las versiones en color, ideales para adjuntar a correos electrónicos y descargas web
  2. Velocidad de renderizado: La conversión a escala de grises añade una sobrecarga mínima al tiempo de renderizado
  3. Uso de memoria: El renderizado en escala de grises utiliza menos memoria que el renderizado a todo color, lo que resulta beneficioso para documentos de gran tamaño

Para obtener un mejor rendimiento al generar varios PDF en escala de grises, utilice técnicas de sincronización y multihilo.

Integración con otras funciones de IronPDF

Combine los PDF en escala de grises con otras funciones de IronPDF para obtener un procesamiento de documentos completo:

  • Cabeceras y pies de página: Añade encabezados y pies de página profesionales a tus documentos en escala de grises con nuestra guía de encabezados y pies de página
  • Números de página: incluya números de página en sus PDF en escala de grises siguiendo nuestro tutorial de números de página
  • Marcas de agua: Aplicar marcas de agua a PDF en escala de grises para la marca o la seguridad
  • Compresión PDF: Reduzca aún más el tamaño de los archivos combinando el renderizado en escala de grises con Compresión de PDF

Bestes prácticas para la generación de PDF en escala de grises

  1. Prueba de contraste de color: Asegúrate de que hay suficiente contraste entre los elementos antes de convertirlos
  2. Utilizar HTML semántico: Un HTML bien estructurado produce mejores resultados de conversión en escala de grises
  3. Considere la accesibilidad: Los PDF en escala de grises pueden mejorar la legibilidad para algunas discapacidades visuales
  4. Previsualizar antes de producir: Previsualice siempre la salida en escala de grises antes de generar grandes lotes

Solución de problemas comunes

Si tiene problemas con la generación de PDF en escala de grises:

  1. El texto aparece borroso: Usa configuraciones de DPI apropiadas en las opciones de renderizado
  2. Las imágenes se ven desvaídas: Ajuste el contraste de la imagen de origen antes de la conversión
  3. Cuestiones de rendimiento: Implementar el almacenamiento en caché para PDF en escala de grises generados con frecuencia

Para obtener información detallada sobre la solución de problemas, visite nuestra guía completa de solución de problemas.

¿Listo para ver qué más puedes hacer? Consulta nuestra página de tutoriales aquí: Convertir PDFs

PDF en escala de grises en la Administración y empresa española

La renderización en escala de grises tiene casos de uso específicos en el contexto regulatorio y empresarial de España:

  • Formularios de la AEAT optimizados para impresión: Los modelos tributarios de la AEAT (303, 347, 390, 349) están diseñados para ser funcionales en blanco y negro. Las empresas que imprimen declaraciones de IVA para archivo físico o para adjuntar a expedientes de auditoría generan sus PDFs directamente en escala de grises, ahorrando hasta un 70% en costes de tóner sin perder ninguna información relevante del documento fiscal.

  • Copias de facturas Facturae para archivo en papel: La normativa española permite mantener archivos físicos de facturas como respaldo del archivo electrónico. Las empresas que imprimen sus facturas Facturae para archivo en papel —especialmente las pymes que gestionan volúmenes medios bajo la ley Crea y Crece— generan las copias en escala de grises para reducir el coste por página. El logotipo corporativo en escala de grises mantiene suficiente contraste para ser legible e identificable.

  • Documentación de accesibilidad para organismos públicos: El Real Decreto 1112/2018, que transpone la Directiva europea de accesibilidad web, obliga a los organismos públicos españoles a garantizar que sus documentos digitales sean accesibles. Los PDFs en escala de grises de alto contraste facilitan la lectura a personas con ciertas discapacidades visuales y son compatibles con los lectores de pantalla. Los proveedores que suministran software documental a la Administración española deben contemplar esta opción.

  • Informes de cumplimiento VeriFactu para auditoría interna: Los informes de auditoría técnica que certifican la conformidad del software con los requisitos VeriFactu de la AEAT son documentos internos que no requieren color. Generarlos en escala de grises reduce el peso del archivo PDF (más compacto al no incluir datos de color) y facilita su almacenamiento en los sistemas de gestión documental corporativos, donde el espacio es un parámetro gestionado bajo políticas de LOPDGDD.

  • Tiques TicketBAI en impresoras térmicas: Los ISVs que desarrollan soluciones punto de venta para el País Vasco bajo el sistema TicketBAI necesitan generar tiques compatibles con impresoras térmicas, que sólo imprimen en blanco y negro. La opción GrayScale de IronPDF garantiza que el QR de verificación TicketBAI y todos los elementos del tique sean correctamente legibles en impresoras térmicas sin necesidad de conversión posterior.

Preguntas Frecuentes

¿Cómo convierto un PDF en color a escala de grises en C#?

Para convertir un PDF en color a escala de grises mediante IronPDF, cree una instancia de un objeto ChromePdfRenderer y establezca la propiedad GrayScale en RenderingOptions en true. A continuación, utilice métodos como RenderUrlAsPdf, RenderHtmlAsPdf o RenderHtmlFileAsPdf para generar su documento PDF en escala de grises.

¿Para qué sirve la propiedad GrayScale de RenderingOptions?

La propiedad GrayScale en RenderingOptions de IronPDF convierte todos los colores de su PDF en tonos de gris. Cuando se establece en true, el motor de renderizado de Chrome de IronPDF calcula automáticamente los valores de luminancia de los colores RGB y los convierte en sus equivalentes en escala de grises preservando la jerarquía visual y el contraste.

¿Por qué debería utilizar PDF en escala de grises en lugar de PDF en color?

El renderizado en escala de grises de IronPDF es ideal para una impresión rentable, especialmente en operaciones de grandes lotes. Los PDF en escala de grises también mejoran la legibilidad cuando los colores originales son demasiado brillantes, garantizan una mejor compatibilidad entre diferentes dispositivos y plataformas, y proporcionan experiencias de visualización coherentes.

¿Puedo convertir determinadas páginas a escala de grises y mantener otras en color?

Con IronPDF, puede renderizar documentos en escala de grises y luego extraer páginas específicas utilizando métodos como CopyPage. Aunque todo el documento se renderiza en escala de grises cuando la propiedad GrayScale está activada, puede combinar diferentes pases de renderizado para crear documentos mixtos en color y escala de grises.

¿Qué tipos de contenido se pueden convertir a PDF en escala de grises?

IronPDF puede convertir varios tipos de contenido a PDF en escala de grises, incluidas páginas web mediante RenderUrlAsPdf, cadenas HTML mediante RenderHtmlAsPdf y archivos HTML mediante RenderHtmlFileAsPdf. Todos los tipos de contenido admiten la misma opción de renderizado en escala de grises para obtener resultados coherentes.

¿Qué ventajas ofrece la escala de grises para la impresión de facturas Facturae en volumen?

Las empresas españolas que imprimen copias físicas de sus facturas Facturae para archivo pueden reducir el coste de impresión hasta en un 70% usando la opción GrayScale de IronPDF. Los logos y datos fiscales mantienen suficiente contraste para ser legibles e identificables, cumpliendo los requisitos de legibilidad de la normativa de archivo documental española.

Hairil Hasyimi Bin Omar
Ingeniero de Software
Como todos los grandes ingenieros, Hairil es un ávido aprendiz. Está refinando su conocimiento de C#, Python y Java, usando ese conocimiento para agregar valor a los miembros del equipo en Iron Software. Hairil se unió al equipo de Iron Software desde la Universiti Teknologi MARA en Malasia, donde se ...
Leer más
¿Listo para empezar?
Nuget Descargas 19,014,616 | Versión: 2026.5 just released
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPdf
ejecutar una muestra Mira cómo tu HTML se convierte en PDF.