Definindo Propriedades dos Elementos de Estrutura
Para definir propriedades dos elementos de estrutura em um Documento PDF Marcado, Aspose.PDF oferece os métodos CreateSectElement e CreateHeaderElement da interface ITaggedContent .
O seguinte trecho de código mostra como definir propriedades dos elementos de estrutura de um Documento PDF Marcado:
Definindo Elementos de Estrutura de Texto
Para definir elementos de estrutura de texto de um Documento PDF Marcado, Aspose.PDF oferece a classe ParagraphElement . O seguinte trecho de código mostra como definir elementos de estrutura de texto de um Documento PDF Marcado:
Definindo Elementos de Estrutura de Bloco de Texto
Para definir elementos de estrutura de bloco de texto de um Documento PDF Marcado, Aspose.PDF oferece as classes HeaderElement e ParagraphElement . Você pode anexar objetos dessas classes como filhos do objeto StructureElement .
O seguinte trecho de código mostra como definir elementos de estrutura de bloco de texto de um Documento PDF Marcado:
.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" );
}
Definindo Elementos de Estrutura Inline
Para definir elementos de estrutura inline de um Documento PDF Marcado, Aspose.PDF oferece as classes SpanElement e ParagraphElement . Você pode anexar objetos dessas classes como filhos do objeto StructureElement . O seguinte trecho de código mostra como definir elementos de estrutura inline de um Documento PDF Marcado:
.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" );
}
Definindo Nome de Tag Personalizada
Para definir um nome de tag personalizada dos elementos de um Documento PDF Marcado, Aspose.PDF oferece o método SetTag da classe StructureElement para elementos. O seguinte trecho de código mostra como definir um nome de tag personalizada:
Adicionando Elemento de Estrutura em Elementos
Esse recurso é suportado pela versão 19.4 ou superior.
Para definir elementos de estrutura de link em um Documento PDF Marcado, Aspose.PDF oferece o método CreateLinkElement da interface ITaggedContent . O seguinte trecho de código mostra como definir elementos de estrutura em parágrafo com texto de Documento PDF Marcado:
Definindo Elemento de Estrutura de Link
Esse recurso é suportado pela versão 19.4 ou superior.
A API Aspose.PDF for .NET também permite que você adicione elementos de estrutura de link. O seguinte trecho de código mostra como adicionar elemento de estrutura de link em Documento PDF Marcado:
Definindo Elemento de Estrutura de Nota
A API Aspose.PDF for .NET também permite que você adicione NoteElement em um documento PDF marcado. O seguinte trecho de código mostra como adicionar elemento de nota em Documento PDF Marcado:
Definindo Idioma e Título
Esse recurso é suportado pela versão 19.6 ou superior.
A API Aspose.PDF for .NET também permite que você defina idioma e título para um documento de acordo com a especificação PDF/UA. O idioma pode ser definido tanto para o documento inteiro quanto para seus elementos estruturais separados. O seguinte trecho de código mostra como definir idioma e título em Documento PDF Marcado: