AddRoleMap
Tagged PDF, Tilgængelighed
Beskrivelse
Registrerer en tilknytning fra et brugerdefineret navn på en strukturelementtype til en PDF-standardstrukturtype i dokumentets RoleMap-ordbog.
Når tagged PDF-indhold bruger ikke-standardiserede tagnavne (f.eks. virksomhedsspecifikke eller programspecifikke elementtyper), kræver PDF-specifikationen, at disse navne tilknyttes en standard-PDF-strukturtype i strukturtrærodens /RoleMap-post. ISO 14289-1 §7.1 kræver denne tilknytning for alle PDF/UA-1-dokumenter, der indeholder ikke-standardiserede strukturelementtyper
Kald AddRoleMap én gang for hver brugerdefineret type, før BeginTag eller BeginTagEx kaldes med denne type. Der kan registreres flere tilknytninger. Hvis den samme brugerdefinerede type registreres mere end én gang, vinder den seneste tilknytning.
RoleMap skrives til strukturtræets rod, når dokumentet gemmes, hvis mindst én tilknytning er registreret
Syntaks
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);
Parametre
| CustomType | Navnet på den brugerdefinerede (ikke-standardiserede) strukturelementtype, der bruges i kald til BeginTag eller BeginTagEx, f.eks. Headline, Caption, Callout. |
|---|---|
| StandardType | Den standard-PDF-strukturtype, som den brugerdefinerede type knyttes til: P, H1–H6, Figure, Table, Span, Link, Note osv. (se ISO 32000-1 §14.8.4). Skal være en anerkendt standardtype, før tilknytningen opfylder PDF/UA-overensstemmelseskontroller. |
Returværdier
| 0 | Mislykkedes (intet dokument er åbent) |
|---|---|
| 1 | Tilknytningen blev registreret |
Eksempel
// 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;