Vivian, parte de nuestro equipo, nos hizo el favor de escribir esta reseña porque domina muy bien el tema.
Solución:
los pageBreakBefore
La función brinda mucha flexibilidad para determinar si el salto de página es necesario o no. Sin embargo, encontré una solución más que es más sencilla y menos documentada pero hace toda la magia automáticamente. Es un unbreakable: true
attribute que vino en la versión 0.1.32. Además, se menciona en el siguiente hilo https://github.com/bpampuch/pdfmake/issues/1228#issuecomment-354411288
¿Cómo funciona?
Por ejemplo, desea hacer que un encabezado y un texto debajo sean irrompibles. Para hacerlo, debe envolver el encabezado y el contenido en una pila y aplicar el unbreakable: true
en eso.
stack: [
// header
text: 'Lorem ipsum dolor sit amet',
bold: true,
fontSize: 13
,
// content
text: 'Nulla iaculis magna vitae luctus euismod. Sed arcu risus, mattis non molestie et, condimentum sit amet justo. Quisque vitae neque magna. Etiam in tellus vitae arcu volutpat bibendum. In ullamcorper ante tortor, a viverra libero cursus eu. Phasellus quis massa nec lorem feugiat ultricies. Aliquam erat volutpat. Nullam a purus tempus, feugiat elit vel, tincidunt tortor.'
],
unbreakable: true // that's the magic :)
Encontré la solución 🙂
En DocDefinition puede agregar una función para pageBreakBefore como esta:
content: [
text: getOfferClosingParagraph(),
id: 'closingParagraph'
,
text: getSignature(),
id: 'signature'
],
pageBreakBefore: function(currentNode, followingNodesOnPage, nodesOnNextPage, previousNodesOnPage) currentNode.pageNumbers[0] != currentNode.pages))
return true;
//check if last paragraph is entirely on a single page, add pagebreak if not
else if (currentNode.id === 'closingParagraph' && currentNode.pageNumbers.length != 1)
return true;
return false;
,
Para obtener más información sobre esta función y la información proporcionada, eche un vistazo a este
Sección de Reseñas y Valoraciones
Agradecemos que desees añadir valor a nuestro contenido aportando tu experiencia en las explicaciones.