Définir les propriétés des éléments de structure
Pour définir les propriétés des éléments de structure dans un document PDF tagué, Aspose.PDF propose les méthodes CreateSectElement et CreateHeaderElement de l’interface ITaggedContent .
Le code suivant montre comment définir les propriétés des éléments de structure d’un document PDF tagué :
Définir les éléments de structure de texte
Pour définir les éléments de structure de texte d’un document PDF tagué, Aspose.PDF propose la classe ParagraphElement . Le code suivant montre comment définir les éléments de structure de texte d’un document PDF tagué :
Définir les éléments de structure de bloc de texte
Pour définir les éléments de structure de bloc de texte d’un document PDF tagué, Aspose.PDF propose les classes HeaderElement et ParagraphElement . Vous pouvez ajouter des objets de ces classes comme enfant de l’objet StructureElement . Le code suivant montre comment définir les éléments de structure de bloc de texte d’un document PDF tagué :
.NET Core 3.1
Copy
private static void SetTextBlockElements ( )
{
var dataDir = RunExamples . GetDataDir_AsposePdf_WorkingDocuments ();
using ( var document = new Aspose . Pdf . Document ())
{
Aspose . Pdf . Tagged . ITaggedContent taggedContent = document . TaggedContent ;
taggedContent . SetTitle ( "Tagged Pdf Document" );
taggedContent . SetLanguage ( "en-US" );
Aspose . Pdf . LogicalStructure . StructureElement rootElement = taggedContent . RootElement ;
Aspose . Pdf . LogicalStructure . HeaderElement h1 = taggedContent . CreateHeaderElement ( 1 );
Aspose . Pdf . LogicalStructure . HeaderElement h2 = taggedContent . CreateHeaderElement ( 2 );
Aspose . Pdf . LogicalStructure . HeaderElement h3 = taggedContent . CreateHeaderElement ( 3 );
Aspose . Pdf . LogicalStructure . HeaderElement h4 = taggedContent . CreateHeaderElement ( 4 );
Aspose . Pdf . LogicalStructure . HeaderElement h5 = taggedContent . CreateHeaderElement ( 5 );
Aspose . Pdf . LogicalStructure . HeaderElement h6 = taggedContent . CreateHeaderElement ( 6 );
h1 . SetText ( "H1. Header of Level 1" );
h2 . SetText ( "H2. Header of Level 2" );
h3 . SetText ( "H3. Header of Level 3" );
h4 . SetText ( "H4. Header of Level 4" );
h5 . SetText ( "H5. Header of Level 5" );
h6 . SetText ( "H6. Header of Level 6" );
rootElement . AppendChild ( h1 );
rootElement . AppendChild ( h2 );
rootElement . AppendChild ( h3 );
rootElement . AppendChild ( h4 );
rootElement . AppendChild ( h5 );
rootElement . AppendChild ( h6 );
Aspose . Pdf . LogicalStructure . ParagraphElement p = taggedContent . CreateParagraphElement ();
p . SetText ( "P. 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 ( p );
document . Save ( dataDir + "TextBlockStructureElements_out.pdf" );
}
}
.NET 8
Copy
private static void SetTextBlockElements ( )
{
var dataDir = RunExamples . GetDataDir_AsposePdf_WorkingDocuments ();
using var document = new Aspose . Pdf . Document ();
Aspose . Pdf . Tagged . ITaggedContent taggedContent = document . TaggedContent ;
taggedContent . SetTitle ( "Tagged Pdf Document" );
taggedContent . SetLanguage ( "en-US" );
Aspose . Pdf . LogicalStructure . StructureElement rootElement = taggedContent . RootElement ;
Aspose . Pdf . LogicalStructure . HeaderElement h1 = taggedContent . CreateHeaderElement ( 1 );
Aspose . Pdf . LogicalStructure . HeaderElement h2 = taggedContent . CreateHeaderElement ( 2 );
Aspose . Pdf . LogicalStructure . HeaderElement h3 = taggedContent . CreateHeaderElement ( 3 );
Aspose . Pdf . LogicalStructure . HeaderElement h4 = taggedContent . CreateHeaderElement ( 4 );
Aspose . Pdf . LogicalStructure . HeaderElement h5 = taggedContent . CreateHeaderElement ( 5 );
Aspose . Pdf . LogicalStructure . HeaderElement h6 = taggedContent . CreateHeaderElement ( 6 );
h1 . SetText ( "H1. Header of Level 1" );
h2 . SetText ( "H2. Header of Level 2" );
h3 . SetText ( "H3. Header of Level 3" );
h4 . SetText ( "H4. Header of Level 4" );
h5 . SetText ( "H5. Header of Level 5" );
h6 . SetText ( "H6. Header of Level 6" );
rootElement . AppendChild ( h1 );
rootElement . AppendChild ( h2 );
rootElement . AppendChild ( h3 );
rootElement . AppendChild ( h4 );
rootElement . AppendChild ( h5 );
rootElement . AppendChild ( h6 );
Aspose . Pdf . LogicalStructure . ParagraphElement p = taggedContent . CreateParagraphElement ();
p . SetText ( "P. 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 ( p );
document . Save ( dataDir + "TextBlockStructureElements_out.pdf" );
}
Définir les éléments de structure en ligne
Pour définir les éléments de structure en ligne d’un document PDF tagué, Aspose.PDF propose les classes SpanElement et ParagraphElement . Vous pouvez ajouter des objets de ces classes comme enfant de l’objet StructureElement . Le code suivant montre comment définir les éléments de structure en ligne d’un document PDF tagué :
.NET Core 3.1
Copy
private static void SetInlineElements ( )
{
var dataDir = RunExamples . GetDataDir_AsposePdf_WorkingDocuments ();
using ( var document = new Aspose . Pdf . Document ())
{
Aspose . Pdf . Tagged . ITaggedContent taggedContent = document . TaggedContent ;
taggedContent . SetTitle ( "Tagged Pdf Document" );
taggedContent . SetLanguage ( "en-US" );
Aspose . Pdf . LogicalStructure . StructureElement rootElement = taggedContent . RootElement ;
Aspose . Pdf . LogicalStructure . HeaderElement h1 = taggedContent . CreateHeaderElement ( 1 );
Aspose . Pdf . LogicalStructure . HeaderElement h2 = taggedContent . CreateHeaderElement ( 2 );
Aspose . Pdf . LogicalStructure . HeaderElement h3 = taggedContent . CreateHeaderElement ( 3 );
Aspose . Pdf . LogicalStructure . HeaderElement h4 = taggedContent . CreateHeaderElement ( 4 );
Aspose . Pdf . LogicalStructure . HeaderElement h5 = taggedContent . CreateHeaderElement ( 5 );
Aspose . Pdf . LogicalStructure . HeaderElement h6 = taggedContent . CreateHeaderElement ( 6 );
rootElement . AppendChild ( h1 );
rootElement . AppendChild ( h2 );
rootElement . AppendChild ( h3 );
rootElement . AppendChild ( h4 );
rootElement . AppendChild ( h5 );
rootElement . AppendChild ( h6 );
Aspose . Pdf . LogicalStructure . SpanElement spanH11 = taggedContent . CreateSpanElement ();
spanH11 . SetText ( "H1. " );
h1 . AppendChild ( spanH11 );
Aspose . Pdf . LogicalStructure . SpanElement spanH12 = taggedContent . CreateSpanElement ();
spanH12 . SetText ( "Level 1 Header" );
h1 . AppendChild ( spanH12 );
Aspose . Pdf . LogicalStructure . SpanElement spanH21 = taggedContent . CreateSpanElement ();
spanH21 . SetText ( "H2. " );
h2 . AppendChild ( spanH21 );
Aspose . Pdf . LogicalStructure . SpanElement spanH22 = taggedContent . CreateSpanElement ();
spanH22 . SetText ( "Level 2 Header" );
h2 . AppendChild ( spanH22 );
Aspose . Pdf . LogicalStructure . SpanElement spanH31 = taggedContent . CreateSpanElement ();
spanH31 . SetText ( "H3. " );
h3 . AppendChild ( spanH31 );
Aspose . Pdf . LogicalStructure . SpanElement spanH32 = taggedContent . CreateSpanElement ();
spanH32 . SetText ( "Level 3 Header" );
h3 . AppendChild ( spanH32 );
Aspose . Pdf . LogicalStructure . SpanElement spanH41 = taggedContent . CreateSpanElement ();
spanH41 . SetText ( "H4. " );
h4 . AppendChild ( spanH41 );
Aspose . Pdf . LogicalStructure . SpanElement spanH42 = taggedContent . CreateSpanElement ();
spanH42 . SetText ( "Level 4 Header" );
h4 . AppendChild ( spanH42 );
Aspose . Pdf . LogicalStructure . SpanElement spanH51 = taggedContent . CreateSpanElement ();
spanH51 . SetText ( "H5. " );
h5 . AppendChild ( spanH51 );
Aspose . Pdf . LogicalStructure . SpanElement spanH52 = taggedContent . CreateSpanElement ();
spanH52 . SetText ( "Level 5 Header" );
h5 . AppendChild ( spanH52 );
Aspose . Pdf . LogicalStructure . SpanElement spanH61 = taggedContent . CreateSpanElement ();
spanH61 . SetText ( "H6. " );
h6 . AppendChild ( spanH61 );
Aspose . Pdf . LogicalStructure . SpanElement spanH62 = taggedContent . CreateSpanElement ();
spanH62 . SetText ( "Level 6 Header" );
h6 . AppendChild ( spanH62 );
Aspose . Pdf . LogicalStructure . ParagraphElement p = taggedContent . CreateParagraphElement ();
p . SetText ( "P. " );
rootElement . AppendChild ( p );
Aspose . Pdf . LogicalStructure . SpanElement span1 = taggedContent . CreateSpanElement ();
span1 . SetText ( "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " );
p . AppendChild ( span1 );
Aspose . Pdf . LogicalStructure . SpanElement span2 = taggedContent . CreateSpanElement ();
span2 . SetText ( "Aenean nec lectus ac sem faucibus imperdiet. " );
p . AppendChild ( span2 );
Aspose . Pdf . LogicalStructure . SpanElement span3 = taggedContent . CreateSpanElement ();
span3 . SetText ( "Sed ut erat ac magna ullamcorper hendrerit. " );
p . AppendChild ( span3 );
Aspose . Pdf . LogicalStructure . SpanElement span4 = taggedContent . CreateSpanElement ();
span4 . SetText ( "Cras pellentesque libero semper, gravida magna sed, luctus leo. " );
p . AppendChild ( span4 );
Aspose . Pdf . LogicalStructure . SpanElement span5 = taggedContent . CreateSpanElement ();
span5 . SetText ( "Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. " );
p . AppendChild ( span5 );
Aspose . Pdf . LogicalStructure . SpanElement span6 = taggedContent . CreateSpanElement ();
span6 . SetText ( "Interdum et malesuada fames ac ante ipsum primis in faucibus. " );
p . AppendChild ( span6 );
Aspose . Pdf . LogicalStructure . SpanElement span7 = taggedContent . CreateSpanElement ();
span7 . SetText ( "Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. " );
p . AppendChild ( span7 );
Aspose . Pdf . LogicalStructure . SpanElement span8 = taggedContent . CreateSpanElement ();
span8 . SetText ( "Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. " );
p . AppendChild ( span8 );
Aspose . Pdf . LogicalStructure . SpanElement span9 = taggedContent . CreateSpanElement ();
span9 . SetText ( "Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. " );
p . AppendChild ( span9 );
Aspose . Pdf . LogicalStructure . SpanElement span10 = taggedContent . CreateSpanElement ();
span10 . SetText ( "Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus." );
p . AppendChild ( span10 );
document . Save ( dataDir + "InlineStructureElements_out.pdf" );
}
}
.NET 8
Copy
private static void SetInlineElements ( )
{
var dataDir = RunExamples . GetDataDir_AsposePdf_WorkingDocuments ();
using var document = new Aspose . Pdf . Document ();
Aspose . Pdf . Tagged . ITaggedContent taggedContent = document . TaggedContent ;
taggedContent . SetTitle ( "Tagged Pdf Document" );
taggedContent . SetLanguage ( "en-US" );
Aspose . Pdf . LogicalStructure . StructureElement rootElement = taggedContent . RootElement ;
Aspose . Pdf . LogicalStructure . HeaderElement h1 = taggedContent . CreateHeaderElement ( 1 );
Aspose . Pdf . LogicalStructure . HeaderElement h2 = taggedContent . CreateHeaderElement ( 2 );
Aspose . Pdf . LogicalStructure . HeaderElement h3 = taggedContent . CreateHeaderElement ( 3 );
Aspose . Pdf . LogicalStructure . HeaderElement h4 = taggedContent . CreateHeaderElement ( 4 );
Aspose . Pdf . LogicalStructure . HeaderElement h5 = taggedContent . CreateHeaderElement ( 5 );
Aspose . Pdf . LogicalStructure . HeaderElement h6 = taggedContent . CreateHeaderElement ( 6 );
rootElement . AppendChild ( h1 );
rootElement . AppendChild ( h2 );
rootElement . AppendChild ( h3 );
rootElement . AppendChild ( h4 );
rootElement . AppendChild ( h5 );
rootElement . AppendChild ( h6 );
Aspose . Pdf . LogicalStructure . SpanElement spanH11 = taggedContent . CreateSpanElement ();
spanH11 . SetText ( "H1. " );
h1 . AppendChild ( spanH11 );
Aspose . Pdf . LogicalStructure . SpanElement spanH12 = taggedContent . CreateSpanElement ();
spanH12 . SetText ( "Level 1 Header" );
h1 . AppendChild ( spanH12 );
Aspose . Pdf . LogicalStructure . SpanElement spanH21 = taggedContent . CreateSpanElement ();
spanH21 . SetText ( "H2. " );
h2 . AppendChild ( spanH21 );
Aspose . Pdf . LogicalStructure . SpanElement spanH22 = taggedContent . CreateSpanElement ();
spanH22 . SetText ( "Level 2 Header" );
h2 . AppendChild ( spanH22 );
Aspose . Pdf . LogicalStructure . SpanElement spanH31 = taggedContent . CreateSpanElement ();
spanH31 . SetText ( "H3. " );
h3 . AppendChild ( spanH31 );
Aspose . Pdf . LogicalStructure . SpanElement spanH32 = taggedContent . CreateSpanElement ();
spanH32 . SetText ( "Level 3 Header" );
h3 . AppendChild ( spanH32 );
Aspose . Pdf . LogicalStructure . SpanElement spanH41 = taggedContent . CreateSpanElement ();
spanH41 . SetText ( "H4. " );
h4 . AppendChild ( spanH41 );
Aspose . Pdf . LogicalStructure . SpanElement spanH42 = taggedContent . CreateSpanElement ();
spanH42 . SetText ( "Level 4 Header" );
h4 . AppendChild ( spanH42 );
Aspose . Pdf . LogicalStructure . SpanElement spanH51 = taggedContent . CreateSpanElement ();
spanH51 . SetText ( "H5. " );
h5 . AppendChild ( spanH51 );
Aspose . Pdf . LogicalStructure . SpanElement spanH52 = taggedContent . CreateSpanElement ();
spanH52 . SetText ( "Level 5 Header" );
h5 . AppendChild ( spanH52 );
Aspose . Pdf . LogicalStructure . SpanElement spanH61 = taggedContent . CreateSpanElement ();
spanH61 . SetText ( "H6. " );
h6 . AppendChild ( spanH61 );
Aspose . Pdf . LogicalStructure . SpanElement spanH62 = taggedContent . CreateSpanElement ();
spanH62 . SetText ( "Level 6 Header" );
h6 . AppendChild ( spanH62 );
Aspose . Pdf . LogicalStructure . ParagraphElement p = taggedContent . CreateParagraphElement ();
p . SetText ( "P. " );
rootElement . AppendChild ( p );
Aspose . Pdf . LogicalStructure . SpanElement span1 = taggedContent . CreateSpanElement ();
span1 . SetText ( "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " );
p . AppendChild ( span1 );
Aspose . Pdf . LogicalStructure . SpanElement span2 = taggedContent . CreateSpanElement ();
span2 . SetText ( "Aenean nec lectus ac sem faucibus imperdiet. " );
p . AppendChild ( span2 );
Aspose . Pdf . LogicalStructure . SpanElement span3 = taggedContent . CreateSpanElement ();
span3 . SetText ( "Sed ut erat ac magna ullamcorper hendrerit. " );
p . AppendChild ( span3 );
Aspose . Pdf . LogicalStructure . SpanElement span4 = taggedContent . CreateSpanElement ();
span4 . SetText ( "Cras pellentesque libero semper, gravida magna sed, luctus leo. " );
p . AppendChild ( span4 );
Aspose . Pdf . LogicalStructure . SpanElement span5 = taggedContent . CreateSpanElement ();
span5 . SetText ( "Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. " );
p . AppendChild ( span5 );
Aspose . Pdf . LogicalStructure . SpanElement span6 = taggedContent . CreateSpanElement ();
span6 . SetText ( "Interdum et malesuada fames ac ante ipsum primis in faucibus. " );
p . AppendChild ( span6 );
Aspose . Pdf . LogicalStructure . SpanElement span7 = taggedContent . CreateSpanElement ();
span7 . SetText ( "Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. " );
p . AppendChild ( span7 );
Aspose . Pdf . LogicalStructure . SpanElement span8 = taggedContent . CreateSpanElement ();
span8 . SetText ( "Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. " );
p . AppendChild ( span8 );
Aspose . Pdf . LogicalStructure . SpanElement span9 = taggedContent . CreateSpanElement ();
span9 . SetText ( "Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. " );
p . AppendChild ( span9 );
Aspose . Pdf . LogicalStructure . SpanElement span10 = taggedContent . CreateSpanElement ();
span10 . SetText ( "Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus." );
p . AppendChild ( span10 );
document . Save ( dataDir + "InlineStructureElements_out.pdf" );
}
Définir le nom de balise personnalisé
Pour définir un nom de balise personnalisé des éléments d’un document PDF tagué, Aspose.PDF propose la méthode SetTag de la classe StructureElement pour les éléments. Le code suivant montre comment définir un nom de balise personnalisé :
Ajouter un élément de structure dans les éléments
Cette fonctionnalité est prise en charge par la version 19.4 ou supérieure.
Pour définir des éléments de structure de lien dans un document PDF tagué, Aspose.PDF propose la méthode CreateLinkElement de l’interface ITaggedContent . Le code suivant montre comment définir des éléments de structure dans un paragraphe avec du texte d’un document PDF tagué :
Définir l’élément de structure de lien
Cette fonctionnalité est prise en charge par la version 19.4 ou supérieure.
L’API Aspose.PDF for .NET vous permet également d’ajouter des éléments de structure de lien. Le code suivant montre comment ajouter un élément de structure de lien dans un document PDF tagué :
Définir l’élément de structure de note
L’API Aspose.PDF for .NET vous permet également d’ajouter un NoteElement dans un document PDF tagué. Le code suivant montre comment ajouter un élément de note dans un document PDF tagué :
Définir la langue et le titre
Cette fonctionnalité est prise en charge par la version 19.6 ou supérieure.
L’API Aspose.PDF for .NET vous permet également de définir la langue et le titre d’un document conformément à la spécification PDF/UA. La langue peut être définie pour l’ensemble du document ainsi que pour ses éléments structurels séparés. Le code suivant montre comment définir la langue et le titre dans un document PDF tagué :