Campos de Numeração (AUTONUM, PAGE, SEQ, e Mais)

Campos de Numeração (AUTONUM, PAGE, SEQ, e Mais)

Campos de Numeração (AUTONUM, PAGE, SEQ e Mais)

Este guia mostra como trabalhar com campos de numeração automática do Word em Aspose.Words FOSS para .NET, e como eles diferem da numeração baseada em listas. Trabalhando com Listas covers List, ListFormat, e ListLevel – o modelo de objetos por trás dos parágrafos de listas numeradas e marcadas do Word. O Word também possui uma família separada de numeração fields que calculam um número na localização do campo no texto, em vez de através da formatação de lista de parágrafos: numeração automática legal e de contorno, contadores de página e seção, numeração vinculada a listas e sequências nomeadas. Ele modela cada um como um Field subclasse no the Aspose.Words.Fields namespace, mais o NumberStyle enum compartilhado pelos níveis de lista, notas de rodapé e notas finais, e números de página para escolher como um número é renderizado.


Campos de Numeração Automática: AUTONUM, AUTONUMLGL, AUTONUMOUT

FieldAutoNum implementa o AUTONUM campo (numeração sequencial simples) e expõe SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (numeração estilo legal/outline), adicionando RemoveTrailingPeriod junto ao seu próprio SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (outline numbering) e não tem propriedades próprias além da base Field membros descritos em Trabalhando com Campos.


Numeração Vinculada a Lista com FieldListNum

FieldListNum implementa o campo LISTNUM: ListName nomeia a definição de numeração abstrata a ser usada, e HasListName relata se o código do campo realmente fornece um nome. ListLevel substitui o nível de lista padrão onde o campo numera, e StartingNumber define o valor a partir do qual a numeração do campo começa.


Contadores de Página e Seção: FieldPage, FieldSection, FieldSectionPages

FieldPage implementa o PAGE campo e FieldSectionPages implements SECTIONPAGES. Ambos dependem do layout de página calculado para produzir um resultado; assim como o NUMPAGES campo descrito em Trabalhando com Campos, valores de campo dependentes de layout não são calculados nesta edição porque ela não inclui um mecanismo de layout/renderização de página, portanto esses campos avaliam para um placeholder 0. FieldSection implements SECTION, retornando o número da seção atual do documento – não depende da paginação e não é afetado por essa limitação.


Sequências Nomeadas com FieldSeq

FieldSeq implementa o campo SEQ para sequências nomeadas e numeradas independentemente (como figuras ou tabelas): SequenceIdentifier nomeia a sequência, e BookmarkName opcionalmente aponta o campo para um item em outra parte do documento em vez da própria localização do campo. InsertNextNumber insere o próximo número na sequência sem exibir um valor para a posição atual, e ResetNumber / ResetHeadingLevel redefinem o contador da sequência para um número específico, ou reiniciam-no em um nível de título específico.


FieldRevNum

FieldRevNum implementa o campo REVNUM e não possui propriedades próprias além dos membros base Field.


Formatando Números com NumberStyle

NumberStyle é o enum usado em níveis de lista, numeração de notas de rodapé/final, e números de página para selecionar como um número é renderizado. Estilos comuns incluem Arabic, UppercaseRoman / LowercaseRoman, UppercaseLetter / LowercaseLetter, Ordinal e OrdinalText, juntamente com um grande conjunto de estilos específicos de localidade (Kanji, Hangul, Hanja, ThaiLetter, HindiLetter1 e muitos outros) além de Bullet, LeadingZero, None e Custom para um formato fornecido pelo chamador.


Dicas e Melhores Práticas

  • Recorra a FieldListNum quando um número precisar referenciar uma definição de lista existente por nome; use FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut para numeração que não esteja atrelada a um List específico.
  • Lembre-se de que FieldPage e FieldSectionPages dependem do layout, da mesma forma que NUMPAGES — não confie que seus Result reflitam uma contagem de páginas realmente calculada nesta edição.
  • Use FieldSeq.BookmarkName quando um campo SEQ precisar referenciar um número definido em outro lugar do documento em vez de incrementar seu próprio contador no local do campo.
  • Defina FieldSeq.ResetHeadingLevel quando uma sequência numerada (como números de figuras) deve reiniciar em cada novo capítulo ou título de seção.

Problemas comuns

ProblemaCausaCorreção
FieldPage ou FieldSectionPages sempre mostra 0Esses campos dependem do computed page layout, que não faz parte desta ediçãoComportamento esperado – use o comercial Aspose.Words para .NET se for necessário um computed page count
FieldListNum não usa a formatação de lista esperadaListName não corresponde a uma definição de numeração abstrata presente no documentoConfirme o nome exato da lista ou verifique HasListName para ver se o código do campo fornece um.
FieldSeq numbers não reiniciam onde esperadoResetNumber ou ResetHeadingLevel não foi definido no campo que deveria reiniciar a sequênciaDefina a propriedade de reinicialização apropriada nessa instância de FieldSeq

FAQ

Qual é a diferença entre a numeração de lista e esses campos de numeração?

Numeração de lista (List, ListFormat, ListLevel, coberto em Trabalhando com Listas) formata parágrafos inteiros como itens de lista. Os campos nesta página calculam um número em um ponto específico do texto – para sequências, contadores de página/seção ou numeração automática ao estilo jurídico – independentemente da formatação de lista em parágrafos.

Por que um campo PAGE sempre avalia como 0?

FieldPage depende do layout de página calculado, e esta edição não inclui um mecanismo de page-layout/rendering — a mesma razão pela qual NUMPAGES avalia para um valor placeholder.

Como criar uma sequência nomeada e numerada independentemente, como “Figure 1”, “Figure 2”?

Use FieldSeq com um SequenceIdentifier consistente (como "Figure") em cada instância de campo; cada uma exibe o próximo número nessa sequência.

Como controlar em qual estilo de numeral ou letra um número é renderizado?

Use o enum NumberStyle — valores como Arabic, UppercaseRoman, LowercaseLetter e OrdinalText selecionam o estilo de renderização, juntamente com Bullet, None e Custom para formatos não numéricos ou fornecidos pelo chamador.


API Reference Resumo

Classe / EnumDescrição
FieldAutoNumAUTONUM campo; SeparatorCharacter
FieldAutoNumLglAUTONUMLGL campo; RemoveTrailingPeriod, SeparatorCharacter
FieldAutoNumOutAUTONUMOUT campo
FieldListNumLISTNUM campo; ListName, HasListName, ListLevel, StartingNumber
FieldPagePAGE campo (dependente de layout; avalia para 0 nesta edição)
FieldSectionSECTION campo
FieldSectionPagesSECTIONPAGES campo (dependente de layout; avalia para 0 nesta edição)
FieldSeqSEQ campo; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel
FieldRevNumREVNUM campo
NumberStyleEnum de estilos de renderização de números usados por níveis de lista, notas de rodapé/notas de fim e números de página

Ver também

 Português