ONYX - 9.0 - Utilisation

Document footer management in XML

De MappingDoc
Autres langues :
English • ‎français

Introduction

This section describes how to manage fixed-height document footers on the last page of a document with automatic page breaks.

Prerequisites

  • Have a good foundation on how Designer works in XML mode
  • Know the structure of the XML Designer file

Problematic

When a document contains a long list spread over several pages and having a footer only on the last one (document footer), it is generally desirable that the list takes up all the space available on the intermediate pages, but that it stops early enough on the last to leave room for the footer of the last page.

Principle

To meet this need, it is necessary to intervene on 2 elements:

  1. Conditionner le pied de document pour qu’il apparaisse uniquement sur la dernière page. Pour cela, la condition à utiliser est « Saut de page » avec la logique not(1). En effet, cette condition devient vraie pour le reste de la page dès qu’un groupe paginé déclenche un saut de page. Pour que cette condition soit pertinente elle doit donc être évaluée après le traitement du groupe correspondant à la liste paginée. Le pied de document doit être confectionné exclusivement avec des objets de type « groupe » ou « texte », car ce sont les seuls à pouvoir être exécutés après un objet de type « groupe ».
  2. Intégrer artificiellement le pied de document à la fin de la liste afin que cette dernière puisse en tenir compte pour le déclenchement des sauts de page Il est essentiel de s’assurer que le pied de document dispose de suffisamment d’espace sur la dernière page. Le groupe correspondant à la liste paginée doit donc vérifier que cet espace est disponible. Si ce n'est pas le cas, un saut de page doit être déclenché avant l'écriture du pied de document. Pour ce faire, une ligne spécifique (artificielle) doit être ajoutée à la fin du groupe principal. Cette ligne servira à réserver un espace dont la hauteur sera au minimum équivalente à celle du pied de document.

Example

Reservation of space for the document footer

The idea is to use the following group as a document footer. In our example, we have a special line at the end of the main group named RESA_SPACE. We apply a zone with a front spacing of 3cm. (this allows you to reserve the place for the document foot)

<group name="Products">
 <line >….</line>
 <line >….</line>
 <line >….</line> 
 (...)
 <line name=”RESA_SPACE/>
</group>


Resafooter1.png


We condition the RESA_SPACE zone on the presence of the line type "RESA_SPACE"


Resafooter2.png


Management of the appearance of the document footer

In our case, the document footer is 2 tables (VAT breakdown and totals table)


Pied de document.png


This includes all the elements required to design the VAT breakdown table of a document. This must only be present on the last page of the document.

The group must be conditional on not triggering a page break:
Pieds de page cond.png