← Toda la documentación
Diseño de página

Diseño de página: paginación y numeración de estilo legal

Dos plugins para trabajar con documentos: contratos, especificaciones, informes, políticas. Una vista de página paginada en vivo que muestra los límites reales de las páginas, encabezados, pies de página y números de página, y una numeración de estilo legal de varios niveles (1, 1.1, 1.1.1) para documentos con cláusulas numeradas. Ambos se incluyen en la licencia estándar. Para saber cómo se proyecta un DOM continuo sobre la geometría real del papel, consulta cómo funciona la vista de página paginada en un editor del navegador; la parte de la numeración se explica en numeración de estilo legal con contadores CSS.

Vista de página paginada

La vista de página muestra el área editable como una columna de papel con el ancho real de la página y dibuja un límite, un número de página y, opcionalmente, un encabezado y un pie para cada página: la vista de diseño de impresión que ofrece un procesador de textos. Es puramente visual: nada de lo que dibuja se escribe en tu contenido, y el HTML que guardas es idéntico byte a byte con la vista de página activada o desactivada.

Carga el plugin después del editor y actívalo o desactívalo desde tu propia interfaz:

<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>

Las páginas se cortan en los límites de los bloques, así que un párrafo, una fila de tabla o una imagen nunca se parten por la mitad. Un salto forzado (lo que inserta el comando insertpagebreak de la barra de herramientas) siempre empieza una página nueva, exactamente igual que al exportar.

Configurar página

La geometría sale de la configuración de página del propio documento cuando tu aplicación la proporciona, así que lo que ves en pantalla coincide con lo que producen las exportaciones a PDF y Word. También puedes establecerla en tiempo de ejecución:

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"
});
Opción de configuraciónPredeterminadoFunción
paginationEnabledfalseEmpieza con la vista de página activada.
pageFormat"A4"Tamaño del papel cuando el documento no lleva configuración de página.
pageOrientation"portrait"Vertical u horizontal.
pageMargins1in all roundMárgenes, en pulgadas o en cualquier longitud CSS.
paginationShowPageNumberstrueDibuja la etiqueta con el número de cada página.
paginationShowPageCounttruePage 3 of 12 frente a Page 3.

Encabezados y pies de página

El HTML del encabezado y del pie se repite en cada página y admite los marcadores {page} y {total}:

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