AddRoleMap
PDF etiquetado, acessibilidade
Descrição
Regista um mapeamento de um nome personalizado de tipo de elemento de estrutura para um tipo de estrutura PDF padrão no dicionário RoleMap do documento
Quando o conteúdo PDF etiquetado utiliza nomes de etiquetas não padrão (por exemplo, tipos de elementos específicos de uma empresa ou aplicação), a especificação PDF exige que esses nomes sejam mapeados para um tipo de estrutura PDF padrão na entrada /RoleMap da raiz da árvore de estrutura. ISO 14289-1 §7.1 exige este mapeamento para todos os documentos PDF/UA-1 que contenham tipos de elementos de estrutura não padrão
Chame AddRoleMap uma vez por tipo personalizado, antes de chamar BeginTag ou BeginTagEx com esse tipo. É possível registar vários mapeamentos. Se o mesmo tipo personalizado for registado mais do que uma vez, prevalece o último mapeamento
O RoleMap é escrito na raiz da árvore de estrutura quando o documento é guardado, desde que tenha sido registado pelo menos um mapeamento
Sintaxe
Delphi
Function TPDFlib.AddRoleMap(Const CustomType, StandardType: WideString): Integer;
ActiveX
Function PDFlib::AddRoleMap(CustomType As String, StandardType As String) As Long
DLL
int DLAddRoleMap(int InstanceID, const wchar_t * CustomType, const wchar_t * StandardType);
Parâmetros
| CustomType | O nome de tipo de elemento de estrutura personalizado (não padrão) utilizado nas chamadas de BeginTag ou BeginTagEx, por exemplo, Headline, Caption, Callout |
|---|---|
| StandardType | O tipo de estrutura PDF padrão para o qual o tipo personalizado é mapeado: P, H1–H6, Figure, Table, Span, Link, Note, etc. (consulte ISO 32000-1 §14.8.4). Tem de ser um tipo padrão reconhecido para que o mapeamento satisfaça os verificadores de conformidade PDF/UA |
Valores devolvidos
| 0 | Falha (nenhum documento aberto) |
|---|---|
| 1 | Mapeamento registado com êxito |
Exemplo
// Document with custom element types mapped to standard PDF structure types
PDF.SetPDFUAMode('en-US');
PDF.AddRoleMap('Headline', 'H1');
PDF.AddRoleMap('Subheadline', 'H2');
PDF.AddRoleMap('Caption', 'P');
PDF.BeginTag('Headline', '', '');
PDF.PrintText(50, 750, 'Annual Report 2026');
PDF.EndTag;
PDF.BeginTag('Subheadline', '', '');
PDF.PrintText(50, 720, 'Financial Highlights');
PDF.EndTag;