PDFium Component Docs

PrintPageRanges eigenschap

Component: TPdf  ·  Unit: PDFium
Gedecodeerde lijst van op 1 gebaseerde paginabereiken die de PDF-auteur wil dat de afdrukdialoog suggereert — de vermelding /PrintPageRange van het /ViewerPreferences-woordenboek van het document

Syntax

property PrintPageRanges: TPdfPrintPageRanges; // read only

Description

PDF 1.7 voegde /PrintPageRange toe aan /ViewerPreferences als een reeks gehele paren die de paginabereiken beschrijven die een viewer voor-selecteert in zijn afdrukdialoog (PDF 32000-1 § 12.2 Tabel 150). PDFium parseert die array en stelt deze beschikbaar via deze eigenschap als een Pascal dynamische array van TPdfPrintPageRange-records, die elk een StartPage en EndPage in op 1 gebaseerde nummering bevatten.

Wanneer het document de vermelding niet bevat is de geretourneerde array leeg (Length(Result) = 0) — behandel dat als "alle pagina's afdrukken". Wanneer één pagina wordt aanbevolen heeft het overeenkomstige bereik gelijke StartPage- en EndPage-waarden, bijv. (3, 3) voor "alleen pagina 3".

Koppel het resultaat met PrintCopies, PrintScaling en PrintPaperHandling bij het koppelen van een afdrukdialoog zodat alle vier hints aan de gebruiker kunnen worden getoond. Zoals de andere afdrukvoorkeuren is dit alleen adviserend; PDFium dwingt het bereik niet af tijdens rendering.

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