EndArtifact
タグ付き PDF、アクセシビリティ
説明
最後に開いたアーティファクト領域を閉じ、EMC(End Marked Content)演算子を現在のページのコンテンツストリームに書き込みます。BeginArtifact の各呼び出しには、必ず 1 回だけ EndArtifact を対応させる必要があります
構文
Delphi
Function TPDFlib.EndArtifact: Integer;
ActiveX
Function PDFlib::EndArtifact() As Long
DLL
int DLEndArtifact(int InstanceID);
戻り値
| 0 | 失敗 — 文書が開かれていないか、アーティファクト領域が現在開かれていません |
|---|---|
| 1 | アーティファクト領域が正常に閉じられました |
備考
アーティファクト領域と構造要素は、現在のページで同じマーク付きコンテンツスタックを共有します。EndArtifact は、最上部の開いた領域が BeginArtifact で開かれた場合にだけ閉じます。BeginTag またはそのバリアントで開いた構造要素を閉じるためには使用せず、それらには EndTag を呼び出します
アーティファクトが構造コンテンツと視覚的に関連する装飾グラフィックを表す場合、アーティファクト領域は構造要素内にネストできる。ただし構造要素を含めることはできない。PDF リーダーはアーティファクト内の構造を警告するか、受け入れを拒否する
別領域が正当化される代表的なアーティファクトサブタイプには、ページヘッダー、フッター、ページ番号、装飾的な境界線、透かしおよび背景画像があります。これらをアーティファクトとしてマークすると、支援技術がユーザーに提示する読み上げ順序から除外されます
例
// Running footer drawn once per page, as an artifact
PDF.BeginArtifact('Footer');
PDF.SetFontSize(8);
PDF.PrintText(50, 30, 'Annual Report 2026 — page ' + IntToStr(pageNo));
PDF.EndArtifact;
// Page header with the company logo, also an artifact
PDF.BeginArtifact('Header');
PDF.DrawImage(50, 800, 60, 30, logoHandle);
PDF.EndArtifact;