Saltar al contenido

Verificación dinámica si el texto va a la página siguiente y agrega un salto de página en pdf usando pdfmake

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *