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;