Câmpuri de numerotare (AUTONUM, PAGE, SEQ și altele)

Câmpuri de numerotare (AUTONUM, PAGE, SEQ și altele)

Câmpuri de numerotare (AUTONUM, PAGE, SEQ și altele)

Acest ghid arată cum să lucraţi cu câmpurile de numerotare automată ale Word în Aspose.Words FOSS pentru .NET, și cum diferă de numerotarea bazată pe liste. Lucrul cu listele covers List, ListFormat, și ListLevel – modelul de obiecte din spatele paragrafelor cu liste numerotate și cu marcatori din Word. Word are, de asemenea, o familie separată de numerotare fields care calculează un număr la locaţia câmpului în text, în loc de a folosi formatarea de listă a paragrafelor: numerotare automată legală și de contur, contoare de pagină și de secţiune, numerotare legată de listă și secvenţe numite. O modelează pe fiecare ca un Field subclasă în the Aspose.Words.Fields spațiu de nume, plus the NumberStyle enum partajat de nivelurile listelor, notele de subsol și notele de sfârșit, și numerele de pagină pentru a alege cum este redat un număr.


Câmpuri de auto-numerotare: AUTONUM, AUTONUMLGL, AUTONUMOUT

FieldAutoNum implementează the AUTONUM câmp (numerotare secvențială simplă) și expune SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (numerotare legală/de tip schelet), adăugând RemoveTrailingPeriod împreună cu propriul său SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (numerotare schelet) și nu are proprietăți proprii în afara bazei Field membri descriși în Lucrul cu câmpuri.


Numerotare legată de listă cu FieldListNum

FieldListNum implementează câmpul LISTNUM: ListName denumeşte definiţia abstractă de numerotare de utilizat, și HasListName raportează dacă codul câmpului furnizează efectiv un nume. ListLevel suprascrie nivelul implicit al listei la care numerotează câmpul, și StartingNumber stabileşte valoarea de la care începe numerotarea câmpului.


Contoare de pagină şi secţiune: FieldPage, FieldSection, FieldSectionPages

FieldPage implementează PAGE câmpul și FieldSectionPages implements SECTIONPAGES. Ambele depind de aspectul paginii calculat pentru a produce un rezultat; la fel ca NUMPAGES câmpul descris în Lucrul cu câmpuri, valorile câmpurilor dependente de aspectul paginii nu sunt calculate în această ediție deoarece nu include un motor de aspect/redare a paginii, astfel aceste câmpuri evaluează la un placeholder 0. FieldSection implements SECTION, returnând numărul secțiunii curente al documentului – nu depinde de paginare și nu este afectat de această limitare.


Secvențe numite cu FieldSeq

FieldSeq implementează câmpul SEQ pentru secvențe numite, numerotate independent (cum ar fi figuri sau tabele): SequenceIdentifier denumește secvența, iar BookmarkName opțional direcționează câmpul către un element în altă parte a documentului în loc de locația proprie a câmpului. InsertNextNumber inserează următorul număr din secvență fără a afișa o valoare pentru poziția curentă, iar ResetNumber / ResetHeadingLevel resetează contorul secvenței la un număr specific sau îl repornește la un nivel de titlu specific.


FieldRevNum

FieldRevNum implementează câmpul REVNUM și nu are proprietăți proprii în afara membrilor de bază Field.


Formatarea numerelor cu NumberStyle

NumberStyle este enum-ul utilizat la nivelurile de listă, numerotarea notelor de subsol/final și numerele de pagină pentru a selecta cum este redat un număr. Stilurile comune includ Arabic, UppercaseRoman / LowercaseRoman, UppercaseLetter / LowercaseLetter, Ordinal și OrdinalText, alături de un set mare de stiluri specifice locale (Kanji, Hangul, Hanja, ThaiLetter, HindiLetter1 și multe altele) plus Bullet, LeadingZero, None și Custom pentru un format furnizat de apelant.


Sfaturi și bune practici

  • Folosiți FieldListNum când un număr trebuie să facă referire la o definiție existentă de listă prin nume; utilizați FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut pentru numerotare care nu este legată de un anumit List.
  • Rețineți că FieldPage și FieldSectionPages depind de aspect, la fel ca NUMPAGES — nu vă bazați pe faptul că Result reflectă un număr real de pagini calculate în această ediție.
  • Utilizați FieldSeq.BookmarkName când un câmp SEQ trebuie să facă referire la un număr definit în altă parte a documentului, în loc să-și incrementeze propriul contor la locația câmpului.
  • Setați FieldSeq.ResetHeadingLevel când o secvență numerotată (cum ar fi numerele de figură) trebuie să se repornească la fiecare nou capitol sau titlu de secțiune.

Probleme comune

ProblemăCauzăRemediere
FieldPage sau FieldSectionPages arată întotdeauna 0Aceste câmpuri depind de aspectul paginii calculat, care nu face parte din această edițieComportamentul așteptat – folosiți versiunea comercială Aspose.Words pentru .NET dacă este necesar un număr de pagini calculat
FieldListNum nu folosește formatarea de listă așteptatăListName nu corespunde unei definiții abstracte de numerotare prezente în documentConfirmaţi numele exact al listei, sau verificaţi HasListName pentru a vedea dacă codul câmpului furnizează unul
Numerele FieldSeq nu se reîncep acolo unde era de așteptatResetNumber sau ResetHeadingLevel nu a fost setat pe câmpul care ar trebui să repornească secvențaSetaţi proprietatea de resetare corespunzătoare pe acea instanță FieldSeq

FAQ

Care este diferența dintre numerotarea listelor și aceste câmpuri de numerotare?

Numerotarea listei (List, ListFormat, ListLevel, acoperit în Lucrul cu listele) formatează întregi paragrafe ca elemente de listă. Câmpurile de pe această pagină calculează un număr într-un punct specific al textului – pentru secvențe, contoare de pagină/sectiune sau numerotare automată în stil legal – independent de formatarea listelor din paragraf.

De ce un câmp PAGE evaluează întotdeauna la 0?

FieldPage depinde de aspectul paginii calculat, iar această ediție nu include un motor de aspect/redare a paginii – același motiv pentru care NUMPAGES evaluează la o valoare placeholder.

Cum pot crea o secvență numită, numerotată independent, cum ar fi „Figura 1”, „Figura 2”?

Folosește FieldSeq cu un SequenceIdentifier consistent (cum ar fi "Figure") în fiecare instanță de câmp; fiecare afișează următorul număr din acea secvență.

Cum pot controla în ce stil numeric sau de literă este redat un număr?

Folosește enumul NumberStyle – valori precum Arabic, UppercaseRoman, LowercaseLetter și OrdinalText selectează stilul de redare, alături de Bullet, None și Custom pentru formate non-numerice sau furnizate de apelant.


API Reference Rezumat

Clasă / EnumDescriere:
FieldAutoNumAUTONUM câmp; SeparatorCharacter
FieldAutoNumLglAUTONUMLGL câmp; RemoveTrailingPeriod, SeparatorCharacter
FieldAutoNumOutAUTONUMOUT câmp
FieldListNumLISTNUM câmp; ListName, HasListName, ListLevel, StartingNumber
FieldPagePAGE câmp (dependând de aspect; evaluează la 0 în această ediție)
FieldSectionSECTION câmp
FieldSectionPagesSECTIONPAGES câmp (dependente de aspect; se evaluează la 0 în această ediție)
FieldSeqSEQ câmp; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel
FieldRevNumREVNUM câmp
NumberStyleEnum al stilurilor de redare a numerelor utilizate de nivelurile listelor, notele de subsol/note de final și numerele de pagină

Vezi și:

 Română