SetStructElemIDA
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 SetStructElemID e os argumentos de string são interpretados usando a página de código atual definida por SetAnsiMode
Atribui uma string de identidade única ao elemento de estrutura aberto no topo da pilha de tags. O ID é gravado como a entrada /ID no dicionário do elemento de estrutura e indexado na name tree /IDTree do documento, para que outros elementos possam referenciá-lo (por exemplo, via atributo /Headers de células de tabela). Chame depois de BeginTag ou BeginTagEx e antes de EndTag.
Sintaxe
Delphi
Function DLSetStructElemIDA(InstanceID: Integer; ID: PAnsiChar): Integer;
DLL
int DLSetStructElemIDA(int InstanceID, const char * ID);
Parâmetros
| ID | Uma string não vazia que identifica este elemento de estrutura de forma única dentro do documento. Escolha um ID significativo e único em todo o documento, como TH-Col-1, TH-Row-2 ou uma string no formato GUID. |
|---|
Valor de retorno
Retorna 1 em caso de sucesso. Retorna 0 se nenhum documento estiver aberto, se nenhuma tag estiver aberta no topo da pilha de tags ou se ID estiver vazio.
Observações
A entrada /ID é definida na ISO 32000-1 §14.7.3.4. Todos os IDs de elementos são reunidos em uma name tree /IDTree plana na raiz da árvore de estrutura quando o documento é salvo; isso permite que ferramentas de acessibilidade e outros elementos localizem elementos por ID. As entradas da /IDTree são ordenadas alfabeticamente pela string de ID.
Um caso de uso comum é marcar células de cabeçalho de tabela (TH) com IDs para que as células de dados (TD) possam se associar aos cabeçalhos corretos via SetStructElemHeaders. Essa associação é exigida em tabelas complexas pelo PDF/UA-1 (ISO 14289-1 §7.10) e pelo WCAG 2.x Success Criterion 1.3.1.
Se o mesmo ID for atribuído a vários elementos de estrutura, o comportamento é indefinido; apenas um elemento por ID único deve receber uma determinada string de ID
Exemplo
// Tag a column header cell with an ID for later /Headers reference
PDFlib.BeginTag('TH', 'Product Name', '', '');
PDFlib.SetStructElemID('TH-ProductName');
PDFlib.SetStructElemScope('Column');
PDFlib.DrawText('Product Name', 100, 700);
PDFlib.EndTag;
PDFlib.BeginTag('TH', 'Price', '', '');
PDFlib.SetStructElemID('TH-Price');
PDFlib.SetStructElemScope('Column');
PDFlib.DrawText('Price', 250, 700);
PDFlib.EndTag;
// Tag a data cell referencing both header cells
PDFlib.BeginTag('TD', '', '', '');
PDFlib.SetStructElemHeaders('TH-ProductName,TH-Price');
PDFlib.DrawText('Widget A', 100, 680);
PDFlib.EndTag;Veja também
SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode