BeginTagEx2

带标签 PDF & 辅助功能

描述

打开一个新的结构元素并将其推入标签栈,在一次调用中设置所有主要元素属性。BeginTagEx2 是便捷包装器,依次调用 BeginTagEx、SetStructElemTitle、SetStructElemID 和 SetStructElemExpansion。对于 Title、ElemID 或 Expansion 中的任一项,传入空字符串会跳过对应的设置函数;其他参数的行为与 BeginTagEx 完全相同

若在打开元素时已知其全部描述属性,请使用 BeginTagEx2,以避免连续调用多个 setter。若任何属性稍后才确定(例如 AltText 异步到达),请使用 BeginTag 或 BeginTagEx,随后调用各个 setter

语法

Delphi

Function TPDFlib.BeginTagEx2(Const TagType, AltText, ActualText, Lang, Title, ElemID, Expansion: WideString): Integer;

ActiveX

Function PDFlib::BeginTagEx2(TagType As String, AltText As String, ActualText As String, Lang As String, Title As String, ElemID As String, Expansion As String) As Long

DLL

int DLBeginTagEx2(int InstanceID, const wchar_t * TagType, const wchar_t * AltText, const wchar_t * ActualText, const wchar_t * Lang, const wchar_t * Title, const wchar_t * ElemID, const wchar_t * Expansion);

参数

TagType结构元素类型名称,例如 Figure、Table、Span、P。与 BeginTag 接受的类型相同
AltText写入 /Alt 条目的替代文本(ISO 32000-1 §14.9.3)。传入空字符串可省略该条目
ActualText写入 /ActualText 条目的实际文本(ISO 32000-1 §14.9.4)。传入空字符串以省略
Lang写入 /Lang 条目的 BCP 47 语言标记(ISO 32000-1 §14.9.2),例如 en-US、fr、zh-Hant-TW。传递空字符串以继承文档语言
Title写入 /T 条目(ISO 32000-1 §14.7.2)的可读标签,显示在标签导航面板中,传递空字符串以省略
ElemID写入 /ID 条目(ISO 32000-1 §14.7.4)的唯一元素标识符,设置时必须在文档内唯一,传递空字符串可省略
Expansion写入 /E 条目的缩写或首字母缩略词展开形式(ISO 32000-1 §14.9.5)。传递空字符串可省略

返回值

成功时返回 1,未选择文档时返回 0

备注

调用 EndTag 一次,以对应每次成功调用 BeginTagEx2,从而将元素从标记堆栈中弹出,结构元素可以嵌套:在另一个元素打开时调用 BeginTagEx2 会创建子元素

内部实现完全等同于:

BeginTagEx(TagType, AltText, ActualText, Lang);
if Title <> '' then SetStructElemTitle(Title);
if ElemID <> '' then SetStructElemID(ElemID);
if Expansion <> '' then SetStructElemExpansion(Expansion);

单独的设定方法仍可用于元素打开后才能确定的属性,或 BeginTagEx2 未涵盖的属性(例如用于表格单元格属性的 AddTagAttribute)

示例

// Tag a figure with all descriptive properties in one call
PDFlib.BeginTagEx2(
  'Figure',                              // TagType
  'Bar chart: Q1 120, Q2 145, Q3 98',   // AltText
  '',                                    // ActualText (not needed for images)
  '',                                    // Lang (inherit document language)
  'Figure 3: Quarterly Sales',           // Title
  'fig-quarterly-sales',                 // ElemID
  ''                                     // Expansion (not an abbreviation)
);
PDFlib.SetStructElemBBox(x, y, x + w, y + h);
PDFlib.DrawImage(imgHandle, x, y, w, h);
PDFlib.EndTag;

// Tag an acronym span with its expansion
PDFlib.BeginTagEx2(
  'Span',
  '',                                          // AltText
  '',                                          // ActualText
  '',                                          // Lang
  '',                                          // Title
  '',                                          // ElemID
  'World Wide Web Consortium'                  // Expansion
);
PDFlib.WriteText('W3C');
PDFlib.EndTag;

另请参阅

BeginTag, BeginTagEx, EndTag, SetStructElemTitle, SetStructElemID, SetStructElemExpansion