SetStructElemHeadersA

PDF marcado, Acessibilidade

Descrição

O sufixo A indica o ponto de entrada ANSI (char) da DLL; a superfície ActiveX/COM expõe apenas a forma Unicode. O comportamento é idêntico ao de SetStructElemHeaders e os argumentos de string são interpretados usando a página de código atual definida por SetAnsiMode

Define o atributo /Headers (owner de atributos Table) no elemento de estrutura aberto no topo da pilha de tags. O atributo associa a célula de dados ou cabeçalho da tabela atual a uma ou mais células de cabeçalho identificadas pelos IDs de elemento. Serve para descrever estruturas de tabela complexas que não podem ser inferidas apenas pela posição. Chame depois de BeginTag ou BeginTagEx e antes de EndTag.

Sintaxe

Delphi

Function DLSetStructElemHeadersA(InstanceID: Integer; Headers: PAnsiChar): Integer;

DLL

int DLSetStructElemHeadersA(int InstanceID, const char * Headers);

Parâmetros

HeadersUma lista separada por vírgulas com os IDs de elemento das células TH que são cabeçalhos de coluna ou linha da célula TD ou TH atual. Cada ID deve corresponder a um ElemID atribuído a um elemento TH via SetStructElemID anteriormente no mesmo documento. Espaços ao redor das vírgulas são ignorados. Exemplo: TH-ProductName,TH-Price.

Valor de retorno

Retorna 1 em caso de sucesso. Retorna 0 se nenhum documento estiver aberto ou nenhuma tag estiver aberta na pilha de tags

Observações

Esta função equivale a chamar AddTagAttribute com Owner=Table, Name=Headers e a mesma lista de IDs separados por vírgula como Value. O atributo é gravado como um array /Headers de text strings do PDF no dicionário de atributos /A do elemento de estrutura.

O atributo /Headers é definido na ISO 32000-1 §14.8.5.7.2 (Table attribute owner). Para tabelas simples, em que os cabeçalhos de coluna estão diretamente acima das células de dados, o atributo /Scope definido via SetStructElemScope geralmente basta. Use /Headers para tabelas irregulares com células mescladas ou cabeçalhos de vários níveis.

O PDF/UA-1 (ISO 14289-1 §7.10) exige que toda célula TD esteja explicitamente associada às suas células de cabeçalho em tabelas onde a associação não pode ser deduzida apenas da 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;

Veja também

SetStructElemID, SetStructElemScope, AddTagAttribute, BeginTag, SetPDFUAMode