SetStructElemHeaders

PDF etiquetado, acessibilidade

Descrição

Define o atributo /Headers (proprietário do atributo Table) no elemento de estrutura atualmente aberto na pilha de etiquetas. O atributo associa a célula atual de dados ou de cabeçalho da tabela a uma ou mais células de cabeçalho identificadas pelos respetivos IDs de elemento. É utilizado para descrever estruturas de tabela complexas que não podem ser inferidas apenas pela posição. Chame esta função depois de BeginTag ou BeginTagEx e antes de EndTag

Sintaxe

Delphi

Function TPDFlib.SetStructElemHeaders(Const Headers: WideString): Integer;

ActiveX

Function PDFlib::SetStructElemHeaders(Headers As String) As Long

DLL

int DLSetStructElemHeaders(int InstanceID, const wchar_t * Headers);

Parâmetros

HeadersUma lista separada por vírgulas dos IDs de elementos das células TH que são cabeçalhos de coluna ou linha da célula TD ou TH atual. Cada ID tem de corresponder a um ElemID atribuído anteriormente a um elemento TH através de SetStructElemID no mesmo documento. Os espaços em branco à volta das vírgulas são ignorados. Exemplo: TH-ProductName,TH-Price

Valor devolvido

Devolve 1 em caso de êxito. Devolve 0 se não houver nenhum documento aberto ou nenhuma etiqueta atualmente aberta na pilha de etiquetas

Observações

Esta função equivale a chamar AddTagAttribute com Owner=Table, Name=Headers e a mesma lista de IDs separados por vírgulas como Value. O atributo é escrito como uma matriz /Headers de cadeias de texto PDF no dicionário de atributos /A do elemento de estrutura

O atributo /Headers é definido na norma ISO 32000-1 §14.8.5.7.2 (proprietário do atributo Table). Para tabelas simples em que os cabeçalhos das colunas se encontram diretamente acima das respetivas células de dados, o atributo /Scope definido através de SetStructElemScope é geralmente suficiente. Utilize /Headers para tabelas irregulares com células expandidas ou cabeçalhos de vários níveis

O PDF/UA-1 (ISO 14289-1 §7.10) exige que cada célula TD seja explicitamente associada às respetivas células de cabeçalho nas tabelas em que a associação não possa ser determinada apenas pela ordem de leitura

Exemplo

// A data cell that spans two logical columns, referencing both headers
PDFlib.BeginTag('TD', '', '', '');
PDFlib.SetStructElemHeaders('TH-ProductName,TH-Price');
PDFlib.DrawText('Widget A  $9.99', 100, 660);
PDFlib.EndTag;

Consulte também

SetStructElemID, SetStructElemScope, AddTagAttribute, BeginTag, SetPDFUAMode