Számozási mezők (AUTONUM, PAGE, SEQ, és több)
Számozási mezők (AUTONUM, PAGE, SEQ és egyebek)
Ez az útmutató bemutatja, hogyan dolgozhatunk a Word automatikus számozási mezőivel in Aspose.Words FOSS a .NET számára, valamint hogy miben különböznek a lista-alapú számozástól. Listákkal való munka covers List, ListFormat, és ListLevel – a Word számozott és felsorolásos lista bekezdései mögötti objektummodell. A Wordnek van egy külön számozási családja is fields amely a mező helyén a szövegben számot számít ki, a bekezdéslista formázása helyett: jogi és vázlat automatikus számozás, oldal- és szakaszszámlálók, listához kapcsolt számozás, valamint elnevezett sorozatok. Minden egyes elemet úgy modellezi, mint egy Field leszármazott osztály a Aspose.Words.Fields névtér, valamint a NumberStyle enum, amelyet a lista szintek, lábjegyzetek és végjegyzetek, valamint az oldalszámok használnak, a szám megjelenítésének módjának kiválasztásához.
Automatikus számozási mezők: AUTONUM, AUTONUMLGL, AUTONUMOUT
FieldAutoNum implementálja a AUTONUM mezőt (egyszerű sorozatos számozás) és elérhetővé teszi SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (jogi/vázlat-stílusú számozás), hozzáadva RemoveTrailingPeriod mellett a saját SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (vázlat számozás) és nincs saját tulajdonsága a bázis Field tagok, amelyeket leírnak. Mezőkkel való munka.
Listához kapcsolt számozás FieldListNum használatával
FieldListNum megvalósítja a LISTNUM mezőt: ListName megnevezi a használandó absztrakt számozási definíciót, és HasListName jelzi, hogy a mező kódja ténylegesen ad-e nevet. ListLevel felülírja azt az alapértelmezett lista szintet, amelyen a mező számozódik, és StartingNumber beállítja azt az értéket, ahonnan a mező számozása indul.
Oldal- és szekciószámlálók: FieldPage, FieldSection, FieldSectionPages
FieldPage megvalósítja a PAGE mező és FieldSectionPages implements SECTIONPAGES. Mindkettő a kiszámított oldalelrendezéstől függ az eredmény előállításához; akárcsak a NUMPAGES mező, amely le van írva a Mezőkkel való munka, a layout-dependent mezőértékek nincsenek kiszámítva ebben a kiadásban, mivel nem tartalmaz page-layout/rendering engine-t, ezért ezek a mezők egy placeholder-re értékelődnek 0. FieldSection implements SECTION, visszaadja a dokumentum aktuális szekciószámát – nem függ a lapozástól, és nem érinti ez a korlátozás.
Névelt sorozatok a FieldSeq segítségével
FieldSeq megvalósítja a SEQ mezőt névvel ellátott, egymástól függetlenül számozott sorozatokhoz (például ábrák vagy táblázatok): a SequenceIdentifier ad nevet a sorozatnak, és a BookmarkName opcionálisan a mezőt egy dokumentumban máshol található elemre irányítja a mező saját helye helyett. A InsertNextNumber beilleszti a sorozat következő számát anélkül, hogy a jelenlegi pozíció értékét megjelenítené, a ResetNumber / ResetHeadingLevel pedig a sorozat számlálóját egy adott számra állítják vissza, vagy egy adott címszintnél indítják újra.
FieldRevNum
FieldRevNum megvalósítja a REVNUM mezőt, és nincs saját tulajdonsága a bázis Field tagokon kívül.
Számok formázása a NumberStyle segítségével
NumberStyle az a enum, amelyet a listaszintek, lábjegyzet/végjegy számozás és oldalszámok között használnak a szám megjelenítésének kiválasztásához. Gyakori stílusok közé tartozik a Arabic, a UppercaseRoman / LowercaseRoman, a UppercaseLetter / LowercaseLetter, a Ordinal, és a OrdinalText, valamint egy széles körű helyspecifikus stíluskészlet (Kanji, Hangul, Hanja, ThaiLetter, HindiLetter1 és sok más), valamint a Bullet, LeadingZero, None és Custom a hívó által megadott formátumhoz.
Tippek és bevált gyakorlatok
- Használja a
FieldListNum-t, amikor egy számnak egy meglévő lista definícióra kell hivatkoznia név szerint; használja aFieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut-at olyan számozáshoz, amely nem egy adottList-hez van kötve. - Ne feledje, hogy a
FieldPageés aFieldSectionPageselrendezésfüggő, ugyanúgy, mint aNUMPAGES– ne számítson arra, hogy aResultvalós, kiszámított oldalszámot tükröz ebben a kiadásban. - Használja a
FieldSeq.BookmarkName-t, amikor egy SEQ mezőnek a dokumentum másik részében definiált számra kell hivatkoznia, ahelyett, hogy a mező helyén saját számlálóját növelné. - Állítsa be a
FieldSeq.ResetHeadingLevel-t, amikor egy számozott sorozatnak (például ábra számoknak) minden új fejezet vagy szakasz címe után újra kell indulnia.
Gyakori problémák
| Probléma | Ok | Javítás |
|---|---|---|
FieldPage vagy FieldSectionPages mindig megjeleníti 0 | Ezek a mezők a kiszámított oldalelrendezéstől függenek, amely nem része ennek a kiadásnak | Várt viselkedés – használja a kereskedelmi változatot Aspose.Words a .NET ha számított oldalszámra van szükség |
FieldListNum nem a várt listaformázást használja | ListName nem egyezik a dokumentumban szereplő absztrakt számozási definícióval | Erősítse meg a pontos lista nevét, vagy ellenőrizze a(z) HasListName értéket, hogy a mező kódja egyáltalán biztosít-e ilyet |
FieldSeq számok nem indulnak újra a várt helyen | A(z) ResetNumber vagy ResetHeadingLevel nincs beállítva azon a mezőn, amelynek újra kellene indítania a sorozatot | Állítsa be a megfelelő visszaállítási tulajdonságot azon FieldSeq példányon |
FAQ
Mi a különbség a lista számozás és ezek a számozó mezők között?
Lista számozás (List, ListFormat, ListLevel, lefedve a Lista használata) formázza az egész bekezdéseket listaelemekként. A ezen az oldalon lévő mezők egy számot számolnak ki egy adott pontban a szövegben – sorozatok, oldal/szakasz számlálók vagy jogi stílusú automatikus számozás esetén – a bekezdéslista formázásától függetlenül.
Miért értékelődik a PAGE mező mindig 0-ra?
FieldPage a kiszámított oldalelrendezéstől függ, és ez a kiadás nem tartalmaz oldal-elrendezés/megjelenítő motorat – ugyanabból az okból NUMPAGES egy helykitöltő értékre értékelődik.
Hogyan hozhatok létre egy elnevezett, egymástól független számozott sorozatot, mint például „Figure 1”, „Figure 2”?
Használja a FieldSeq-t egy konzisztens SequenceIdentifier-nel (például "Figure") minden mezőpéldányban; mindegyik a sorozat következő számát jeleníti meg.
Hogyan szabályozhatom, hogy egy szám melyik számjegy- vagy betűstílusban jelenjen meg?
Használja a NumberStyle enumerációt – olyan értékek, mint Arabic, UppercaseRoman, LowercaseLetter és OrdinalText választják ki a megjelenítési stílust, valamint a Bullet, None és Custom nem numerikus vagy hívó által megadott formátumokhoz.
API Reference összegzés
| Osztály / Enum | Leírás |
|---|---|
FieldAutoNum | AUTONUM field; SeparatorCharacter |
FieldAutoNumLgl | AUTONUMLGL field; RemoveTrailingPeriod, SeparatorCharacter |
FieldAutoNumOut | AUTONUMOUT mező |
FieldListNum | LISTNUM mező; ListName, HasListName, ListLevel, StartingNumber |
FieldPage | PAGE mező (elrendezéstől függő; értéke 0 ebben a kiadásban) |
FieldSection | SECTION mező |
FieldSectionPages | SECTIONPAGES mező (elrendezéstől függő; ebben a kiadásban 0 értéket ad) |
FieldSeq | SEQ mező; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel |
FieldRevNum | REVNUM mező |
NumberStyle | Az listaszintek, lábjegyzetek/végjegyzetek és oldalszámok által használt számozási stílusok Enum-ja |