AddRoleMapA
PDF con tag, accessibilità
Descrizione
Il suffisso A indica l'entry point DLL ANSI (char); l'interfaccia ActiveX/COM espone soltanto la forma Unicode. Il comportamento è identico a AddRoleMap e gli argomenti stringa vengono interpretati usando la code page corrente di SetAnsiMode
Registra una mappatura da un nome di tipo personalizzato a un tipo di struttura PDF standard nel dizionario RoleMap del documento.
Quando il contenuto PDF con tag usa nomi di tag non standard, ad esempio tipi di elemento specifici dell'azienda o dell'applicazione, la specifica PDF richiede che tali nomi vengano mappati a un tipo di struttura PDF standard nella voce /RoleMap della radice dell'albero della struttura. ISO 14289-1 §7.1 impone questa mappatura per tutti i documenti PDF/UA-1 contenenti tipi di elementi strutturali non standard
Chiamare AddRoleMap una volta per ciascun tipo personalizzato prima di chiamare BeginTag o BeginTagEx con tale tipo. È possibile registrare più mappature; se lo stesso tipo viene registrato più volte, prevale l'ultima mappatura
RoleMap viene scritto nella radice dell'albero della struttura quando il documento viene salvato, se è stata registrata almeno una mappatura.
Sintassi
Delphi
Function DLAddRoleMapA(InstanceID: Integer; CustomType, StandardType: PAnsiChar): Integer;
DLL
int DLAddRoleMapA(int InstanceID, const char * CustomType, const char * StandardType);
Parametri
| CustomType | Nome del tipo strutturale personalizzato usato in BeginTag o BeginTagEx, ad esempio Headline, Caption, Callout |
|---|---|
| StandardType | Tipo standard a cui viene mappato quello personalizzato: P, H1–H6, Figure, Table, Span, Link, Note e così via (ISO 32000-1 §14.8.4). Deve essere riconosciuto per soddisfare PDF/UA |
Valori restituiti
| 0 | Operazione non riuscita (nessun documento aperto) |
|---|---|
| 1 | Mappatura registrata correttamente |
Esempio
// 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;