PDFium Component Docs

PrintPageRanges Egenskap

Denna API-post behåller identifierare, signaturer, kodblock och PDF-termer i ursprunglig form.
Komponent: TPdf  ·  Enhet: 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

Beskrivning

PDF 1.7 lade till /PrintPageRange i /ViewerPreferences som en följd av heltalsposter som beskriver de sidintervall som en visare bör förvälja i sin utskriftsdialog (PDF 32000-1 § 12.2 Table 150). PDFium tolkar den arrayen och exponerar den genom den här egenskapen som en Pascal-dynamisk array av poster av typen TPdfPrintPageRange, där varje post innehåller StartPage och EndPage med 1-baserad 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 samma värden i StartPage och EndPage, till exempel (3, 3) för "endast sida 3"

Koppla resultatet med PrintCopies, PrintScaling och PrintPaperHandling när du kopplar en utskriftsdialog, så att alla fyra hints kan visas för användaren. Liksom de andra utskriftsinställningarna är detta endast rådgivande; PDFium framtvingar inte intervallet under rendering

Anmärkningar

Exempel

// Bygg en kommaseparerad sträng som "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;

Se även

PrintCopies, PrintScaling, PrintPaperHandling, ViewerPreference