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
Page | Meglévő, egyalapú céloldalszám |
|---|---|
SlotLeft, SlotTop | Bal felső célhely-pozíció az aktuális dokumentumegységekben |
SlotWidth, SlotHeight | Véges, pozitív célhelyméret |
Options.ContentWidth, Options.ContentHeight | Véges, pozitív természetes vászon, amely a komponensnek a AvailableWidth és AvailableHeight útján adódik át |
Options.OverflowPolicy | dopReject, dopClip vagy dopScaleDown |
Options.HorizontalAlignment | dhaLeft, dhaCenter vagy dhaRight |
Options.VerticalAlignment | dvaTop, dvaCenter vagy dvaBottom |
Options.PaginationPolicy | Normál tördelés, egyszeri egyben tartás tartalék vagy szigorú teljes elhelyezés |
Options.MinimumSlotHeight | Nem negatív helymagasság, amely a komponens klónozása és a komponálás megkezdése előtt szükséges |
Options.MinimumFollowingHeight | Nem 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, CompositionIndex | Véglegesített oldal és egyalapú sikeres komponálási szám |
|---|---|
SourceWidth, SourceHeight | A komponens által az elhelyezés előtt visszaadott természetes felhasznált téglalap |
Left, Top, Width, Height | A végső, transzformált felhasznált téglalap a célvágás előtt |
SlotLeft, SlotTop, SlotWidth, SlotHeight | Eredeti célterület |
Transform | Logikai affin mátrix a komponens-lokális koordinátákból a végső, felülről lefelé orientált dokumentumkoordinátákba |
WasClipped | True, ha a vágás elrejti a transzformált felhasznált téglalap egy részét |
WasScaled | True, 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_ERROR | A 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_MORE | A töredék véglegesítésre került, és további tartalom maradt hátra |
PDF_DYNAMIC_COMPONENT_COMPLETE | A töredék befejezte a munkamenetet, vagy a munkamenet már korábban lezárult |
PDF_DYNAMIC_COMPONENT_RETRY | Az 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