AddRoleMap
Tagged PDF, Přístupnost
Popis
Zaregistruje ve slovníku RoleMap dokumentu mapování z názvu vlastního typu strukturálního prvku na standardní PDF strukturální typ
Když tagovaný PDF obsah používá nestandardní názvy tagů (např. typy prvků specifické pro firmu nebo aplikaci), specifikace PDF vyžaduje namapování těchto názvů na standardní typ struktury PDF v položce /RoleMap kořene stromu struktury. ISO 14289-1 §7.1 toto mapování vyžaduje u všech dokumentů PDF/UA-1, které obsahují nestandardní typy prvků struktury
AddRoleMap zavolejte jednou pro každý vlastní typ, než tento typ použijete v BeginTag nebo BeginTagEx. Zaregistrovat lze více mapování. Je-li stejný vlastní typ zaregistrován vícekrát, platí poslední mapování
Při uložení dokumentu se RoleMap zapíše do kořene stromu struktury, je-li zaregistrováno alespoň jedno mapování
Syntaxe
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);
Parametry
| CustomType | Název vlastního (nestandardního) typu strukturálního prvku používaného ve voláních BeginTag nebo BeginTagEx, například Headline, Caption, Callout |
|---|---|
| StandardType | The standard PDF structure type that the custom type maps to: P, H1–H6, Figure, Table, Span, Link, Note, etc. (see ISO 32000-1 §14.8.4). Must be a recognized standard type for the mapping to satisfy PDF/UA conformance checkers. |
Návratové hodnoty
| 0 | Failed (no document is open) |
|---|---|
| 1 | Mapping registered successfully |
Příklad
// 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;