ComposeNextLayout
Raspored stranice, paginacija, Form XObjects
Opis
Komponira jedan dinamički fragment s očuvanim stanjem na platnu prirodne veličine, primjenjuje pravila prelijevanja, poravnanja, paginacije i prostora toka te izvještava o konačnoj transformaciji smještanja
Sintaksa
Function TPDFlibDynamicComponentSession.ComposeNextLayout(
Page: Integer; SlotLeft, SlotTop, SlotWidth, SlotHeight: Double;
Const Options: TPDFlibDynamicLayoutOptions;
Out Placement: TPDFlibDynamicPagePlacement): Integer;
Parametri
Page | Postojeći broj odredišne stranice, počevši od 1 |
|---|---|
SlotLeft, SlotTop | Gornji lijevi položaj odredišnog utora u trenutnim jedinicama dokumenta |
SlotWidth, SlotHeight | Konačna pozitivna veličina odredišnog utora |
Options.ContentWidth, Options.ContentHeight | Konačno pozitivno prirodno platno predano komponenti kroz AvailableWidth i AvailableHeight |
Options.OverflowPolicy | dopReject, dopClip ili dopScaleDown |
Options.HorizontalAlignment | dhaLeft, dhaCenter ili dhaRight |
Options.VerticalAlignment | dvaTop, dvaCenter ili dvaBottom |
Options.PaginationPolicy | Normalno dijeljenje, jednokratni povratak na držanje zajedno ili strogo potpuno smještanje |
Options.MinimumSlotHeight | Nenegativna visina utora potrebna prije kloniranja komponente i početka kompozicije |
Options.MinimumFollowingHeight | Nenegativna visina rezervirana nakon konačnog razriješenog fragmenta za sljedeću komponentu |
Rezultat smještanja
PageNumber, CompositionIndex | Potvrđena stranica i broj uspješne kompozicije, počevši od 1 |
|---|---|
SourceWidth, SourceHeight | Prirodni korišteni pravokutnik koji je komponenta vratila prije smještanja |
Left, Top, Width, Height | Konačni transformirani korišteni pravokutnik prije isjecanja na odredište |
SlotLeft, SlotTop, SlotWidth, SlotHeight | Izvorno odredišno područje |
Transform | Logička afina matrica iz lokalnih koordinata komponente u konačne koordinate dokumenta odozgo prema dolje |
WasClipped | True kada isjecanje skriva dio transformiranog korištenog pravokutnika |
WasScaled | True kada je proporcionalno skaliranje manje od 1 |
Napomene
dopReject čuva odredišnu stranicu i potvrđeno stanje komponente kada prirodni korišteni pravokutnik premašuje bilo koju dimenziju utora
dopClip
dopScaleDown čuva prirodno skaliranje i koristi uravnoteženi opseg isjecanja stanja grafike oko poziva Form XObjecta
Min(1, SlotWidth / SourceWidth, SlotHeight / SourceHeight) bira
ContentWidth i čuva omjer stranica komponente
Skaliranje nikad ne uvećava sadržaj koji već stane
Platno Form XObjecta slijedi ContentHeight i
MinimumSlotHeight
MinimumFollowingHeight, dok poravnanje koristi korišteni pravokutnik koji je javila komponenta, usidren u lokalnoj koordinati nula
Tok sadržaja stranice preuzima smještenu referencu Form XObjecta prije nego se otpusti privremena ručka snimke
Utor kraći od HasMoreContent vraća ponovni pokušaj bez kloniranja komponente, pozivanja njezinog povratnog poziva ili stvaranja privremene stranice
LastRetryReason ne ograničava posredujuće fragmente i provjerava se samo kada je LastRequiredSlotHeight false
Ponovni pokušaj zbog prostora toka vraća prazno smještanje, čuva sve ranije potvrđene fragmente i izlaže svoj razlog te traženu visinu kroz
Primjer
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;
Povratne vrijednosti
PDF_DYNAMIC_COMPONENT_ERROR | Validacija ulaza, povratnog poziva, geometrije, prelijevanja ili smještanja nije uspjela bez potvrde stanja |
|---|---|
PDF_DYNAMIC_COMPONENT_MORE | Fragment je potvrđen i preostaje još sadržaja |
PDF_DYNAMIC_COMPONENT_COMPLETE | Fragment je dovršio sesiju ili je sesija već bila dovršena |
PDF_DYNAMIC_COMPONENT_RETRY | Pravilo paginacije ili prostora toka odgodilo je nepotvrđeni pokušaj na drugi utor |
Vidi također
TPDFlibDynamicComponentSession, BeginFormXObject, ReleaseCapturedPage, DrawCapturedPage