Nummeringsvelden (AUTONUM, PAGE, SEQ, en meer)

Nummeringsvelden (AUTONUM, PAGE, SEQ, en meer)

Nummeringsvelden (AUTONUM, PAGE, SEQ, en meer)

Deze gids laat zien hoe je met de automatische nummeringsvelden van Word werkt in Aspose.Words FOSS voor .NET, en hoe ze verschillen van lijstgebaseerde nummering. Werken met lijsten covers List, ListFormat, en ListLevel – het objectmodel achter de genummerde en opsommingsteken-alinea’s van Word. Word heeft bovendien een aparte familie van nummering fields die een getal berekenen op de locatie van het veld in de tekst, in plaats van via alinea-lijstopmaak: juridische en outline automatische nummering, pagina- en sectietellers, lijstgekoppelde nummering, en benoemde reeksen. Het modelleert elk als een Field subklasse in de Aspose.Words.Fields namespace, plus de NumberStyle enum gedeeld door lijstniveaus, voetnoten en eindnoten, en paginanummers voor het kiezen hoe een getal wordt weergegeven.


Automatische nummeringsvelden: AUTONUM, AUTONUMLGL, AUTONUMOUT

FieldAutoNum implementeert de AUTONUM veld (eenvoudige opeenvolgende nummering) en exposeert SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (juridische/outline-stijl nummering), toevoegend RemoveTrailingPeriod naast zijn eigen SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (outline-nummering) en heeft geen eigen eigenschappen buiten de basis Field leden beschreven in Werken met velden.


Lijst-gekoppelde nummering met FieldListNum

FieldListNum implementeert het LISTNUM veld: ListName noemt de abstracte nummeringsdefinitie die gebruikt moet worden, en HasListName rapporteert of de code van het veld daadwerkelijk een naam levert. ListLevel overschrijft het standaard lijstniveau waarop het veld nummert, en StartingNumber stelt de waarde in waar de nummering van het veld begint.


Pagina- en sectietellers: FieldPage, FieldSection, FieldSectionPages

FieldPage implementeert de PAGE veld en FieldSectionPages implements SECTIONPAGES. Beide zijn afhankelijk van de berekende paginalay-out om een resultaat te produceren; net als de NUMPAGES veld beschreven in Werken met velden, layout-dependent field values worden niet berekend in deze editie omdat deze geen page-layout/rendering engine bevat, dus evalueren deze velden tot een placeholder 0. FieldSection implements SECTION, retourneert het huidige sectienummer van het document – het is niet afhankelijk van paginering en wordt niet beïnvloed door die beperking.


Naamgegeven sequenties met FieldSeq

FieldSeq implementeert het SEQ veld voor benoemde, onafhankelijk genummerde sequenties (zoals figuren of tabellen): SequenceIdentifier benoemt de sequentie, en BookmarkName wijst het veld optioneel naar een item elders in het document in plaats van de eigen locatie van het veld. InsertNextNumber voegt het volgende nummer in de sequentie in zonder een waarde voor de huidige positie weer te geven, en ResetNumber / ResetHeadingLevel resetten de teller van de sequentie naar een specifiek getal, of herstarten deze op een specifiek kopniveau.


FieldRevNum

FieldRevNum implementeert het REVNUM veld, en heeft geen eigen eigenschappen behalve de basis Field leden.


Getallen opmaken met NumberStyle

NumberStyle is de enum die wordt gebruikt over lijstniveaus, voetnoot/eindnoot nummering, en paginanummers om te selecteren hoe een getal wordt weergegeven. Veelvoorkomende stijlen omvatten Arabic, UppercaseRoman / LowercaseRoman, UppercaseLetter / LowercaseLetter, Ordinal, en OrdinalText, naast een grote verzameling locale-specifieke stijlen (Kanji, Hangul, Hanja, ThaiLetter, HindiLetter1, en vele anderen) plus Bullet, LeadingZero, None, en Custom voor een door de aanroeper opgegeven formaat.


Tips en best practices

  • Gebruik FieldListNum wanneer een getal moet verwijzen naar een bestaande lijstdefinitie op naam; gebruik FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut voor nummering die niet gekoppeld is aan een specifieke List.
  • Onthoud dat FieldPage en FieldSectionPages lay-outafhankelijk zijn, net zoals NUMPAGES dat is – vertrouw er niet op dat hun Result een werkelijk berekende paginatelling in deze editie weergeven.
  • Gebruik FieldSeq.BookmarkName wanneer een SEQ field een getal moet refereren dat elders in het document is gedefinieerd in plaats van zijn eigen teller op de plaats van het veld te verhogen.
  • Stel FieldSeq.ResetHeadingLevel in wanneer een genummerde reeks (zoals figuurnummers) opnieuw moet beginnen bij elk nieuw hoofdstuk of sectiekop.

Veelvoorkomende problemen

ProbleemOorzaakOplossing
FieldPage of FieldSectionPages toont altijd 0Deze velden zijn afhankelijk van de berekende pagina-indeling, die niet tot deze editie behoortVerwacht gedrag – gebruik de commerciële Aspose.Words voor .NET indien een berekende paginatelling vereist is
FieldListNum gebruikt niet de verwachte lijstopmaakListName komt niet overeen met een abstracte nummeringsdefinitie die in het document aanwezig isBevestig de exacte lijstnaam, of controleer HasListName om te zien of de code van het veld er überhaupt één levert
FieldSeq-nummers starten niet opnieuw waar verwachtResetNumber of ResetHeadingLevel is niet ingesteld op het veld dat de reeks zou moeten herstartenStel de juiste reset-eigenschap in op die FieldSeq-instantie

FAQ

Wat is het verschil tussen lijstnummering en deze nummeringsvelden?

Lijstnummering (List, ListFormat, ListLevel, behandeld in Werken met lijsten) formatteert hele alinea’s als lijstitems. De velden op deze pagina berekenen een getal op een specifiek punt in de tekst – voor reeksen, pagina-/sectietellers, of juridisch-achtige automatische nummering – onafhankelijk van de alinea-lijstopmaak.

Waarom evalueert een PAGE-veld altijd tot 0?

FieldPage hangt af van de berekende paginalay-out, en deze editie bevat geen page-layout/rendering engine – om dezelfde reden evalueert NUMPAGES tot een placeholder-waarde.

Hoe maak ik een benoemde, onafhankelijk genummerde reeks zoals “Figure 1”, “Figure 2”?

Gebruik FieldSeq met een consistente SequenceIdentifier (bijvoorbeeld "Figure") voor elke veldinstantie; elk toont het volgende nummer in die reeks.

Hoe kan ik bepalen in welke cijfer- of letterstijl een getal wordt weergegeven?

Gebruik de NumberStyle enum – waarden zoals Arabic, UppercaseRoman, LowercaseLetter en OrdinalText selecteren de weergavestijl, naast Bullet, None en Custom voor niet-numerieke of door de aanroeper opgegeven formaten.


API Reference Samenvatting

Klasse / EnumBeschrijving
FieldAutoNumAUTONUM veld; SeparatorCharacter
FieldAutoNumLglAUTONUMLGL veld; RemoveTrailingPeriod, SeparatorCharacter
FieldAutoNumOutAUTONUMOUT veld
FieldListNumLISTNUM veld; ListName, HasListName, ListLevel, StartingNumber
FieldPagePAGE veld (lay-outafhankelijk; evalueert tot 0 in deze editie)
FieldSectionSECTION veld
FieldSectionPagesSECTIONPAGES veld (lay-outafhankelijk; evalueert tot 0 in deze editie)
FieldSeqSEQ veld; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel
FieldRevNumREVNUM veld
NumberStyleEnum van nummerweergavestijlen die worden gebruikt voor lijstniveaus, voet- en eindnoten, en paginanummers

Zie ook

 Nederlands