Campos de Actualización

Normalmente, un campo insertado en Microsoft Word ya contiene un valor actualizado. Por ejemplo, si el campo es una fórmula o un número de página, contendrá el valor calculado correcto para la versión dada del documento. Pero si tiene una aplicación que genera o modifica un documento con campos, como fusionar dos documentos o rellenarlo con datos, lo ideal es que todos los campos se actualicen para que el documento sea útil.

Cómo Actualizar Campos

Cuando se carga un documento, Aspose.Words imita el comportamiento de Microsoft Word con la opción de actualizar campos automáticamente desactivada. El comportamiento se puede resumir de la siguiente manera:

  • cuando abre / guarda un documento, los campos permanecen intactos
  • puede actualizar explícitamente todos los campos de un documento, por ejemplo, reconstruir TOC, cuando lo necesite
  • cuando se procesa en PDF o XPS, se actualizan los campos relacionados con la numeración de páginas en encabezados/pies de página
  • cuando ejecuta mail merge, todos los campos se actualizan automáticamente

Actualizar Campos Mediante Programación

Para actualizar explícitamente los campos en todo el documento, simplemente llame al método UpdateFields. Para actualizar los campos contenidos en parte de un documento, obtenga un objeto Range y llame al método UpdateFields. En Aspose.Words, puede obtener un Range para cualquier nodo del árbol de documentos, como por ejemploSection, HeaderFooter, Paragraph, etc. usando la propiedad Node.Range.Puede actualizar el resultado de un solo campo llamando al método Update.

Actualización Automática de los Campos Relacionados con la Página Durante el Procesamiento

Cuando ejecuta la conversión de un documento a un formato de página fija, por ejemplo, a PDF o XPS, Aspose.Words actualizará automáticamente los campos relacionados con el diseño de página PAGE, PAGEREF que se encuentran en los encabezados/pies de página del documento. Este comportamiento imita el comportamiento de Microsoft Word al imprimir un documento.

Si desea actualizar todos los demás campos del documento, debe llamar a UpdateFields antes de procesar el documento.

El siguiente ejemplo de código muestra cómo actualizar todos los campos antes de procesar un documento:

Actualización Automática De Campos Durante Mail Merge

Cuando ejecute un mail merge, todos los campos del documento se actualizarán automáticamente. Esto se debe a que Mail Merge es un caso de actualización de campo. El programa encuentra un campo Mail Merge y necesita actualizar su resultado, lo que implica tomar el valor de la fuente de datos e insertarlo en el campo. La lógica es, por supuesto, más complicada, por ejemplo, cuando se llega al final de la región del documento/mail merge pero aún quedan más datos por fusionar, entonces es necesario duplicar la región y actualizar el nuevo conjunto de campos.

Actualice la Propiedad LastSavedTime Antes de Guardar

Puede usar la propiedad UpdateLastSavedTimeProperty para actualizar la propiedad integrada correspondiente del documento LastSavedTime al guardar el documento.

El siguiente ejemplo de código muestra cómo actualizar esta propiedad: