AddTagAttributeA

標籤式 PDF、無障礙

描述

結尾的 A 表示 ANSI(char)DLL 進入點,ActiveX/COM 介面僅公開 Unicode 形式。其行為與 AddTagAttribute 相同,字串引數會依據目前的 SetAnsiMode 字碼頁進行解譯

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

語法

Delphi

Function DLAddTagAttributeA(InstanceID: Integer; Owner, Name, Value: PAnsiChar): Integer;

DLL

int DLAddTagAttributeA(int InstanceID, const char * Owner, const char * Name, const char * Value);

參數

OwnerISO 32000-1 Table 348 定義的屬性擁有者名稱(例如 Layout、Table、List、PrintField)。它會成為屬性字典中的 /O 鍵。
Name指定擁有者的屬性名稱(例如 Layout 的 BBox、Table 的 Scope)。不可為空。
Value以字串表示的屬性值。只含空格分隔數字的值(例如 "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