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);
パラメータ
| Owner | ISO 32000-1 Table 348 で定義される属性所有者名(例: Layout、Table、List、PrintField)。これは属性辞書の /O キーになります |
|---|---|
| Name | 指定した所有者の属性名(例:Layout の BBox、Table の Scope)。空にすることはできない |
| Value | 文字列としての属性値。単独の数値は PDF 数値として書き込まれ、空白で区切られた数値だけを含む値(例: "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