PDFium Delphi Component Docs

LinkAnnotationCount プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
特定ページ上の /Link annotation エントリ数です

Syntax

property LinkAnnotationCount[PageNumber: Integer]: Integer; // read only

Description

LinkAnnotationCount は、1 基準の PageNumber 引数で指定されたページ上のサブタイプ /Link entry の数を返します(PDF 1.7 仕様 12.5.6.5 節)。現在アクティブなページに限定され全注釈サブタイプを数える AnnotationCount と違い、このインデックス付きプロパティは任意のページを直接対象にし、リンク注釈だけに絞ります。テキストやグラフィックスの周囲のクリック領域を包み、destination、URI、launch アクション、名前付きアクションを指す entry です

PageNumber は 1 .. PageCount の範囲で渡します。Active が False のとき、ページインデックスが不正なとき、ページにリンク注釈がないときは 0 です。PDFium Delphi Component は「自動検出」された Web URL も WebLinkCount として別途公開しています。そちらはテキストパターンの走査によるもので、LinkAnnotationCount には含まれません

TLinkAnnotation レコードを取り出すには、0 から LinkAnnotationCount[PageNumber] - 1 のインデックスで LinkAnnotation[PageNumber, Index] を使います。bounding rectangle、ターゲットページ番号、アクションタイプ、複数行リンクの四辺形点、解決済みのアクション payload が入ります。リンクメタデータのロードはページあたり O(n) なので、多くのページを回すならキャッシュしてください

Remarks

Example

var P, I: Integer;
var Link: TLinkAnnotation;
for P := 1 to Pdf1.PageCount do
  for I := 0 to Pdf1.LinkAnnotationCount[P] - 1 do
  begin
    Link := Pdf1.LinkAnnotation[P, I];
    Memo1.Lines.Add(Format('p%d link → page %d', [P, Link.PageNumber]));
  end;

See Also

LinkAnnotation, WebLinkCount, AnnotationCount, PageCount