PDFium Delphi Component Docs

PrintPageRanges 속성

컴포넌트: TPdf  ·  유닛: PDFium
PDF 작성자가 print dialog에 제안하기를 원하는 one-based page range의 디코딩된 목록입니다. 문서의 /ViewerPreferences dictionary 안에 있는 /PrintPageRange 항목입니다

Syntax

property PrintPageRanges: TPdfPrintPageRanges; // read only

Description

PDF 1.7는 /ViewerPreferences에 /PrintPageRange를 추가했는데, 뷰어가 인쇄 대화상자에서 미리 선택해야 할 페이지 범위를 기술하는 정수 쌍의 나열입니다(PDF 32000-1 § 12.2 Table 150). PDFium이 그 배열을 파싱해 이 프로퍼티로 TPdfPrintPageRange 레코드의 Pascal 동적 배열로 노출하며, 각 레코드는 1 기반 번호의 StartPage와 EndPage를 담습니다

문서에 이 항목이 없으면 반환 배열은 비어 있고 (Length(Result) = 0) — "모든 페이지 인쇄"로 취급하세요. 한 페이지만 권고될 때는 해당 범위의 StartPage와 EndPage가 같습니다. 예: "3페이지만"은 (3, 3)

인쇄 대화상자를 구성할 때는 결과를 PrintCopies, PrintScaling, PrintPaperHandling와 짝지어 네 힌트를 모두 사용자에게 보여 주세요. 다른 인쇄 기본 설정처럼 이것도 참고용일 뿐이며 PDFium은 렌더링 중에 범위를 강제하지 않습니다

Remarks

Example

// Build a comma-separated string like "1-3, 7, 10-12".
var Ranges: TPdfPrintPageRanges;
var S: string;
var I: Integer;
begin
  Ranges := Pdf1.PrintPageRanges;
  if Length(Ranges) = 0 then Exit;
  for I := 0 to High(Ranges) do
  begin
    if S <> '' then S := S + ', ';
    if Ranges[I].StartPage = Ranges[I].EndPage then
      S := S + IntToStr(Ranges[I].StartPage)
    else
      S := S + Format('%d-%d', [Ranges[I].StartPage, Ranges[I].EndPage]);
  end;
  editRanges.Text := S;
end;

See Also

PrintCopies, PrintScaling, PrintPaperHandling, ViewerPreference