PDFium Delphi Component Docs

ImageCount プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
現在アクティブな page にある raster image XObject の数です

Syntax

property ImageCount: Integer; // read only

Description

ImageCount は、PageNumber で選択されたページ上の、タイプが FPDF_PAGEOBJ_IMAGE の page object をすべて数えます。PDF の言葉では、ページの content stream から参照される Image XObject です(PDF 1.7 仕様 8.9 節)。ベクターコンテンツ、form XObject、shading、テキストグリフは意図的に除外されるため、値は人間がページ上で「画像」と呼ぶものと一致します

このプロパティには Active が True で有効な PageNumber が必要です。ドキュメントが未ロードなら値は 0 です。ImageCount はページ単位の量なので、全ページを回して合計すればドキュメント全体の数になります。ImageCount は BitmapCount と等価で、デコード済みの TPdfImage レコード(Width、Height、生ピクセルバイト)を返す Image[Index] インデクサと自然に組めるよう用意されています

典型的なループは for I := 0 to Pdf.ImageCount - 1 do で、Pdf.Image[I] でデコード済みピクセルを得ます。コストは画像データ量に比例します。PDFium が JPEG / JPEG2000 / CCITTFax / Flate stream をオンデマンドでデコードするためです。同じページで 2 回以上使うなら結果をキャッシュしてください

Remarks

Example

// Save every image on the current page to disk.
var I: Integer;
var Img: TPdfImage;
begin
  Pdf1.Active := True;
  for I := 0 to Pdf1.ImageCount - 1 do
  begin
    Img := Pdf1.Image[I];
    TFile.WriteAllBytes(Format('page%d_img%d.bin', [Pdf1.PageNumber, I]), Img.Data);
  end;
end;

See Also

Image, BitmapCount, Bitmap, ObjectCount