• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

731
Views
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!

about 3 years ago · Santiago Trujillo
2 answers
Answer question

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.

about 3 years ago · Santiago Trujillo Report

0

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

 doc.styles.tableBodyOdd.noWrap = true; doc.styles.tableBodyEven.noWrap = true;
about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error