PDFium Delphi Component Docs

ImportPagesByIndex メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
別の TPdf から 0 始まりの index で指定したページの一部を取り込み、現在の文書内での挿入位置を制御します

Syntax

function ImportPagesByIndex(
  Source : TPdf;
  const PageIndices: array of Integer;
  InsertAt : Integer = 0): Boolean;

Description

ImportPagesByIndex は、Source から明示的に指定したページ集合をこのドキュメントへ取り込みます。1 基準の範囲文字列(「1-3,7,10-12」)を解析する ImportPages と違って、インデックスを 0 基準の Pascal オープン配列で直接受け取ります。ページリストがプログラムロジックから来る場合(チェック済みサムネイル一覧、フィルタ済みクエリーなど)に向いています

InsertAt は最初に取り込むページの 0 基準の挿入先インデックスです。既存の 1 ページ目の前に挿入するなら 0、末尾に追加するなら PageCount を渡します。範囲外の InsertAt は PDFium が丸めます

空の PageIndices 配列を渡すと Source の全ページを取り込みます(C ABI レベルで nil を渡すのと同じ)。「1 回の呼び出しで全部取り込む」ショートカットです

成功時は True を返します。Source 内で範囲外のインデックスが 1 つでもある場合や、どちらかのドキュメントが Active でない場合は False を返します。Source が nil の場合は EPdfError を発生させます

Remarks

Example

var
  Source: TPdf;
begin
  Source := TPdf.Create(nil);
  try
    Source.FileName := 'C:\Report.pdf';
    Source.Active := True;
    // Import pages 1, 3, 5 (zero-based: 0, 2, 4) and append
    Pdf1.ImportPagesByIndex(Source, [0, 2, 4], Pdf1.PageCount);
    // Or import every source page at the start of Pdf1
    // Pdf1.ImportPagesByIndex(Source, [], 0);
  finally
    Source.Free;
  end;
end;

See Also

ImportPages, ImportNPagesToOne, MovePages