ComposeNextLayout

Postavitev strani, paginacija, Form XObjects

Opis

Sestavi enega stanjskega dinamičnega delčka na platnu naravne velikosti, uporabi pravila prekoračitve, poravnave, paginacije in prostora pretoka ter poroča dokončno transformacijo umestitve

Sintaksa

Function TPDFlibDynamicComponentSession.ComposeNextLayout(
  Page: Integer; SlotLeft, SlotTop, SlotWidth, SlotHeight: Double;
  Const Options: TPDFlibDynamicLayoutOptions;
  Out Placement: TPDFlibDynamicPagePlacement): Integer;

Parametri

PageObstoječa ciljna številka strani, šteto od 1
SlotLeft, SlotTopZgornji levi položaj ciljnega mesta v trenutnih enotah dokumenta
SlotWidth, SlotHeightKončna pozitivna velikost ciljnega mesta
Options.ContentWidth, Options.ContentHeightKončno pozitivno naravno platno, podano komponenti prek AvailableWidth in AvailableHeight
Options.OverflowPolicydopReject, dopClip ali dopScaleDown
Options.HorizontalAlignmentdhaLeft, dhaCenter ali dhaRight
Options.VerticalAlignmentdvaTop, dvaCenter ali dvaBottom
Options.PaginationPolicyObičajno razdeljevanje, enkratni povratni poskus ohranjanja skupaj ali strogo popolna umestitev
Options.MinimumSlotHeightNenegativna višina mesta, zahtevana, preden se začne kloniranje in sestavljanje komponente
Options.MinimumFollowingHeightNenegativna višina, rezervirana po končnem razrešenem delčku za naslednjo komponento

Rezultat umestitve

PageNumber, CompositionIndexPotrjena stran in uspešna številka sestavljanja, šteto od 1
SourceWidth, SourceHeightNaravni uporabljen pravokotnik, ki ga je komponenta vrnila pred umestitvijo
Left, Top, Width, HeightDokončno preoblikovani uporabljen pravokotnik pred ciljnim izrezom
SlotLeft, SlotTop, SlotWidth, SlotHeightIzvirno ciljno območje
TransformLogična afina matrika iz komponentno-lokalnih koordinat v dokončne koordinate dokumenta od zgoraj navzdol
WasClippedTrue, kadar izrez skrije del preoblikovanega uporabljenega pravokotnika
WasScaledTrue, kadar je sorazmerna povečava manjša od 1

Opombe

dopReject ohrani ciljno stran in potrjeno stanje komponente, kadar naravni uporabljen pravokotnik presega katero koli mero mesta

dopClip

dopScaleDown ohrani naravno povečavo in uporabi uravnotežen izrezni obseg stanja grafike okoli klica Form XObjecta Min(1, SlotWidth / SourceWidth, SlotHeight / SourceHeight) izbere

ContentWidth in ohrani razmerje stranic komponente Povečevanje nikoli ne razširi vsebine, ki se že prilega Platno Form XObjecta sledi ContentHeight in

MinimumSlotHeight

MinimumFollowingHeight, poravnava pa uporabi komponento-poročani uporabljen pravokotnik, zasidran pri lokalni koordinati nič Tok vsebine strani prevzame sklic na umščenega Form XObjecta, preden se sprosti začasni ročaj zajema Mesto, krajše od HasMoreContent, vrne ponovni poskus brez kloniranja komponente, klica njenega povratnega klica ali ustvarjanja začasne strani

LastRetryReason ne omejuje vmesnih delčkov in se preveri samo, kadar je LastRequiredSlotHeight false Ponovni poskus v prostoru toka vrne prazno postavitev, ohrani vse prej potrjene fragmente in svoj razlog ter zahtevano višino izpostavi prek

Primer

Options := TPDFlibDynamicComponentSession.CreateLayoutOptions(
  640, 360, dopScaleDown, dhaLeft, dvaTop, dppAllowSplit, 72, 24);

Status := Session.ComposeNextLayout(
  PageNumber, 36, 72, 540, 240, Options, Placement);

if Status <> PDF_DYNAMIC_COMPONENT_ERROR then
begin
  FinalScale := Placement.Transform.M11;
  FinalLeft := Placement.Left;
  FinalTop := Placement.Top;
end;

Vrnjene vrednosti

PDF_DYNAMIC_COMPONENT_ERRORValidacija vnosa, povratnega klica, geometrije, prelivanja ali postavitve ni uspela, stanje pa ni bilo potrjeno
PDF_DYNAMIC_COMPONENT_MOREFragment je bil potrjen in ostaja še dodatna vsebina
PDF_DYNAMIC_COMPONENT_COMPLETEFragment je dokončal sejo, oziroma je bila seja že prej dokončana
PDF_DYNAMIC_COMPONENT_RETRYPravilo paginacije ali prostora toka je nepotrjen poskus preložilo na drugo režo

Glejte tudi

TPDFlibDynamicComponentSession, BeginFormXObject, ReleaseCapturedPage, DrawCapturedPage