Campi di numerazione (AUTONUM, PAGE, SEQ, e altri)

Campi di numerazione (AUTONUM, PAGE, SEQ, e altri)

Campi di Numerazione (AUTONUM, PAGE, SEQ e Altro)

Questa guida mostra come lavorare con i campi di numerazione automatica di Word in Aspose.Words FOSS per .NET, e come differiscono dalla numerazione basata su elenchi. Lavorare con gli elenchi covers List, ListFormat, e ListLevel – il modello a oggetti alla base dei paragrafi di elenchi numerati e puntati di Word. Word ha anche una famiglia separata di numerazione fields che calcolano un numero nella posizione del campo nel testo, anziché tramite la formattazione dell’elenco di paragrafi: numerazione automatica legale e per schemi, contatori di pagina e sezione, numerazione collegata agli elenchi e sequenze nominate. Modella ciascuna come un Field sottoclasse in Aspose.Words.Fields namespace, più il NumberStyle enum condiviso da livelli di elenco, note a piè di pagina e note finali, e numeri di pagina per scegliere come viene visualizzato un numero.


Campi di Numerazione Automatica: AUTONUM, AUTONUMLGL, AUTONUMOUT

FieldAutoNum implementa il AUTONUM campo (numerazione sequenziale semplice) e espone SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (numerazione in stile legale/outline), aggiungendo RemoveTrailingPeriod insieme al proprio SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (numerazione outline) e non ha proprietà proprie oltre alla base Field membri descritti in Lavorare con i campi.


Numerazione Collegata a Elenco con FieldListNum

FieldListNum implementa il campo LISTNUM: ListName assegna il nome alla definizione di numerazione astratta da utilizzare, e HasListName segnala se il codice del campo fornisce effettivamente un nome. ListLevel sovrascrive il livello di elenco predefinito su cui il campo numera, e StartingNumber imposta il valore da cui inizia la numerazione del campo.


Contatori di Pagina e Sezione: FieldPage, FieldSection, FieldSectionPages

FieldPage implementa il PAGE campo e FieldSectionPages implements SECTIONPAGES. Entrambi dipendono dal layout di pagina calcolato per produrre un risultato; come per il NUMPAGES campo descritto in Lavorare con i campi, i valori dei campi dipendenti dal layout non vengono calcolati in questa edizione perché non include un motore di layout/rendering della pagina, quindi questi campi valutano a un segnaposto 0. FieldSection implements SECTION, restituisce il numero di sezione corrente del documento – non dipende dalla paginazione e non è influenzato da tale limitazione.


Sequenze nominate con FieldSeq

FieldSeq implementa il campo SEQ per sequenze nominate, numerate indipendentemente (come figure o tabelle): SequenceIdentifier assegna un nome alla sequenza, e BookmarkName opzionalmente indirizza il campo a un elemento altrove nel documento invece che alla posizione stessa del campo. InsertNextNumber inserisce il numero successivo nella sequenza senza mostrare un valore per la posizione corrente, e ResetNumber / ResetHeadingLevel reimpostano il contatore della sequenza a un numero specifico, o lo riavviano a un livello di intestazione specifico.


FieldRevNum

FieldRevNum implementa il campo REVNUM e non possiede proprietà proprie oltre ai membri base Field.


Formattare i numeri con NumberStyle

NumberStyle è l’enumerazione usata nei livelli delle liste, nella numerazione di note a piè di pagina/fine documento e nei numeri di pagina per selezionare come un numero viene visualizzato. Gli stili comuni includono Arabic, UppercaseRoman / LowercaseRoman, UppercaseLetter / LowercaseLetter, Ordinal e OrdinalText, insieme a un ampio set di stili specifici per locale (Kanji, Hangul, Hanja, ThaiLetter, HindiLetter1 e molti altri) più Bullet, LeadingZero, None e Custom per un formato fornito dal chiamante.


Suggerimenti e migliori pratiche

  • Utilizza FieldListNum quando un numero deve fare riferimento a una definizione di elenco esistente per nome; usa FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut per una numerazione che non è legata a un particolare List.
  • Ricorda che FieldPage e FieldSectionPages dipendono dal layout, così come NUMPAGES — non fare affidamento sul loro Result per riflettere un conteggio reale delle pagine calcolato in questa edizione.
  • Usa FieldSeq.BookmarkName quando un campo SEQ deve fare riferimento a un numero definito altrove nel documento anziché incrementare il proprio contatore nella posizione del campo.
  • Imposta FieldSeq.ResetHeadingLevel quando una sequenza numerata (ad esempio i numeri delle figure) deve ricominciare ad ogni nuovo capitolo o intestazione di sezione.

Problemi comuni

ProblemaCausaCorrezione
FieldPage oppure FieldSectionPages mostra sempre 0Questi campi dipendono dal layout della pagina calcolato, che non fa parte di questa edizioneComportamento previsto – usa la versione commerciale Aspose.Words per .NET se è necessario un conteggio delle pagine calcolato
FieldListNum non utilizza la formattazione dell’elenco previstaListName non corrisponde a una definizione di numerazione astratta presente nel documentoConferma il nome esatto dell’elenco, oppure controlla HasListName per vedere se il codice del campo ne fornisce uno
I numeri di FieldSeq non ripartono dove previstoResetNumber o ResetHeadingLevel non è stato impostato sul campo che dovrebbe ripristinare la sequenzaImposta la proprietà di reset appropriata su quell’istanza di FieldSeq

FAQ

Qual è la differenza tra la numerazione degli elenchi e questi campi di numerazione?

Numerazione dell’elenco (List, ListFormat, ListLevel, coperto in Lavorare con gli elenchi) formatta interi paragrafi come elementi di elenco. I campi su questa pagina calcolano un numero in un punto specifico del testo – per sequenze, contatori di pagina/sezione o numerazione automatica in stile legale – indipendente dalla formattazione di elenco del paragrafo.

Perché un campo PAGE restituisce sempre 0?

FieldPage dipende dal layout di pagina calcolato, e questa edizione non include un motore di layout/rendering della pagina – lo stesso motivo per cui NUMPAGES restituisce un valore segnaposto.

Come creo una sequenza denominata, numerata indipendentemente, come “Figura 1”, “Figura 2”?

Usa FieldSeq con un SequenceIdentifier coerente (come "Figure") per ogni istanza di campo; ciascuno visualizza il numero successivo in quella sequenza.

Come posso controllare in quale stile numerico o letterale viene visualizzato un numero?

Usa l’enumerazione NumberStyle – valori come Arabic, UppercaseRoman, LowercaseLetter e OrdinalText selezionano lo stile di rendering, insieme a Bullet, None e Custom per formati non numerici o forniti dall’utente.


API Reference Riepilogo

Classe / EnumDescrizione
FieldAutoNumAUTONUM field; SeparatorCharacter
FieldAutoNumLglAUTONUMLGL field; RemoveTrailingPeriod, SeparatorCharacter
FieldAutoNumOutAUTONUMOUT campo
FieldListNumLISTNUM campo; ListName, HasListName, ListLevel, StartingNumber
FieldPagePAGE campo (dipendente dal layout; valuta a 0 in questa edizione)
FieldSectionSECTION campo
FieldSectionPagesSECTIONPAGES campo (dipendente dal layout; valuta a 0 in questa edizione)
FieldSeqSEQ campo; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel
FieldRevNumREVNUM campo
NumberStyleEnum degli stili di visualizzazione dei numeri usati per i livelli di elenco, le note a piè di pagina/fine e i numeri di pagina

Vedi anche

 Italiano