/PrintPageRange i dokumentets /ViewerPreferences-ordbokproperty PrintPageRanges: TPdfPrintPageRanges; // read only
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
// 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;