ComposeNextLayout

Oldalelrendezés, lapozás, Form XObjects

Leírás

Egy állapotot hordozó dinamikus töredéket komponál természetes méretű canvason, alkalmazza a túlcsordulási, igazítási, lapozási és folyamteres szabályzatot, és jelenti a végső elhelyezési transzformációt

Szintaxis

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

Paraméterek

PageMeglévő, egyalapú céloldalszám
SlotLeft, SlotTopBal felső célhely-pozíció az aktuális dokumentumegységekben
SlotWidth, SlotHeightVéges, pozitív célhelyméret
Options.ContentWidth, Options.ContentHeightVéges, pozitív természetes vászon, amely a komponensnek a AvailableWidth és AvailableHeight útján adódik át
Options.OverflowPolicydopReject, dopClip vagy dopScaleDown
Options.HorizontalAlignmentdhaLeft, dhaCenter vagy dhaRight
Options.VerticalAlignmentdvaTop, dvaCenter vagy dvaBottom
Options.PaginationPolicyNormál tördelés, egyszeri egyben tartás tartalék vagy szigorú teljes elhelyezés
Options.MinimumSlotHeightNem negatív helymagasság, amely a komponens klónozása és a komponálás megkezdése előtt szükséges
Options.MinimumFollowingHeightNem negatív magasság, amely az utolsó, megoldott töredék után a következő komponens számára fenntartásra kerül

Elhelyezési eredmény

PageNumber, CompositionIndexVéglegesített oldal és egyalapú sikeres komponálási szám
SourceWidth, SourceHeightA komponens által az elhelyezés előtt visszaadott természetes felhasznált téglalap
Left, Top, Width, HeightA végső, transzformált felhasznált téglalap a célvágás előtt
SlotLeft, SlotTop, SlotWidth, SlotHeightEredeti célterület
TransformLogikai affin mátrix a komponens-lokális koordinátákból a végső, felülről lefelé orientált dokumentumkoordinátákba
WasClippedTrue, ha a vágás elrejti a transzformált felhasznált téglalap egy részét
WasScaledTrue, ha az arányos skála kisebb mint 1

Megjegyzések

A dopReject megőrzi a céloldalt és a véglegesített komponens állapotát, ha a természetes felhasznált téglalap bármelyik helyméretet meghaladja A

dopClip

dopScaleDown a Min(1, SlotWidth / SourceWidth, SlotHeight / SourceHeight) értéket választja és megőrzi a komponens képarányát

A skálázás soha nem nagyítja fel a már beférő tartalmat

A Form XObject vászon követi a ContentWidth és ContentHeight-ot, miközben az igazítás a komponens által jelentett, lokális nulla koordinátán horgonyzott használt téglalapot használja

Az oldal tartalomfolyam tulajdonosa a helyezett Form XObject hivatkozásnak, mielőtt az ideiglenes rögzítési leíró felszabadulna

MinimumSlotHeight

MinimumFollowingHeight-ot követi, míg az igazítás a komponens által jelentett, a lokális nulla koordinátán horgonyzott felhasznált téglalapot használja Az oldal tartalmafolyama birtokolja az elhelyezett Form XObject hivatkozást, mielőtt az ideiglenes rögzítési azonosító felszabadulna A HasMoreContent-nál rövidebb hely újrapróbálást ad vissza, a komponens klónozása, a visszahívásának kiváltása vagy ideiglenes oldal létrehozása nélkül A

LastRetryReason nem korlátozza a köztes töredékeket, és csak akkor kerül ellenőrzésre, ha a LastRequiredSlotHeight értéke false A szabad hely miatti újrapróbálkozás üres elhelyezést ad vissza, megőrzi a korábban véglegesített összes töredéket, az okát és a kért magasságát pedig a

Példa

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;

Visszatérési értékek

PDF_DYNAMIC_COMPONENT_ERRORA bemenet, a visszahívás, a geometria, a túlcsordulás vagy az elhelyezés érvényesítése állapotvéglegesítés nélkül meghiúsult
PDF_DYNAMIC_COMPONENT_MOREA töredék véglegesítésre került, és további tartalom maradt hátra
PDF_DYNAMIC_COMPONENT_COMPLETEA töredék befejezte a munkamenetet, vagy a munkamenet már korábban lezárult
PDF_DYNAMIC_COMPONENT_RETRYAz oldaltördelési vagy a szabad helyre vonatkozó szabály a még nem véglegesített próbálkozást másik helyre halasztotta

Lásd még

TPDFlibDynamicComponentSession, BeginFormXObject, ReleaseCapturedPage, DrawCapturedPage