PDFium Component Docs

ImportNPagesToOne Funkcja

Component: TPdf  ·  Unit: PDFium
Tworzy zupełnie nowy obiekt TPdf, którego strony są kompozytami NumX×NumY stron dokumentu źródłowego, odpowiednimi do układów drukowania N-up

Syntax

function ImportNPagesToOne(
  OutputWidth, OutputHeight: Single;
  NumX, NumY : Cardinal): TPdf;

Description

ImportNPagesToOne komponuje strony z TEGO dokumentu do nowego pliku PDF wyjściowego, w którym każda strona wyjściowa układa NumX × NumY stron źródłowych w siatce. Strony źródłowe są skalowane tak, aby zmieścić się w komórce z zachowaniem oryginalnych proporcji; komórki, które wykraczałyby poza granice strony wyjściowej, są przycinane.

OutputWidth i OutputHeight są w jednostkach użytkownika PDF (1 jednostka = 1/72 cala). Dla poziomej strony wyjściowej A4 przekaż 842 × 595. Każdy wiersz jest wypełniany od lewej do prawej, następnie wiersz po wierszu od góry do dołu, co odpowiada konwencjonalnemu układowi N-up drukarki.

Funkcja zwraca nową instancję TPdf. Wywołujący jest właścicielem zwróconego obiektu i musi go zwolnić przez Free (lub ustawić Active := False przed przypisaniem do innej zmiennej). Zwraca nil, jeśli PDFium odrzucił argumenty (zerowa liczba osi, brak pamięci OOM itd.). Dokument źródłowy (ten TPdf) musi być Active.

Zwracany dokument zawiera jedną stronę kompozytową na każde ceil(SourcePages / (NumX×NumY)). Ostatnia strona kompozytowa może być częściowo wypełniona, jeśli liczba stron źródłowych nie jest dokładną wielokrotnością liczby komórek.

Remarks

Example

var
  Composite: TPdf;
begin
  Pdf1.FileName := 'C:\Slides.pdf';
  Pdf1.Active := True;
  // 4-up landscape: 842 x 595 pt, 2 columns x 2 rows
  Composite := Pdf1.ImportNPagesToOne(842, 595, 2, 2);
  try
    if Composite <> nil then
      Composite.SaveAs('C:\Slides_4up.pdf');
  finally
    Composite.Free;
  end;
end;

See Also

ImportPages, ImportPagesByIndex, MovePages