SetStructElemListNumbering

Tagged PDF, Accessibility

Description

在标记栈上当前打开的结构元素上设置 /ListNumbering 属性(列表属性所有者);该值声明用于 L(列表)结构元素中项的标记或编号方案,使辅助技术能够正确播报列表类型;等效于以 Owner=ListName=ListNumbering 并将方案名称作为值调用 AddTagAttribute

Syntax

Delphi

Function TPDFlib.SetStructElemListNumbering(Const Numbering: WideString): Integer;

ActiveX

Function PDFlib::SetStructElemListNumbering(Numbering As String) As Long

DLL

int DLSetStructElemListNumbering(int InstanceID, const wchar_t * Numbering);

Parameters

Numbering列表编号方案;必须是以下值之一(区分大小写):

None — 无可见标记(属性缺失时的默认值)
Disc — 实心圆点(•)
Circle — 空心圆点(○)
Square — 实心方块(■)
Decimal — 1, 2, 3 …
UpperRoman — I, II, III …
LowerRoman — i, ii, iii …
UpperAlpha — A, B, C …
LowerAlpha — a, b, c …

Return value

成功时返回 1;如果未打开任何文档或标记栈上当前未打开任何标记,则返回 0

Remarks

在带有标签类型 L (list) 的 BeginTag 之后,且在 EndTag 之前调用此函数;/ListNumbering 属性在 ISO 32000-1 §14.8.5.3.2 (List attribute owner, Table 336) 中定义

该属性应用于包含的 L 元素,而不是单个 LI 项;在打开 L 元素后立即对其进行一次设置;该属性是建议性的:它告诉辅助技术这是哪种列表,以便它可以播报“项目符号列表”、“编号列表”等——而不管 PDF 渲染器实际上绘制了什么视觉标记字形

当列表没有显式的编号系统时(例如,一系列没有视觉项目的术语),请使用 None 或完全省略该属性

Example

// An ordered decimal list
PDFlib.BeginTag('L', '', '', '');
PDFlib.SetStructElemListNumbering('Decimal');

  PDFlib.BeginTag('LI', '', '', '');
    PDFlib.BeginTag('Lbl', '', '', '');
    PDFlib.DrawText('1.', 72, 700);
    PDFlib.EndTag;
    PDFlib.BeginTag('LBody', '', '', '');
    PDFlib.DrawText('First item', 90, 700);
    PDFlib.EndTag;
  PDFlib.EndTag;

  PDFlib.BeginTag('LI', '', '', '');
    PDFlib.BeginTag('Lbl', '', '', '');
    PDFlib.DrawText('2.', 72, 680);
    PDFlib.EndTag;
    PDFlib.BeginTag('LBody', '', '', '');
    PDFlib.DrawText('Second item', 90, 680);
    PDFlib.EndTag;
  PDFlib.EndTag;

PDFlib.EndTag; // L

See also

SetStructElemExpansion, AddTagAttribute, BeginTag, EndTag, GetPDFUADiagnostics