Crear PDF Etiquetado usando C#

Crear un PDF etiquetado significa agregar (o crear) ciertos elementos al documento que permitirán que el documento sea validado de acuerdo con los requisitos de PDF/UA. Estos elementos se llaman a menudo Elementos de Estructura.

El siguiente fragmento de código también funciona con la biblioteca Aspose.PDF.Drawing.

Creando PDF Etiquetado (Escenario Simple)

Para crear elementos de estructura en un Documento PDF Etiquetado, Aspose.PDF ofrece métodos para crear elementos de estructura utilizando la interfaz ITaggedContent. El siguiente fragmento de código muestra cómo crear un PDF etiquetado que contiene 2 elementos: encabezado y párrafo.

Obtendremos el siguiente documento después de la creación:

Documento PDF etiquetado con 2 elementos - Encabezado y Párrafo

Creando PDF Etiquetado con elementos anidados (Creando Árbol de Elementos de Estructura)

En algunos casos, necesitamos crear una estructura más compleja, por ejemplo, colocar citas en un párrafo. Para crear un árbol de elementos de estructura, debemos usar el método AppendChild. El siguiente fragmento de código muestra cómo crear un árbol de elementos de estructura de un Documento PDF Etiquetado:

Obtendremos el siguiente documento después de la creación: Documento PDF etiquetado con elementos anidados - span y citas

Estilizando la Estructura del Texto

Para estilizar la estructura del texto en un Documento PDF Etiquetado, Aspose.PDF ofrece las propiedades Font, FontSize, FontStyle y ForegroundColor de la Clase StructureTextState. El siguiente fragmento de código muestra cómo estilizar la estructura del texto en un Documento PDF Etiquetado:

Ilustrando Elementos de Estructura

Para ilustrar elementos de estructura en un Documento PDF Etiquetado, Aspose.PDF ofrece la clase IllustrationElement. El siguiente fragmento de código muestra cómo ilustrar elementos de estructura en un Documento PDF Etiquetado:

Validar PDF Etiquetado

Aspose.PDF for .NET proporciona la capacidad de validar un Documento PDF Etiquetado PDF/UA. La validación del estándar PDF/UA soporta:

  • Verificaciones de XObjects.
  • Verificaciones de Acciones.
  • Verificaciones de Contenido Opcional.
  • Verificaciones de Archivos Embebidos.
  • Verificaciones de Campos de Acroform (Validar Lenguaje Natural y Nombre Alternativo y Firmas Digitales).
  • Verificaciones de Campos de Formulario XFA.
  • Verificaciones de configuraciones de Seguridad.
  • Verificaciones de Navegación.
  • Verificaciones de Anotaciones.

El siguiente fragmento de código muestra cómo validar el Documento PDF Etiquetado. Los problemas correspondientes se mostrarán en el informe de registro XML.

Ajustar la posición de la Estructura del Texto

El siguiente fragmento de código muestra cómo ajustar la posición de la Estructura del Texto en el documento PDF etiquetado:

Creando PDF Etiquetado automáticamente con conversión PDF/UA-1

Aspose.PDF permite la generación automática de marcado de estructura lógica básica al convertir un documento a PDF/UA-1. Los usuarios pueden luego mejorar manualmente esta estructura lógica básica, proporcionando información adicional sobre el contenido del documento.

Para generar una estructura lógica del documento, crea una instancia de la clase Aspose.Pdf.AutoTaggingSettings, establece su propiedad AutoTaggingSettings.EnableAutoTagging en true, y asígnala a la propiedad PdfFormatConversionOptions.AutoTaggingSettings.

Creando PDF Etiquetado con Campos de Formulario

Puedes etiquetar campos de formulario interactivos en un documento PDF para asegurarte de que se incluyan en el árbol de estructura lógica para accesibilidad (PDF/UA). El fragmento a continuación demuestra cómo crear un campo de formulario, registrarlo en el AcroForm y asociarlo con un elemento de estructura /Form en el árbol de estructura.

Creando PDF Etiquetado con página de tabla de contenido (TOC)

Genera un documento PDF etiquetado con una página de Tabla de Contenidos (TOC) accesible.

Genera un PDF etiquetado que incluya una página de tabla de contenido accesible, que contenga un título de página y una sublista anidada.