Cree archivos PDF etiquetados en C# .NET

Un archivo PDF etiquetado es un tipo de PDF que utiliza etiquetas para definir la estructura lógica del contenido del documento. Se utiliza para mejorar la experiencia de lectura de quienes utilizan tecnologías de asistencia y lectores de pantalla. En una publicación anterior, cubrimos la creación de archivos PDF dentro de una aplicación .NET. En este artículo, demostraremos cómo crear archivos PDF etiquetados mediante programación en C# .NET.

C# .NET API para crear PDF etiquetados - Descarga gratuita

Aspose.PDF for .NET es una API robusta para la generación y manipulación de PDF dentro de las aplicaciones .NET. Con la API, puede crear, procesar y convertir sin problemas archivos PDF de diseños simples y complejos. Puede descargar los archivos binarios de la API o instalarlos mediante NuGet.

PM> Install-Package Aspose.PDF

Cree un archivo PDF etiquetado en C# .NET

Para crear elementos de estructura en un PDF etiquetado, Aspose.PDF for .NET proporciona la interfaz ITaggedContent. Entonces, veamos cómo usar esta interfaz para crear un archivo PDF etiquetado en C#.

El siguiente ejemplo de código muestra cómo crear un PDF etiquetado en C#.

// Crear documento PDF
Document document = new Document();

// Obtener contenido para trabajar con PDF etiquetado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Establecer el título y el idioma del documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Agregar encabezado
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Agregar párrafo
ParagraphElement paragraphElement = taggedContent.CreateParagraphElement();
paragraphElement.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");

rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphElement);

// Guardar PDF etiquetado
document.Save("tagged-pdf.pdf");

El siguiente es el resultado del ejemplo de código anterior.

Crear un archivo PDF etiquetado en C#

C# Crear un PDF etiquetado con elementos anidados

En el ejemplo anterior, creamos un PDF etiquetado simple que contiene un párrafo. Veamos ahora cómo agregar elementos anidados en un PDF etiquetado. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo agregar elementos anidados en un PDF etiquetado en C#.

// Crear documento PDF
Document document = new Document();

// Obtenga contenido para trabajar con PDF etiquetado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Establecer el título y el idioma del documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Agregar encabezado
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Crear párrafo
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// Agregar elemento de intervalo
SpanElement spanElement1 = taggedContent.CreateSpanElement();
spanElement1.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.CreateQuoteElement();
quoteElement.SetText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.StructureTextState.FontStyle = FontStyles.Bold | FontStyles.Italic;
SpanElement spanElement2 = taggedContent.CreateSpanElement();
spanElement2.SetText(" Sed non consectetur elit.");

// Agregar al párrafo
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Agregar al elemento raíz
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Guardar PDF etiquetado
document.Save("tagged-pdf-nested-elements.pdf");

La siguiente captura de pantalla muestra el PDF etiquetado con elementos anidados.

Cree un PDF etiquetado con elementos anidados en C#

Estilo de estructura de texto en un PDF etiquetado en C#

También puede aplicar estilo al texto en un PDF etiquetado configurando el estilo de fuente, la familia, el tamaño, etc. Para esto, Aspose.PDF for .NET proporciona Fuente, Tamaño de fuente, Estilo de fuente y ForegroundColor propiedades de la clase StructureTextState. El siguiente ejemplo de código muestra cómo aplicar estilos de texto en un PDF etiquetado en C#.

// Crear documento PDF
Document document = new Document();

// Obtenga contenido para trabajar con PDF etiquetado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Establecer el título y el idioma del documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Agregar encabezado
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Crear párrafo
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Establecer estilo
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Añadir texto
paragraphWithQuotes.SetText("Red italic text.");

// Guardar PDF etiquetado
document.Save("tagged-pdf-text-styling.pdf");

C# Ilustración de elementos de estructura en un PDF etiquetado

Para ilustrar los elementos de la estructura, Aspose.PDF for .NET proporciona la clase IllustrationElement. El siguiente ejemplo de código muestra cómo usar esta clase para ilustrar los elementos de estructura en un PDF etiquetado.

// Crear documento PDF
Document document = new Document();

// Obtenga contenido para trabajar con PDF etiquetado
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Establecer el título y el idioma del documento
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

IllustrationElement figure1 = taggedContent.CreateFigureElement();
taggedContent.RootElement.AppendChild(figure1);
figure1.AlternativeText = "Figure One";
figure1.Title = "Image 1";
figure1.SetTag("Fig1");
figure1.SetImage("aspose_pdf.png");

// Guardar PDF etiquetado
document.Save("tagged-pdf-illustrating-structure.pdf");

API de C# para crear PDF etiquetados: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita para usar Aspose.PDF for .NET sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a crear archivos PDF etiquetados en C#. Además, ha visto cómo crear elementos anidados, aplicar estilo al texto e ilustrar elementos de estructura en un PDF etiquetado mediante programación. Además, puede explorar más sobre la API de PDF de .NET utilizando la documentación. En caso de que tenga alguna pregunta o consulta, puede contactarnos a través de nuestro foro.

Ver también