PDFium Component Docs

PrintPageRanges Właściwość

Component: TPdf  ·  Unit: PDFium
Zdekodowana lista zakresów stron liczonych od 1, którą autor PDF chciałby zasugerować oknu drukowania — wpis /PrintPageRange w słowniku /ViewerPreferences dokumentu

Syntax

property PrintPageRanges: TPdfPrintPageRanges; // read only

Description

PDF 1.7 dodał /PrintPageRange do /ViewerPreferences jako sekwencję par liczb całkowitych opisujących zakresy stron, które przeglądarka powinna wstępnie zaznaczyć w oknie drukowania (PDF 32000-1 § 12.2 Table 150). PDFium parsuje tę tablicę i udostępnia ją przez tę właściwość jako pascalową tablicę dynamiczną rekordów TPdfPrintPageRange, z których każdy zawiera StartPage i EndPage w numeracji liczonej od jedynki

Gdy dokument nie zawiera tego wpisu, zwracana tablica jest pusta (Length(Result) = 0) — traktuj to jako "drukuj wszystkie strony". Gdy zalecana jest pojedyncza strona, odpowiedni zakres ma równe wartości StartPage i EndPage, np. (3, 3) dla "tylko strona 3"

Połącz wynik z PrintCopies, PrintScaling i PrintPaperHandling podczas podłączania okna drukowania, aby wszystkie cztery wskazówki można było wyświetlić użytkownikowi. Podobnie jak pozostałe preferencje drukowania jest to wyłącznie wskazówka; PDFium nie wymusza zakresu podczas renderowania

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