AddTagAttribute
Tagged PDF, Přístupnost
Popis
Přidá pojmenovaný atribut ke strukturálnímu prvku, který se právě sestavuje na vrcholu zásobníku tagů. Při uložení dokumentu se atribut zapíše jako PDF slovník atributů /A (nebo pole slovníků). Zavolejte po BeginTag nebo BeginTagEx a před EndTag
Syntaxe
Delphi
Function TPDFlib.AddTagAttribute(Const Owner, Name, Value: WideString): Integer;
ActiveX
Function PDFlib::AddTagAttribute(Owner As String, Name As String, Value As String) As Long
DLL
int DLAddTagAttribute(int InstanceID, const wchar_t * Owner, const wchar_t * Name, const wchar_t * Value);
Parametry
| Owner | Název vlastníka atributu dle ISO 32000-1 Table 348 (například Layout, Table, List, PrintField). Stane se z něj klíč /O ve slovníku atributů |
|---|---|
| Name | Název atributu pro daného vlastníka (například BBox pro Layout, Scope pro Table). Nesmí být prázdný |
| Value | Hodnota atributu jako řetězec. Hodnoty obsahující jen čísla oddělená mezerou (například "0 0 200 100") se zapíšou jako PDF pole reálných čísel. Jakákoli jiná hodnota se zapíše jako PDF name objekt (bez úvodního /). Nesmí být prázdná |
Návratová hodnota
Returns 1 on success. Returns 0 if no document is open, no tag is currently open, or Owner or Name is empty.
Poznámky
Opakovaná volání AddTagAttribute pro stejný otevřený tag se hromadí. Patří-li atributy jednomu vlastníkovi, knihovna zapíše jeden slovník atributů /A. Používá-li se více vlastníků, seskupí se atributy po vlastnících a zapíší se jako pole slovníků atributů
Pro běžné atributy lze místo přímého volání AddTagAttribute použít praktické obaly SetStructElemScope a SetStructElemBBox
Atributy se při otevření nového tagu resetují; podřízené prvky je nedědí
Příklad
// Mark a table header cell with column scope
PDFlib.BeginTag('TH', '', '', '');
PDFlib.AddTagAttribute('Table', 'Scope', 'Column');
// ... draw cell content
PDFlib.EndTag;
// Mark a figure with a bounding box
PDFlib.BeginTag('Figure', 'Company logo', '', '');
PDFlib.AddTagAttribute('Layout', 'BBox', '72 600 200 700');
PDFlib.EndTag;Viz také
BeginTag, BeginTagEx, EndTag, SetStructElemScope, SetStructElemBBox