ComposeNext

Układ strony, paginacja, Form XObjects

Opis

Komponuje jeden stanowy fragment dynamiczny do gniazda na stronie docelowej z domyślną polityką układu i raportuje rozmieszczenie końcowe

Składnia

Function TPDFlibDynamicComponentSession.ComposeNext(Page: Integer;
  Left, Top, Width, Height: Double;
  Out Placement: TPDFlibDynamicPagePlacement): Integer;

Parametry

PageIstniejący numer strony docelowej liczony od 1
Left, TopPozycja lewego górnego narożnika gniazda docelowego w bieżących jednostkach dokumentu
Width, HeightSkończony dodatni rozmiar gniazda docelowego, który staje się też naturalnym rozmiarem obszaru roboczego
PlacementZwracany rekord rozmieszczenia opisujący zatwierdzony fragment

Uwagi

Wywołanie buduje swoje opcje przez CreateLayoutOptions(Width, Height) i przekazuje do ComposeNextLayout, więc dziedziczy obsługę przepełnienia dopReject, wyrównania dhaLeft i dvaTop, paginację dppAllowSplit i brak minimów przestrzeni przepływu

Wykorzystany prostokąt musi zmieścić się w gnieździe, bo domyślna polityka przepełnienia odrzuca, zamiast przycinać lub skalować

Pełne zachowanie umieszczania, ponawiania i transformacji opisuje ComposeNextLayout

Przykład

repeat
  Status := Session.ComposeNext(PageNumber, 36, 36, 540, 720,
    Placement);
  if Status = PDF_DYNAMIC_COMPONENT_MORE then
    PageNumber := PDF.NewPage;
until Status <> PDF_DYNAMIC_COMPONENT_MORE;

Wartości zwracane

PDF_DYNAMIC_COMPONENT_ERRORWalidacja danych wejściowych, funkcji zwrotnej, geometrii, przepełnienia lub rozmieszczenia zawiodła bez zatwierdzania stanu
PDF_DYNAMIC_COMPONENT_MOREFragment został zatwierdzony i pozostaje więcej zawartości
PDF_DYNAMIC_COMPONENT_COMPLETEFragment zakończył sesję albo sesja była już zakończona
PDF_DYNAMIC_COMPONENT_RETRYPolityka paginacji lub przestrzeni przepływu odroczyła niezatwierdzoną próbę do innego gniazda

Zobacz również

ComposeNextLayout, CreateLayoutOptions, TPDFlibDynamicComponentSession, Compose, Completed, CompositionCount