PDFium Delphi Component Docs

ImportPagesByIndex 메서드

컴포넌트: TPdf  ·  유닛: PDFium
다른 TPdf에서 0부터 시작하는 index로 특정 page subset을 import하며, 현재 document의 insertion point를 제어할 수 있습니다

Syntax

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

Description

ImportPagesByIndex는 Source에서 명시적으로 지정한 페이지 집합을 이 문서로 복사합니다. 1 기반 범위 문자열을 파싱하는 ImportPages ("1-3,7,10-12")와 달리 ImportPagesByIndex는 인덱스를 0 기반 Pascal 열린 배열로 바로 받습니다 — 페이지 목록이 프로그램 로직에서 나올 때(체크된 썸네일 목록, 필터링된 쿼리 등) 이상적입니다

InsertAt는 첫 번째로 들여온 페이지가 놓일 0 기반 대상 인덱스입니다. 기존 1페이지 앞에 끼워 넣으려면 0을, 맨 뒤에 붙이려면 PageCount를 넘기세요. 범위를 벗어난 InsertAt 값은 PDFium이 클램핑합니다

PageIndices 배열을 비워서 넘기면 Source의 모든 페이지를 들여옵니다(C ABI 수준에서 nil을 넘기는 것과 같음). 호출 한 번으로 전부 가져오는 지름길입니다

성공하면 True를 반환하고, 어떤 인덱스가 Source 범위를 벗어났거나 어느 한쪽 문서가 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