function MovePages(
const PageIndices: array of Integer;
DestPageIndex : Integer): Boolean;
MovePages はこのドキュメントのページを並べ替えます。PageIndices には移動するページの 0 基準インデックスを列挙します(順序は自由、PageCount までの任意の個数)。DestPageIndex は移動完了後に最初の移動ページが置かれる先のインデックスです。他のページは移動ブロックを避けるようにずれるため、ドキュメントの長さは変わりません
例: 5 ページのドキュメントでページが [0, 1, 2, 3, 4] と並んでいるとき、MovePages([2, 3], 0) は [2, 3, 0, 1, 4] を生み出します。ページ 2 と 3 が取り出され、ページ 0 は位置 2(元はページ 2 の場所)へ、ページ 1 は位置 3 へずれ、ページ 4 はそのままです
成功時は True を返します。PageIndices のどれかのインデックスが範囲外、DestPageIndex が範囲外、PageIndices に重複がある、のいずれかでは False を返します
UI で「選択したサムネイルを上 / 下へ移動」やドラッグ&ドロップのページ並べ替えをするなら、これが正しい呼び出しです。別のドキュメントからページの部分集合を「コピー」するには ImportPagesByIndex、削除するには DeletePage を使います
Active である必要があります。並べ替えは PageCount を変えませんPageNumber が別のページを指したままになることがあります。現在ページを追跡している UI 状態は更新してください
// In a 5-page document, move pages 2 and 3 to the start.
// Result: [2, 3, 0, 1, 4]
if not Pdf1.MovePages([2, 3], 0) then
ShowMessage('Invalid indices passed to MovePages');
// Reverse the entire document
var
I: Integer;
Indices: array of Integer;
begin
SetLength(Indices, Pdf1.PageCount);
for I := 0 to High(Indices) do
Indices[I] := High(Indices) - I;
Pdf1.MovePages(Indices, 0);
end;