Generación de PDF accesibles en C#: RD 1112/2018, UNE-EN 301 549 y PDF/UA-1 para España
En España, la obligación de generar documentos PDF accesibles no deriva de la normativa estadounidense sino del Real Decreto 1112/2018 (transposición de la Directiva UE 2016/2102 sobre accesibilidad web del sector público), la norma técnica UNE-EN 301 549 (que incorpora WCAG 2.1 nivel AA como requisito mínimo), y el estándar ISO PDF/UA-1 (ISO 14289-1) para documentos PDF accesibles. El organismo de supervisión es el OAW (Observatorio de Accesibilidad Web), que publica informes anuales, y la plataforma de monitorización es INCLUSIO. IronPDF permite generar PDFs conformes con estos requisitos mediante el método SaveAsPdfUA().
-
1Install IronPDF with NuGet Package Manager
-
2Copie y ejecute este fragmento de código.
IronPdf.PdfDocument.FromFile("input.pdf").SaveAsPdfUA("output-accessible.pdf");C# -
3Despliegue para probar en su entorno real
Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Marco normativo español de accesibilidad digital
Real Decreto 1112/2018 - Obligación de accesibilidad del sector público
El RD 1112/2018 transpone la Directiva (UE) 2016/2102 al ordenamiento español. Establece que los sitios web y aplicaciones móviles de las Administraciones Públicas españolas deben ser accesibles, con una declaración de accesibilidad publicada y un mecanismo de reclamación accesible. Los documentos PDF publicados por la Administración en sus portales - desde facturas emitidas mediante FACe hasta documentos de contratación pública - deben cumplir los requisitos de accesibilidad del RD 1112/2018, lo que en la práctica exige el nivel WCAG 2.1 AA y, para documentos PDF propiamente dichos, el estándar PDF/UA-1 (ISO 14289-1).
Para ISV que desarrollan software de gestión documental, sistemas de facturación o portales de administración electrónica para el sector público español, la generación de PDF accesibles con IronPDF es un requisito normativo directo, no una opción.
UNE-EN 301 549 - WCAG 2.1 AA como mandato técnico en España
La norma UNE-EN 301 549 (equivalente español de la norma europea EN 301 549) es el estándar técnico de accesibilidad para productos y servicios TIC en España y la UE. En su versión vigente (v3.1.1, con cláusula 9 dedicada a contenido web y cláusula 10 a documentos no web, incluidos PDF), incorpora WCAG 2.1 nivel AA como el nivel mínimo de conformidad requerido para contratación pública TIC en España.
Esto significa que los PDF generados para contratos con la Administración Pública española deben:
- Cumplir WCAG 2.1 AA en su equivalente para documentos (criterios de accesibilidad de PDF/UA-1).
- Disponer de estructura de encabezados adecuada (
H1–H6), texto alternativo para imágenes, idioma del documento declarado (espara castellano), orden de lectura lógico y tablas con encabezados y atributosscope.
PDF/UA-1 (ISO 14289-1) - El estándar de referencia para PDF accesible
El estándar PDF/UA-1 (ISO 14289-1) es la referencia técnica internacional para documentos PDF accesibles. Define los requisitos de etiquetado PDF que permiten a lectores de pantalla (NVDA, JAWS, Orca en Linux) y otras tecnologías de asistencia interpretar correctamente el contenido. En el contexto español, PDF/UA-1 es el estándar técnico que da cumplimiento operativo a UNE-EN 301 549 cláusula 10 para documentos PDF.
IronPDF genera documentos conformes con PDF/UA-1 mediante el método SaveAsPdfUA(), aprovechando el motor de renderizado de Google Chromium, que incorpora las mejoras de accesibilidad descritas en el blog de Chromium sobre accesibilidad PDF.
OAW - Observatorio de Accesibilidad Web y ciclo de supervisión anual
El OAW (Observatorio de Accesibilidad Web, administracion.gob.es/pag_Home/observatorio.html) es el organismo de supervisión del cumplimiento del RD 1112/2018. Publica informes anuales sobre el nivel de cumplimiento de accesibilidad de las Administraciones Públicas españolas. Los organismos con bajo cumplimiento pueden recibir requerimientos de mejora. Para los ISV que suministran software de generación documental PDF a la Administración, los ciclos de supervisión anuales del OAW crean presión de cumplimiento continua.
INCLUSIO - Plataforma de monitorización de accesibilidad
INCLUSIO es la plataforma del MPTFP (Ministerio para la Transformación Digital y de la Función Pública) para la monitorización de la accesibilidad de sedes electrónicas y portales de la Administración Pública española. Los sistemas que generan y publican documentos PDF en portales supervisados por INCLUSIO deben garantizar que los PDFs publicados sean conformes con PDF/UA-1 / UNE-EN 301 549.
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.
Elementos estructurales para PDFs accesibles bajo UNE-EN 301 549
Los PDF accesibles bajo los requisitos de UNE-EN 301 549 y PDF/UA-1 requieren los siguientes elementos estructurales, que el motor Chromium de IronPDF gestiona automáticamente al renderizar HTML semántico:
- Estructura de contenido etiquetado que defina el orden de lectura y la jerarquía documental.
- Texto alternativo (
alt) para imágenes y elementos no textuales. - Estructura adecuada de encabezados (
H1,H2,H3) para la navegación con lector de pantalla. - Especificación lingüística del documento (
lang="es"en HTML) para la pronunciación correcta del lector de pantalla en castellano, catalán, euskera o gallego según el contenido. - Orden lógico de lectura siguiendo el flujo natural del contenido.
- Relaciones de contraste adecuadas entre texto y fondo (mínimo 4,5:1 para texto normal según WCAG 2.1 AA criterio 1.4.3).
A continuación se muestra un ejemplo de generación de PDF accesible con HTML semántico en castellano:
using IronPdf;
// Create renderer with accessibility-focused settings
var renderer = new ChromePdfRenderer();
// HTML with proper semantic structure
string accessibleHtml = @"
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Annual Report 2024</title>
</head>
<body>
<header>
<h1>Annual Financial Report</h1>
<nav aria-label='Document navigation'>
<ul>
<li><a href='#summary'>Executive Summary</a></li>
<li><a href='#finances'>Financial Overview</a></li>
</ul>
</nav>
</header>
<main>
<section id='summary'>
<h2>Executive Summary</h2>
<p>This report provides a comprehensive overview of our financial performance.</p>
</section>
<section id='finances'>
<h2>Financial Overview</h2>
<table>
<caption>Quarterly Revenue Breakdown</caption>
<thead>
<tr>
<th scope='col'>Quarter</th>
<th scope='col'>Revenue</th>
<th scope='col'>Growth</th>
</tr>
</thead>
<tbody>
<tr>
<td>Q1 2024</td>
<td>$1.2M</td>
<td>15%</td>
</tr>
</tbody>
</table>
</section>
</main>
</body>
</html>";
// Render to PDF and save as accessible PDF/UA
var pdf = renderer.RenderHtmlAsPdf(accessibleHtml);
pdf.SaveAsPdfUA("accessible-annual-report.pdf");Imports IronPdf
' Create renderer with accessibility-focused settings
Dim renderer As New ChromePdfRenderer()
' HTML with proper semantic structure
Dim accessibleHtml As String = "
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Annual Report 2024</title>
</head>
<body>
<header>
<h1>Annual Financial Report</h1>
<nav aria-label='Document navigation'>
<ul>
<li><a href='#summary'>Executive Summary</a></li>
<li><a href='#finances'>Financial Overview</a></li>
</ul>
</nav>
</header>
<main>
<section id='summary'>
<h2>Executive Summary</h2>
<p>This report provides a comprehensive overview of our financial performance.</p>
</section>
<section id='finances'>
<h2>Financial Overview</h2>
<table>
<caption>Quarterly Revenue Breakdown</caption>
<thead>
<tr>
<th scope='col'>Quarter</th>
<th scope='col'>Revenue</th>
<th scope='col'>Growth</th>
</tr>
</thead>
<tbody>
<tr>
<td>Q1 2024</td>
<td>$1.2M</td>
<td>15%</td>
</tr>
</tbody>
</table>
</section>
</main>
</body>
</html>"
' Render to PDF and save as accessible PDF/UA
Dim pdf = renderer.RenderHtmlAsPdf(accessibleHtml)
pdf.SaveAsPdfUA("accessible-annual-report.pdf")Estándares soportados por IronPDF en el contexto español
IronPDF es compatible con los estándares de accesibilidad relevantes para el mercado español:
- PDF/UA-1 (ISO 14289-1) - Estándar principal para PDFs accesibles, generado vía
SaveAsPdfUA(). Cumple los requisitos de UNE-EN 301 549 cláusula 10 para documentos PDF. - WCAG 2.1 Nivel AA - Conformidad cuando el HTML fuente sigue las normas WCAG 2.1 AA. Mandato técnico de UNE-EN 301 549 para contratación pública TIC.
- EN 301 549 - Norma europea de accesibilidad para productos TIC, incorporada como UNE-EN 301 549 en España.
- PDF/A-3b - Para archivado de documentos con requisitos de larga duración, compatible con el archivo electrónico de documentos oficiales bajo la legislación española de administración electrónica.
La biblioteca también es compatible con UTF-8 e idiomas internacionales, incluyendo caracteres del castellano (ñ, á, é, í, ó, ú, ü, ¿, ¡), catalán, euskera y gallego.
Exportación de PDF accesibles y con archivado
IronPDF ofrece opciones de exportación para cumplir los distintos requisitos de conformidad del mercado español:
using IronPdf;
// Load or create a PDF document
var pdf = PdfDocument.FromFile("source-document.pdf");
// Export as PDF/UA for accessibility compliance
pdf.SaveAsPdfUA("accessible-output.pdf");
// Export as PDF/A for long-term archiving with accessibility
pdf.SaveAsPdfA("archived-accessible.pdf", PdfAVersions.PdfA3);
// Set document metadata for better accessibility
pdf.Metadata.Title = "2024 Accessibility Report";
pdf.Metadata.Author = "Compliance Department";
pdf.Metadata.Subject = "Annual accessibility compliance documentation";
pdf.Metadata.Keywords = "accessibility, Section 508, compliance, PDF/UA";
pdf.Metadata.Language = "en-US";
// Save with metadata
pdf.SaveAs("document-with-metadata.pdf");Imports IronPdf
' Load or create a PDF document
Dim pdf = PdfDocument.FromFile("source-document.pdf")
' Export as PDF/UA for accessibility compliance
pdf.SaveAsPdfUA("accessible-output.pdf")
' Export as PDF/A for long-term archiving with accessibility
pdf.SaveAsPdfA("archived-accessible.pdf", PdfAVersions.PdfA3)
' Set document metadata for better accessibility
pdf.Metadata.Title = "2024 Accessibility Report"
pdf.Metadata.Author = "Compliance Department"
pdf.Metadata.Subject = "Annual accessibility compliance documentation"
pdf.Metadata.Keywords = "accessibility, Section 508, compliance, PDF/UA"
pdf.Metadata.Language = "en-US"
' Save with metadata
pdf.SaveAs("document-with-metadata.pdf")Estándares PDF recomendados por contexto en España
Los distintos sectores y tipos de documento en España requieren estándares PDF específicos:
- Administración Pública y contratación pública (RD 1112/2018 + UNE-EN 301 549):
PDF/UA-1viaSaveAsPdfUA(). - Archivado electrónico de documentos oficiales (Ley 39/2015, Ley 40/2015):
PDF/A-3bcon metadatos completos. - Facturas electrónicas FACe (formato Facturae + accesibilidad):
PDF/A-3bcon datos Facturae embebidos. - Facturas VeriFactu y TicketBAI (Bizkaia, Gipuzkoa, Araba): documentos PDF con la leyenda
VERI*FACTUy QR de la AEAT generados mediante HTML-to-PDF. Aunque los requisitos de accesibilidad de VeriFactu no exigen PDF/UA, los ISV que distribuyen software de facturación bajo Crea y Crece a Administraciones Públicas deben contemplar accesibilidad si el software genera documentos para portales sujetos al RD 1112/2018. - Registros TicketBAI con firma XAdES: los registros XML TicketBAI se firman con XAdES, no con PAdES, pero el PDF de visualización del ticket puede requerir accesibilidad si se publica en un portal de administración electrónica foral (Bizkaia, Gipuzkoa, Araba).
- Documentos sanitarios bajo LOPDGDD:
PDF/UA-1con cifrado y protección por contraseña. - Documentos judiciales y notariales con firma eIDAS:
PDF/UA-1con firmaPAdESmediante certificado FNMT-RCM o TSP acreditada.
Conversión de PDF heredados a formato accesible
La conversión de documentos PDF existentes a formatos accesibles conforme a PDF/UA-1 es una necesidad frecuente en proyectos de administración electrónica española. IronPDF gestiona este proceso:
using IronPdf;
using System.Collections.Generic;
// Load existing PDF
var existingPdf = PdfDocument.FromFile("legacy-document.pdf");
// Add document structure and metadata
existingPdf.Metadata.Title = "Converted Accessible Document";
existingPdf.Metadata.Language = "en-US";
// Extract and re-render for better structure (if original lacks tags)
string extractedHtml = existingPdf.ExtractHtmlString();
// Create new accessible version
var renderer = new ChromePdfRenderer()
{
RenderingOptions = new ChromePdfRenderOptions()
{
MarginTop = 40,
MarginBottom = 40,
EnableJavaScript = true,
RenderDelay = 500 // Allow time for JavaScript rendering
}
};
// Re-render with proper structure
var accessiblePdf = renderer.RenderHtmlAsPdf(extractedHtml);
accessiblePdf.SaveAsPdfUA("converted-accessible.pdf");Imports IronPdf
Imports System.Collections.Generic
' Load existing PDF
Dim existingPdf = PdfDocument.FromFile("legacy-document.pdf")
' Add document structure and metadata
existingPdf.Metadata.Title = "Converted Accessible Document"
existingPdf.Metadata.Language = "en-US"
' Extract and re-render for better structure (if original lacks tags)
Dim extractedHtml As String = existingPdf.ExtractHtmlString()
' Create new accessible version
Dim renderer As New ChromePdfRenderer() With {
.RenderingOptions = New ChromePdfRenderOptions() With {
.MarginTop = 40,
.MarginBottom = 40,
.EnableJavaScript = True,
.RenderDelay = 500 ' Allow time for JavaScript rendering
}
}
' Re-render with proper structure
Dim accessiblePdf = renderer.RenderHtmlAsPdf(extractedHtml)
accessiblePdf.SaveAsPdfUA("converted-accessible.pdf")Problemas comunes en la generación de PDF accesibles bajo UNE-EN 301 549
Las causas más frecuentes de incumplimiento en la validación con herramientas como PAC 3 o el verificador de Matterhorn Protocol son:
- Texto alternativo ausente: imágenes sin atributo
alten el HTML fuente - el OAW lo detecta en sus auditorías de supervisión. - Orden de lectura incorrecto: diseños CSS complejos con posicionamiento absoluto pueden confundir el árbol de accesibilidad del PDF.
- Contraste de color insuficiente: relaciones de contraste por debajo de 4,5:1 (criterio WCAG 2.1 AA 1.4.3), frecuente en plantillas corporativas con paletas de color de marca.
- Idioma del documento no declarado: los lectores de pantalla (NVDA, JAWS) necesitan
lang="es"(olang="ca",lang="eu",lang="gl"según corresponda) para pronunciar correctamente en cada lengua. - Tablas sin encabezados: tablas de datos sin
<th scope="col">y<th scope="row">no son interpretadas correctamente por las tecnologías de asistencia.
IronPDF ayuda a prevenir estos problemas preservando la estructura semántica HTML y generando automáticamente las etiquetas PDF/UA adecuadas.
Soporte para requisitos de accesibilidad específicos
Póngase en contacto con nuestro equipo de soporte para necesidades de accesibilidad específicas del contexto español - en particular para integración con los ciclos de auditoría del OAW, validación de documentos bajo INCLUSIO, o requisitos de UNE-EN 301 549 para proyectos de contratación pública. Envíe solicitudes de soporte detalladas indicando:
- El requisito normativo específico (RD 1112/2018, UNE-EN 301 549 versión, PDF/UA-1).
- El organismo de supervisión involucrado (OAW, INCLUSIO, AEPD para documentos con datos personales bajo LOPDGDD).
- El informe de validación de la herramienta empleada (PAC 3, Matterhorn Protocol, axe-pdf).
- La versión de IronPDF utilizada y el entorno de despliegue.
Preguntas Frecuentes
¿Qué es el cumplimiento de la Sección 508 y por qué es importante para los documentos PDF?
El cumplimiento de la Sección 508 es un requisito federal estadounidense que garantiza que los contenidos digitales sean accesibles para las personas con discapacidad. En el caso de los PDF, esto significa incluir una estructura de documento adecuada, texto alternativo para las imágenes y un orden de lectura lógico. IronPDF gestiona automáticamente estos requisitos mediante su método SaveAsPdfUA(), ayudando a las organizaciones a evitar sanciones legales y garantizando que sus documentos sean accesibles para todos los usuarios.
¿Cómo puedo crear un PDF accesible que cumpla los requisitos de la Sección 508?
Crear PDF accesibles con IronPDF es extraordinariamente sencillo. Puede convertir cualquier PDF existente para que cumpla la Sección 508 con sólo una línea de código: IronPdf.PdfDocument.FromFile("input.pdf").SaveAsPdfUA("output-accessible.pdf"). Este método añade automáticamente todas las características de accesibilidad necesarias, incluidos el etiquetado, la estructura y los metadatos adecuados.
¿Qué funciones de accesibilidad se incluyen automáticamente al generar archivos PDF?
IronPDF incluye automáticamente funciones de accesibilidad esenciales, como la estructura de contenido etiquetado para un orden de lectura adecuado, texto alternativo para imágenes, jerarquía de encabezados adecuada (H1, H2, H3), especificaciones de idioma para lectores de pantalla, orden de lectura lógico y relaciones de contraste apropiadas. Estas características se implementan a través del motor de renderizado de Google Chromium, que IronPDF aprovecha para la generación de PDF.
¿Qué es PDF/UA y qué relación tiene con los PDF accesibles?
PDF/UA (Accesibilidad Universal) es el estándar internacional para documentos PDF accesibles. Define los requisitos técnicos para que los PDF sean compatibles con tecnologías de asistencia como los lectores de pantalla. El método SaveAsPdfUA() de IronPDF genera automáticamente PDFs que cumplen con los estándares PDF/UA, asegurando que sus documentos cumplen tanto con las directrices internacionales de accesibilidad como con los requisitos de la Sección 508.
¿Cuáles son los riesgos empresariales de no crear PDF accesibles?
El incumplimiento de las normas de accesibilidad puede acarrear graves consecuencias, como sanciones legales en virtud de la ADA, pérdida de contratos federales, exclusión de aproximadamente el 20% de la población con discapacidades y daños a la reputación de la marca. IronPDF ayuda a mitigar estos riesgos garantizando automáticamente que sus PDF cumplen los requisitos de accesibilidad sin necesidad de amplios conocimientos técnicos sobre las especificaciones PDF/UA.
¿Cómo gestiona automáticamente la biblioteca los requisitos de accesibilidad complejos?
IronPDF aprovecha el motor de renderizado HTML de Google Chromium, heredando las amplias mejoras de accesibilidad de Google. Cuando se utiliza el método SaveAsPdfUA(), la biblioteca gestiona automáticamente requisitos complejos como el etiquetado adecuado del documento, la inserción de metadatos, el establecimiento del orden de lectura y la jerarquía estructural, todo ello sin necesidad de que los desarrolladores comprendan los intrincados detalles de los estándares de accesibilidad de PDF.
Which accessibility standards should be considered for different industries?
Different industries require specific PDF standards: Government uses PDF/UA and PDF/A-3, Healthcare considers PDF/UA with security, Financial Services prefer PDF/A-3b, Education requires PDF/UA, and Legal Documents use PDF/A with accessibility.
How can I get support for accessibility features in IronPDF?
To receive support for accessibility features, contact IronPDF's developer support. They provide assistance for industry-specific accessibility requirements, issues with validation tools, custom tagging needs, and integration with testing tools.
When should I contact support for accessibility issues?
You should contact support for accessibility issues when encountering validation failures, screen reader problems, compliance concerns, performance issues with large PDFs, or when you have custom accessibility requirements.
What future accessibility features are planned for IronPDF?
IronPDF plans to enhance support for mathematical formulas, improve form field labeling, advance table tagging, automate accessibility reports, integrate with testing APIs, and support emerging PDF 2.0 accessibility features.

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.