Campos de numeración (AUTONUM, PAGE, SEQ y más)

Campos de numeración (AUTONUM, PAGE, SEQ y más)

Campos de numeración (AUTONUM, PAGE, SEQ y más)

Esta guía muestra cómo trabajar con los campos de numeración automática de Word en Aspose.Words FOSS para .NET, y cómo difieren de la numeración basada en listas. Trabajando con listas covers List, ListFormat, y ListLevel – el modelo de objetos detrás de los párrafos de listas numeradas y con viñetas de Word. Word también tiene una familia separada de numeración fields que calculan un número en la ubicación del campo en el texto, en lugar de a través del formato de lista de párrafo: numeración automática legal y de esquema, contadores de página y sección, numeración vinculada a listas y secuencias nombradas. Modela cada una como una Field subclase en el Aspose.Words.Fields namespace, más el NumberStyle enum compartido por niveles de lista, notas al pie y notas finales, y números de página para elegir cómo se representa un número.


Campos de numeración automática: AUTONUM, AUTONUMLGL, AUTONUMOUT

FieldAutoNum implementa el AUTONUM campo (numeración secuencial simple) y expone SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (numeración tipo legal/esquema), añadiendo RemoveTrailingPeriod junto a su propio SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (numeración de esquema) y no tiene propiedades propias más allá del base Field miembros descritos en Trabajando con campos.


Numeración vinculada a listas con FieldListNum

FieldListNum implementa el campo LISTNUM: ListName nombra la definición abstracta de numeración a usar, y HasListName informa si el código del campo realmente proporciona un nombre. ListLevel sobrescribe el nivel de lista predeterminado en el que el campo numera, y StartingNumber establece el valor desde el cual comienza la numeración del campo.


Contadores de página y sección: FieldPage, FieldSection, FieldSectionPages

FieldPage implementa el PAGE campo y FieldSectionPages implements SECTIONPAGES. Ambos dependen del diseño de página calculado para producir un resultado; al igual que el NUMPAGES campo descrito en Trabajando con campos, los valores de campo dependientes del diseño no se calculan en esta edición porque no incluye un motor de diseño/renderizado de páginas, por lo que estos campos evalúan a un marcador de posición 0. FieldSection implements SECTION, devolviendo el número de sección actual del documento – no depende de la paginación y no se ve afectado por esa limitación.


Secuencias nombradas con FieldSeq

FieldSeq implementa el campo SEQ para secuencias nombradas y numeradas de forma independiente (como figuras o tablas): SequenceIdentifier nombra la secuencia, y BookmarkName opcionalmente apunta el campo a un elemento en otra parte del documento en lugar de la propia ubicación del campo. InsertNextNumber inserta el siguiente número en la secuencia sin mostrar un valor para la posición actual, y ResetNumber / ResetHeadingLevel restablecen el contador de la secuencia a un número específico, o lo reinician en un nivel de encabezado específico.


FieldRevNum

FieldRevNum implementa el campo REVNUM, y no tiene propiedades propias más allá de los miembros base Field.


Formato de números con NumberStyle

NumberStyle es el enum utilizado en los niveles de lista, la numeración de notas al pie/final y los números de página para seleccionar cómo se representa un número. Los estilos comunes incluyen Arabic, UppercaseRoman / LowercaseRoman, UppercaseLetter / LowercaseLetter, Ordinal y OrdinalText, junto con un amplio conjunto de estilos específicos de locale (Kanji, Hangul, Hanja, ThaiLetter, HindiLetter1 y muchos otros) más Bullet, LeadingZero, None y Custom para un formato suministrado por el llamador.


Consejos y mejores prácticas

  • Utilice FieldListNum cuando un número necesite referenciar una definición de lista existente por nombre; use FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut para numeración que no esté vinculada a un List en particular.
  • Recuerde que FieldPage y FieldSectionPages dependen del diseño, al igual que NUMPAGES; no confíe en que su Result refleje un recuento de páginas calculado realmente en esta edición.
  • Utilice FieldSeq.BookmarkName cuando un campo SEQ necesite referenciar un número definido en otra parte del documento en lugar de incrementar su propio contador en la ubicación del campo.
  • Configure FieldSeq.ResetHeadingLevel cuando una secuencia numerada (como los números de figura) deba reiniciarse en cada nuevo capítulo o encabezado de sección.

Problemas comunes

ProblemaCausaSolución
FieldPage o FieldSectionPages siempre muestra 0Estos campos dependen del diseño de página calculado, que no forma parte de esta ediciónComportamiento esperado – use la versión comercial Aspose.Words para .NET si se requiere un recuento de páginas calculado
FieldListNum no utiliza el formato de lista esperadoListName no coincide con una definición de numeración abstracta presente en el documentoConfirma el nombre exacto de la lista, o verifica HasListName para ver si el código del campo proporciona uno en absoluto
Los números de FieldSeq no se reinician donde se esperaResetNumber o ResetHeadingLevel no se establecieron en el campo que debería reiniciar la secuenciaEstablece la propiedad de reinicio adecuada en esa instancia de FieldSeq

FAQ

¿Cuál es la diferencia entre la numeración de listas y estos campos de numeración?

Numeración de lista (List, ListFormat, ListLevel, cubierto en Trabajando con Listas) formatea párrafos completos como elementos de lista. Los campos en esta página calculan un número en un punto específico del texto – para secuencias, contadores de página/sección, o numeración automática al estilo legal – independiente del formato de lista de párrafos.

¿Por qué un campo PAGE siempre evalúa a 0?

FieldPage depende del diseño de página calculado, y esta edición no incluye un motor de diseño/renderizado de página – la misma razón por la que NUMPAGES evalúa a un valor de marcador de posición.

¿Cómo creo una secuencia nombrada e independientemente numerada como “Figure 1”, “Figure 2”?

Utilice FieldSeq con un SequenceIdentifier coherente (como "Figure") en cada instancia de campo; cada una muestra el siguiente número en esa secuencia.

¿Cómo controlo el estilo de numeral o letra en el que se representa un número?

Utilice el enum NumberStyle – valores como Arabic, UppercaseRoman, LowercaseLetter y OrdinalText seleccionan el estilo de renderizado, junto con Bullet, None y Custom para formatos no numéricos o proporcionados por el llamador.


API Reference Resumen

Clase / EnumeraciónDescripción
FieldAutoNumAUTONUM campo; SeparatorCharacter
FieldAutoNumLglAUTONUMLGL campo; RemoveTrailingPeriod, SeparatorCharacter
FieldAutoNumOutAUTONUMOUT campo
FieldListNumLISTNUM campo; ListName, HasListName, ListLevel, StartingNumber
FieldPagePAGE campo (dependiente del diseño; evalúa a 0 en esta edición)
FieldSectionSECTION campo
FieldSectionPagesSECTIONPAGES campo (dependiente del diseño; evalúa a 0 en esta edición)
FieldSeqSEQ campo; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel
FieldRevNumREVNUM campo
NumberStyleEnumeración de estilos de representación numérica utilizados por los niveles de lista, notas al pie/finales y números de página

Ver también

 Español