← Toute la documentation
Mise en page

Mise en page : pagination et numérotation juridique

Deux plugins pour le travail sur des documents structurés — contrats, spécifications, rapports, politiques. Un affichage paginé en direct, qui montre les vraies limites de page, les en-têtes, les pieds de page et les numéros de page, et une numérotation juridique à plusieurs niveaux (1, 1.1, 1.1.1) pour les documents numérotés par clauses. Les deux sont inclus dans la licence standard. Pour savoir comment un DOM continu est projeté sur la géométrie d’une vraie page papier, consultez le fonctionnement de l’affichage paginé dans un éditeur dans le navigateur ; la numérotation est traitée dans la numérotation juridique avec les compteurs CSS.

Affichage paginé

L’affichage paginé présente la zone modifiable sous forme de colonne de papier à la vraie largeur de page et dessine, pour chaque page, une limite, un numéro de page et un en-tête ou un pied de page facultatifs — l’affichage page qu’offre un traitement de texte. Il est purement visuel : rien de ce qu’il dessine n’est écrit dans votre contenu, et le HTML que vous enregistrez est identique à l’octet près, que l’affichage paginé soit activé ou non.

Chargez le plugin après l’éditeur, puis activez-le ou désactivez-le depuis votre propre interface :

<script src="richtexteditor/rte.js"></script>
<script src="richtexteditor/plugins/pagination.js"></script>

<script>
  var editor = new RichTextEditor("#editor");

  editor.setPageView(true);       // turn page view on
  editor.togglePageView();        // flip it
  editor.isPageView();            // -> true | false
  editor.getPageCount();          // -> number of pages
  editor.getPageGeometry();       // -> { pageWidth, pageHeight, margins..., contentHeight }
</script>

Les pages se coupent aux limites des blocs : un paragraphe, une ligne de tableau ou une image n’est donc jamais coupé en deux. Un saut forcé — ce qu’insère la commande de barre d’outils insertpagebreak — commence toujours une nouvelle page, exactement comme à l’export.

Mise en page du document

La géométrie provient de la mise en page propre au document lorsque votre application en fournit une : ce que vous voyez à l’écran correspond donc à ce que produisent les exports PDF et Word. Vous pouvez aussi la définir à l’exécution :

editor.setPageSetup({
  format: "Letter",          // A4 | Letter | Legal | A3 | A5 | Tabloid
  orientation: "portrait",   // portrait | landscape
  margins: { top: 1, right: 1, bottom: 1, left: 1 }   // inches, or "25mm" / "2cm" / "72pt" / "96px"
});
Option de configurationValeur par défautRôle
paginationEnabledfalseDémarrer avec l’affichage paginé activé.
pageFormat"A4"Format du papier lorsque le document ne contient pas de mise en page.
pageOrientation"portrait"Portrait ou paysage.
pageMargins1in all roundMarges, en pouces ou dans n’importe quelle longueur CSS.
paginationShowPageNumberstrueAfficher le badge de numéro de page sur chaque page.
paginationShowPageCounttruePage 3 of 12 ou Page 3.

En-têtes et pieds de page

Le HTML de l’en-tête et du pied de page se répète sur chaque page et prend en charge les marqueurs {page} et {total} :

editor.setPageSetup({
  headerHtml: "Master Services Agreement &mdash; Acme Corp",
  footerHtml: "Page {page} of {total} &middot; Confidential"
});