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 name オブジェクトとして書き込まれます(先頭の / なし)。空にはできません

戻り値

成功時は 1 を返します。文書が開かれていない、タグが現在開かれていない、または Owner か Name が空の場合は 0 を返します

備考

同じ開いているタグに対する複数の AddTagAttribute 呼び出しは累積されます。属性が 1 つの所有者に属する場合、ライブラリは単一の /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