Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

842
Vistas
Exportación de PDF de DataTables (pdfmake): ¿cómo evitar romper filas en saltos de página?

Estoy tratando de personalizar PDF-Export con DataTables (que usa pdfmake ). Todos mis estilos personalizados funcionan excepto dontBreakRows , no parece hacer ninguna diferencia, por lo que el contenido de las filas de la tabla se divide en saltos de página, en lugar de mantenerlos juntos en la página siguiente cuando no encajan en la anterior, lo que es lo que esperaba.

Mi versión de pdfmake es 0.1.27 (la última, en la fecha), DataTables 1.10.12, Buttons 1.2.1

Este es mi código:

 (...) $.extend( true, {}, buttonCommon, { 'extend': 'pdf', 'text': 'PDF A4', 'orientation': 'landscape', 'pageSize': 'A4', 'message': 'Date '+todays, 'customize': function (doc) { doc.content.splice(1, 0, { margin: \{0, -32, 0, 8\}, alignment: 'right', image: 'data:image/png;base64,(...)' }); //These styles are working: doc.defaultStyle.fontSize = 10; doc.styles.title.fontSize = 12; doc.styles.tableHeader.fontSize = 11; doc.styles.tableFooter.fontSize = 11; doc.styles.tableHeader.alignment = 'left'; doc.styles.title.bold = true; doc.styles.tableHeader.bold = true; doc.styles.tableHeader.color = '#ffffff'; doc.styles.tableHeader.fillColor = '#666666'; doc.styles.tableBodyOdd.fillColor = '#ffffff'; doc.styles.tableBodyEven.fillColor = '#e9e9e9'; doc.styles.tableHeader.noWrap = true; //It doesn't work: doc.styles.tableBodyOdd.dontBreakRows = true; doc.styles.tableBodyEven.dontBreakRows = true; doc.styles.tableBodyOdd.pageBreak = 'before'; doc.styles.tableBodyEven.pageBreak = 'before'; //It doesn't work neither: doc.defaultStyle = { dontBreakRows: true } } }), (...)

¿Qué estoy haciendo mal? ¡Gracias!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Tuve exactamente el mismo problema. Los estilos no funcionan.

Para mí esto funcionó (dependiendo de la posición de la tabla en el contenido):

 doc.content[1].table.dontBreakRows = true;

Si descubriste una mejor manera, solo házmelo saber.

over 4 years ago · Santiago Trujillo Denunciar

0

Está usando bodyOdd y bodyEven , por lo que necesita usar

 doc.styles.tableBodyOdd.noWrap = true; doc.styles.tableBodyEven.noWrap = true;
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda