PDFium Delphi Component Docs

MovePages 메서드

컴포넌트: TPdf  ·  유닛: PDFium
0부터 시작하는 index로 이 document의 page를 제자리에서 재정렬하며 page count는 그대로 유지합니다

Syntax

function MovePages(
  const PageIndices: array of Integer;
  DestPageIndex : Integer): Boolean;

Description

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를 쓰세요

Remarks

Example

// 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;

See Also

ImportPagesByIndex, ImportNPagesToOne, DeletePage, AddPage