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

PagePostojeći broj odredišne stranice, počevši od 1
SlotLeft, SlotTopGornji lijevi položaj odredišnog utora u trenutnim jedinicama dokumenta
SlotWidth, SlotHeightKonačna pozitivna veličina odredišnog utora
Options.ContentWidth, Options.ContentHeightKonačno pozitivno prirodno platno predano komponenti kroz AvailableWidth i AvailableHeight
Options.OverflowPolicydopReject, dopClip ili dopScaleDown
Options.HorizontalAlignmentdhaLeft, dhaCenter ili dhaRight
Options.VerticalAlignmentdvaTop, dvaCenter ili dvaBottom
Options.PaginationPolicyNormalno dijeljenje, jednokratni povratak na držanje zajedno ili strogo potpuno smještanje
Options.MinimumSlotHeightNenegativna visina utora potrebna prije kloniranja komponente i početka kompozicije
Options.MinimumFollowingHeightNenegativna visina rezervirana nakon konačnog razriješenog fragmenta za sljedeću komponentu

Rezultat smještanja

PageNumber, CompositionIndexPotvrđena stranica i broj uspješne kompozicije, počevši od 1
SourceWidth, SourceHeightPrirodni korišteni pravokutnik koji je komponenta vratila prije smještanja
Left, Top, Width, HeightKonačni transformirani korišteni pravokutnik prije isjecanja na odredište
SlotLeft, SlotTop, SlotWidth, SlotHeightIzvorno odredišno područje
TransformLogička afina matrica iz lokalnih koordinata komponente u konačne koordinate dokumenta odozgo prema dolje
WasClippedTrue kada isjecanje skriva dio transformiranog korištenog pravokutnika
WasScaledTrue 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_ERRORValidacija ulaza, povratnog poziva, geometrije, prelijevanja ili smještanja nije uspjela bez potvrde stanja
PDF_DYNAMIC_COMPONENT_MOREFragment je potvrđen i preostaje još sadržaja
PDF_DYNAMIC_COMPONENT_COMPLETEFragment je dovršio sesiju ili je sesija već bila dovršena
PDF_DYNAMIC_COMPONENT_RETRYPravilo paginacije ili prostora toka odgodilo je nepotvrđeni pokušaj na drugi utor

Vidi također

TPDFlibDynamicComponentSession, BeginFormXObject, ReleaseCapturedPage, DrawCapturedPage