Créer des fichiers PDF balisés en C# .NET

Un fichier PDF balisé est un type de PDF qui utilise des balises pour définir la structure logique du contenu du document. Il est utilisé pour améliorer l’expérience de lecture de ceux qui utilisent des technologies d’assistance et des lecteurs d’écran. Dans un article précédent, nous avons couvert la création de fichiers PDF dans une application .NET. Dans cet article, nous allons montrer comment créer des fichiers PDF balisés par programmation dans C# .NET.

API C# .NET pour créer des PDF balisés - Téléchargement gratuit

Aspose.PDF for .NET est une API robuste pour la génération et la manipulation de PDF dans les applications .NET. À l’aide de l’API, vous pouvez créer, traiter et convertir en toute transparence des fichiers PDF de mises en page simples et complexes. Vous pouvez télécharger les binaires de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.PDF

Créer un fichier PDF balisé en C# .NET

Pour créer des éléments de structure dans un PDF balisé, Aspose.PDF for .NET fournit l’interface ITaggedContent. Voyons donc comment utiliser cette interface pour créer un fichier PDF balisé en C#.

L’exemple de code suivant montre comment créer un PDF balisé en C#.

// Créer un document PDF
Document document = new Document();

// Obtenir du contenu pour travailler avec un PDF balisé
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// Définir le titre et la langue du document
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Ajouter un en-tête
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Ajouter un paragraphe
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);

// Enregistrer le PDF balisé
document.Save("tagged-pdf.pdf");

Voici la sortie de l’exemple de code ci-dessus.

Créer un fichier PDF balisé en C#

C# Créer un PDF balisé avec des éléments imbriqués

Dans l’exemple précédent, nous avons créé un simple PDF balisé contenant un paragraphe. Voyons maintenant comment ajouter des éléments imbriqués dans un PDF balisé. Voici les étapes pour effectuer cette opération.

L’exemple de code suivant montre comment ajouter des éléments imbriqués dans un PDF balisé en C#.

// Créer un document PDF
Document document = new Document();

// Obtenez du contenu pour travailler avec le PDF balisé
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Définir le titre et la langue du document
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Ajouter un en-tête
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Créer un paragraphe
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// Ajouter un élément span
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.");

// Ajouter au paragraphe
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// Ajouter à l'élément racine
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// Enregistrer le PDF balisé
document.Save("tagged-pdf-nested-elements.pdf");

La capture d’écran suivante montre le PDF balisé avec des éléments imbriqués.

Créer un PDF balisé avec des éléments imbriqués en C#

Styler la structure du texte dans un PDF balisé en C#

Vous pouvez également appliquer un style au texte dans un PDF balisé en définissant le style de police, la famille, la taille, etc. Pour cela, Aspose.PDF for .NET fournit Font, FontSize, FontStyle et ForegroundColor propriétés de la classe StructureTextState. L’exemple de code suivant montre comment appliquer un style de texte dans un PDF balisé en C#.

// Créer un document PDF
Document document = new Document();

// Obtenez du contenu pour travailler avec le PDF balisé
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Définir le titre et la langue du document
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// Ajouter un en-tête
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// Créer un paragraphe
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// Définir le style
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// Ajouter du texte
paragraphWithQuotes.SetText("Red italic text.");

// Enregistrer le PDF balisé
document.Save("tagged-pdf-text-styling.pdf");

C# Illustrer les éléments de structure dans un PDF balisé

Pour illustrer les éléments de structure, Aspose.PDF for .NET fournit la classe IllustrationElement. L’exemple de code suivant montre comment utiliser cette classe pour illustrer les éléments de structure dans un PDF balisé.

// Créer un document PDF
Document document = new Document();

// Obtenez du contenu pour travailler avec le PDF balisé
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// Définir le titre et la langue du document
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");

// Enregistrer le PDF balisé
document.Save("tagged-pdf-illustrating-structure.pdf");

API C# pour créer des PDF balisés - Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser Aspose.PDF for .NET sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à créer des fichiers PDF balisés en C#. De plus, vous avez vu comment créer des éléments imbriqués, appliquer un style au texte et illustrer par programmation des éléments de structure dans un PDF balisé. En outre, vous pouvez en savoir plus sur l’API PDF .NET à l’aide de la documentation. Si vous avez des questions ou des questions, vous pouvez nous contacter via notre forum.

Voir également