SetStructElemIDA
PDF etiquetado, acessibilidade
Descrição
O A final 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 cadeia são interpretados utilizando a página de códigos atual de SetAnsiMode
Atribui uma cadeia de identidade exclusiva ao elemento de estrutura atualmente aberto na pilha de etiquetas. O ID é escrito como entrada /ID no dicionário do elemento de estrutura e é indexado na árvore de nomes /IDTree do documento, para que outros elementos o possam referenciar (por exemplo, através do atributo /Headers das células de tabela). Chame esta função 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 cadeia não vazia que identifica exclusivamente este elemento de estrutura no documento. Escolha um ID significativo e único em todo o documento, como TH-Col-1, TH-Row-2 ou uma cadeia semelhante a um GUID |
|---|
Valor devolvido
Devolve 1 em caso de êxito. Devolve 0 se nenhum documento estiver aberto, nenhuma etiqueta estiver atualmente aberta na pilha de etiquetas ou ID estiver vazio
Observações
A entrada /ID é definida na norma ISO 32000-1 §14.7.3.4. Todos os IDs de elementos são reunidos numa árvore de nomes /IDTree plana na raiz da árvore de estrutura quando o documento é guardado; isto permite que as ferramentas de acessibilidade e outros elementos procurem elementos por ID. As entradas /IDTree são ordenadas alfabeticamente pela cadeia de ID
Um caso de utilização comum é aplicar etiquetas às células de cabeçalho de tabela (TH) com IDs, para que as células de dados (TD) possam associar-se aos cabeçalhos corretos através de SetStructElemHeaders. Esta associação é obrigatória para tabelas complexas em PDF/UA-1 (ISO 14289-1 §7.10) e no Critério de Sucesso 1.3.1 das WCAG 2.x
Se o mesmo ID for atribuído a vários elementos de estrutura, o comportamento é indefinido; apenas um elemento por ID exclusivo deve receber uma determinada cadeia 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;Consulte também
SetStructElemHeaders, AddTagAttribute, BeginTag, EndTag, SetPDFUAMode