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
Page | Olemassa oleva yhdestä alkava kohdesivunumero |
|---|---|
SlotLeft, SlotTop | Kohdepalan 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.OverflowPolicy | dopReject, dopClip tai dopScaleDown |
Options.HorizontalAlignment | dhaLeft, dhaCenter tai dhaRight |
Options.VerticalAlignment | dvaTop, dvaCenter tai dvaBottom |
Options.PaginationPolicy | Normaali pilkkominen, kertaluonteinen pidä yhdessä -varatoiminto tai tiukka täydellinen sijoittelu |
Options.MinimumSlotHeight | Ei-negatiivinen palan korkeus, joka vaaditaan ennen komponentin kloonausta ja yhdistelyn aloittamista |
Options.MinimumFollowingHeight | Ei-negatiivinen korkeus, joka varataan viimeisen selvitetyn fragmentin jälkeen seuraavalle komponentille |
Sijoittelutulos
PageNumber, CompositionIndex | Vahvistettu sivu ja yhdestä alkava onnistuneen yhdistelyn numero |
|---|---|
SourceWidth, SourceHeight | Komponentin ennen sijoittelua palauttama luonnollinen käytetty suorakulmio |
Left, Top, Width, Height | Lopullinen muunnettu käytetty suorakulmio ennen kohteen leikkausta |
SlotLeft, SlotTop, SlotWidth, SlotHeight | Alkuperäinen kohdealue |
Transform | Looginen affiinimatriisi komponentin paikallisista koordinaateista lopullisiin ylhäältä alas -suuntautuviin asiakirjakoordinaatteihin |
WasClipped | True, kun leikkaus peittää osan muunnetusta käytetystä suorakulmiosta |
WasScaled | True, 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_ERROR | Syöte-, takaisinkutsu-, geometria-, ylivuoto- tai sijoitustarkistus epäonnistui ilman tilan vahvistamista |
|---|---|
PDF_DYNAMIC_COMPONENT_MORE | Fragmentti vahvistettiin ja sisältöä on jäljellä |
PDF_DYNAMIC_COMPONENT_COMPLETE | Fragmentti viimeisteli istunnon tai istunto oli jo valmis |
PDF_DYNAMIC_COMPONENT_RETRY | Sivutus- tai virta-avaruuskäytäntö siirsi vahvistamattoman kokeilun toiseen paikkaan |
Katso myös
TPDFlibDynamicComponentSession, BeginFormXObject, ReleaseCapturedPage, DrawCapturedPage