PDFium Delphi Component Docs

PrintPageRanges Egenskap

Component: TPdf  ·  Unit: PDFium
Avkodad lista över 1-baserade sidintervall som PDF:ens författare vill att utskriftsdialogen ska föreslå — posten /PrintPageRange i dokumentets /ViewerPreferences-ordbok

Syntax

property PrintPageRanges: TPdfPrintPageRanges; // read only

Description

PDF 1.7 lade till /PrintPageRange i /ViewerPreferences som en sekvens av heltalspar som beskriver de sidintervall en visare ska förmarkera i sin utskriftsdialog (PDF 32000-1 § 12.2 Table 150). PDFium tolkar den arrayen och exponerar den via denna egenskap som en dynamisk Pascal-array av TPdfPrintPageRange-poster, som var och en innehåller en StartPage och EndPage i ettbaserad numrering

När dokumentet inte innehåller posten är den returnerade arrayen tom (Length(Result) = 0) — behandla det som "skriv ut alla sidor". När en enda sida rekommenderas har motsvarande intervall lika värden för StartPage och EndPage, t.ex. (3, 3) för "endast sida 3"

Kombinera resultatet med PrintCopies, PrintScaling och PrintPaperHandling när du kopplar en utskriftsdialog så att alla fyra tips kan visas för användaren. Liksom de övriga utskriftsinställningarna är detta enbart rådgivande; PDFium tillämpar inte intervallet under renderingen

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