AddRoleMapA

PDF marcado, Acessibilidade

Descrição

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

Registra um mapeamento de um nome de tipo de elemento de estrutura personalizado para um tipo de estrutura PDF padrão, no dicionário RoleMap do documento.

Quando conteúdo de PDF marcado usa nomes de tag não padrão (por exemplo, tipos de elemento específicos da empresa ou da 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. A ISO 14289-1 §7.1 obriga esse mapeamento em todos os documentos PDF/UA-1 que contenham tipos de elemento de estrutura não padrão.

Chame AddRoleMap uma vez por tipo personalizado, antes de chamar BeginTag ou BeginTagEx com esse tipo. Vários mapeamentos podem ser registrados. Se o mesmo tipo personalizado for registrado mais de uma vez, vale o último mapeamento.

O RoleMap é gravado na raiz da árvore de estruturas quando o documento é salvo, se ao menos um mapeamento tiver sido registrado.

Sintaxe

Delphi

Function DLAddRoleMapA(InstanceID: Integer; CustomType, StandardType: PAnsiChar): Integer;

DLL

int DLAddRoleMapA(int InstanceID, const char * CustomType, const char * StandardType);

Parâmetros

CustomTypeO nome de tipo de elemento de estrutura personalizado (fora do padrão) usado nas chamadas a BeginTag ou BeginTagEx, ex.: Headline, Caption, Callout.
StandardTypeO tipo de estrutura PDF padrão ao qual o tipo customizado mapeia: P, H1–H6, Figure, Table, Span, Link, Note etc. (ver ISO 32000-1 §14.8.4). Precisa ser um tipo padrão reconhecido para o mapeamento satisfazer os verificadores de conformidade PDF/UA.

Valores retornados

0Failed (no document is open)
1Mapping registered successfully

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;