ComposeNextLayout

Sivun asettelu, sivutus, Form XObjectit

Kuvaus

Yhdistelee yhden tilallisen dynaamisen fragmentin luonnollisen kokoiselle kankaalle, soveltaa ylivuoto-, tasaus-, sivutus- ja virta-avaruuskäytäntöä ja ilmoittaa lopullisen sijoittelumuunnoksen

Syntaksi

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

Parametrit

PageOlemassa oleva yhdestä alkava kohdesivunumero
SlotLeft, SlotTopKohdepalan sijainti vasemmassa yläkulmassa nykyisissä asiakirjayksiköissä
SlotWidth, SlotHeightÄärellinen positiivinen kohdepalan koko
Options.ContentWidth, Options.ContentHeightÄärellinen positiivinen luonnollinen kangas, joka välitetään komponentille AvailableWidth- ja AvailableHeight-arvoina
Options.OverflowPolicydopReject, dopClip tai dopScaleDown
Options.HorizontalAlignmentdhaLeft, dhaCenter tai dhaRight
Options.VerticalAlignmentdvaTop, dvaCenter tai dvaBottom
Options.PaginationPolicyNormaali pilkkominen, kertaluonteinen pidä yhdessä -varatoiminto tai tiukka täydellinen sijoittelu
Options.MinimumSlotHeightEi-negatiivinen palan korkeus, joka vaaditaan ennen komponentin kloonausta ja yhdistelyn aloittamista
Options.MinimumFollowingHeightEi-negatiivinen korkeus, joka varataan viimeisen selvitetyn fragmentin jälkeen seuraavalle komponentille

Sijoittelutulos

PageNumber, CompositionIndexVahvistettu sivu ja yhdestä alkava onnistuneen yhdistelyn numero
SourceWidth, SourceHeightKomponentin ennen sijoittelua palauttama luonnollinen käytetty suorakulmio
Left, Top, Width, HeightLopullinen muunnettu käytetty suorakulmio ennen kohteen leikkausta
SlotLeft, SlotTop, SlotWidth, SlotHeightAlkuperäinen kohdealue
TransformLooginen affiinimatriisi komponentin paikallisista koordinaateista lopullisiin ylhäältä alas -suuntautuviin asiakirjakoordinaatteihin
WasClippedTrue, kun leikkaus peittää osan muunnetusta käytetystä suorakulmiosta
WasScaledTrue, kun suhteellinen skaalaus on pienempi kuin 1

Huomautukset

dopReject säilyttää kohdesivun ja vahvistetun komponenttitilan, kun luonnollinen käytetty suorakulmio ylittää kumman tahansa palan mitan

dopClip

dopScaleDown säilyttää luonnollisen skaalauksen ja käyttää tasapainotettua grafiikkatilan leikkauslaajuutta Form XObject -kutsun ympärillä Min(1, SlotWidth / SourceWidth, SlotHeight / SourceHeight) valitsee arvon

ContentWidth ja säilyttää komponentin kuvasuhteen Skaalaus ei koskaan suurenna jo mahtuvaa sisältöä Form XObjectin kangas noudattaa ContentHeight- ja

MinimumSlotHeight

MinimumFollowingHeight-arvoja, kun taas tasaus käyttää komponentin ilmoittamaa käytettyä suorakulmiota, joka on ankkuroitu paikalliseen koordinaattiin nolla Sivun sisältövirta omistaa sijoitetun Form XObject -viittauksen ennen kuin väliaikainen kaappauskahva vapautetaan Pala, joka on lyhyempi kuin HasMoreContent, palauttaa uudelleenyrityksen kloonaamatta komponenttia, kutsumatta sen takaisinkutsua tai luomatta väliaikaista sivua

LastRetryReason ei rajoita välifragmentteja, ja se tarkistetaan vain, kun LastRequiredSlotHeight on epätosi Virta-avaruuden uudelleenyritys palauttaa tyhjän sijoituksen, säilyttää kaikki aiemmin vahvistetut fragmentit ja paljastaa syynsä ja vaatimansa korkeuden arvojen

Esimerkki

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;

Paluuarvot

PDF_DYNAMIC_COMPONENT_ERRORSyöte-, takaisinkutsu-, geometria-, ylivuoto- tai sijoitustarkistus epäonnistui ilman tilan vahvistamista
PDF_DYNAMIC_COMPONENT_MOREFragmentti vahvistettiin ja sisältöä on jäljellä
PDF_DYNAMIC_COMPONENT_COMPLETEFragmentti viimeisteli istunnon tai istunto oli jo valmis
PDF_DYNAMIC_COMPONENT_RETRYSivutus- tai virta-avaruuskäytäntö siirsi vahvistamattoman kokeilun toiseen paikkaan

Katso myös

TPDFlibDynamicComponentSession, BeginFormXObject, ReleaseCapturedPage, DrawCapturedPage