Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

238
Visualizações
¿Existe una opción para alinear a la derecha el texto en el atributo messageBottom de la exportación de PDF de DataTables?

Creé una exportación de pdf usando Datatables y estoy mostrando un mensaje debajo de la tabla exportada usando messageBottom . El problema es que se alinea automáticamente a la izquierda y me gustaría que el valor se alineara a la derecha, debajo de la última columna de la tabla exportada. ¿Hay una manera de lograr esto? Revisé la documentación de Datatable pdfHtml5 pero parece que no puedo entender cómo ajustar la alineación del texto en messageBottom o messageTop .

Aquí está mi código inicializando la tabla:

 var table = $('#exampleTable').DataTable( { dom: 'Bfrtip', buttons: [ { extend: 'pdfHtml5', messageBottom: function() { return 'message to be displayed at bottom' }, customize: function ( doc ) { /* here I am aligning text in a column to the right */ var rowCount = table.rows().count() + 1; for (i = 0; i < rowCount; i++) { doc.content[2].table.body[i][3].alignment = 'right'; }; } } ] } );
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

en la version de datable que estoy usando lo he solucionado asi. 'messageBottom' usa el estilo 'mensaje', por lo que agregar la siguiente línea en la personalización me resolvió el problema.

 doc.styles.message.alignment = "right";

El problema con esta solución es que 'messageTop' también usa el estilo 'message', por lo que también se alineará a la derecha, pero en mi caso solo estoy usando 'messageBottom'. No sé si hay una mejor manera.

mi ejemplo:

 { extend: 'pdf', messageBottom: function() { return "\n\nTOTAL VENCIMIENTO: "+$('#header-vcto-total span').text()+"\n" }, customize: function(doc) { /** this line changes the alignment of 'messageBottom' and 'messageTop' **/ doc.styles.message.alignment = "right"; doc.content[1].table.widths = [ '40%', '25%', '17.5%', '17.5%']; var rowCount = doc.content[1].table.body.length; for (i = 1; i < rowCount; i++) { doc.content[1].table.body[i][1].alignment = 'center'; doc.content[1].table.body[i][2].alignment = 'center'; doc.content[1].table.body[i][3].alignment = 'right'; doc.content[1].table.body[i][3].text += ' €'; }; } }

Espero que le sea útil. Un saludo.

about 4 years ago · Juan Pablo Isaza Relatório

0

La respuesta de @zhexirox alinea a la derecha la parte inferior del mensaje, el único problema es que también alinea la parte superior del mensaje de la misma manera. Si solo desea alinear / formatear el contenido debajo de la tabla, puede usar doc.content.push Aquí hay un ejemplo:

 customize: function(doc) { doc.content.push( { margin: [15, 20, 0, 0 ], alignment: 'left', text: 'example message' }); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda