AddTagAttribute

標籤式 PDF、無障礙

描述

在標籤堆疊上正在建構的結構元素加入具名屬性。屬性會在文件儲存時寫成 PDF /A 屬性字典(或字典陣列)。請在 BeginTag 或 BeginTagEx 之後、EndTag 之前呼叫

語法

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);

參數

OwnerISO 32000-1 Table 348 定義的屬性擁有者名稱(例如 Layout、Table、List、PrintField)。它會成為屬性字典中的 /O 鍵。
Name指定擁有者的屬性名稱(例如 Layout 的 BBox、Table 的 Scope)。不可為空。
Value以字串表示的屬性值。單一數字會寫成 PDF 數字,只含空格分隔數字的值(例如 "0 0 200 100")會寫成 PDF 實數陣列。數字在任何系統上都以點(.)作為小數點,以系統自身小數點符號寫出的數字也會被接受。其他值則寫成 PDF 名稱物件(不加字首 /)。不可為空。

傳回值

成功傳回 1。沒有開啟的文件、沒有開啟中的標籤,或 Owner 或 Name 為空時傳回 0。

備註

對同一個開啟中的標籤多次呼叫 AddTagAttribute 會累積。屬性同屬一個擁有者時,程式庫寫出單一 /A 屬性字典;有多個擁有者時,屬性按擁有者分組,寫成屬性字典陣列。

常見屬性可改用便捷包裝 SetStructElemScope 與 SetStructElemBBox,不必直接呼叫 AddTagAttribute。

開啟新標籤時屬性會重設,不會被子元素繼承

範例

// 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;

另見

BeginTag, BeginTagEx, EndTag, SetStructElemScope, SetStructElemBBox