如何修复Autotable pdf中的cellsPadding?

问题描述

我对jspdf autotable有一个不寻常的问题。我有一个生成pdf的代码,它在创建时就可以正常工作。然后,我有一个按钮来创建另一个表并替换现有的表。我在该代码中使用jquery。新表也与旧表几乎相同。我遇到的问题是,在生成PDF时它有太多的左填充,而生成pdf的第一个表工作正常。如何解决这个问题?

这是我的代码

$(document).on("click","#btnExportToPDF",function (e) { 
e.preventDefault();
var date = (new Date()).toString().split(' ').splice(1,3).join(' ');
$("#loading").show();

var title = '12 Years Forecast';

// === Calculate text width ====
var text_width = $.fn.textWidth(title,'14px');
var half_width = (text_width/2); //times pt unit



var doc = new jsPDF('l','pt');
var totalPagesExp = '{total_pages_count_string}'
var base64Img = base64();

doc.autoTable({
    theme: 'grid',html: '#year_table',startY: 50,// pageBreak: 'avoid',bodyStyles: {
        fontSize: 7,halign: 'right',},headStyles: {
        fontSize: 9,fillColor: [30,144,255],});

var count = document.getElementById('clients_table').rows[0].cells.length;

var result_text = $('.caption').text();
doc.setFontSize(12);
doc.setTextColor(40);
doc.text(result_text,40,110);

    doc.autoTable({
        theme: 'grid',html: '#clients_table',startY: doc.lastAutoTable.finalY + 28,didDrawPage: function (data) {
            var pageSize = doc.internal.pageSize
          // Header
            doc.setFontSize(14)
            doc.setTextColor(40)
            doc.setFontStyle('bold')
            doc.text(title,(doc.internal.pageSize.getWidth()/2)-half_width,22)
            doc.setFontSize(10)
            doc.setTextColor(150)
            doc.setFontStyle('nomal')
            doc.text("as of "+date,(doc.internal.pageSize.getWidth()/2)-42,33)
            if (base64Img) {
                doc.addImage(base64Img,'JPEG',8,140,30,'MEDIUM')
            }
              // Footer
            var str = 'Page ' + doc.internal.getNumberOfPages()
              // Total page number plugin only available in jspdf v1.0+
            if (typeof doc.putTotalPages === 'function') {
                str = str + ' of ' + totalPagesExp
            }
            doc.setFontSize(8)
            doc.setTextColor(150)
              // jsPDF 1.4+ uses getWidth,<1.4 uses .width
            var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight()
            doc.text(str,760,pageHeight - 10)
            
            doc.text('Printed on: '+date,720,pageHeight - 20)
            doc.text(msg,pageHeight - 20)
            doc.text(msg2,pageHeight - 10)
            var msg3 = 'Trade Secrets'
            doc.setTextColor(165,42,42)
            doc.text(msg3,424.5,pageHeight - 20)
        },headStyles: {
            fontSize: 8,halign: 'center',bodyStyles: {
            fontSize: 8,footStyles:{
            fontSize: 8,columnStyles: {
            0: {
                cellPadding: 2,textColor: [30,}
        },margin: {
            top: 45,bottom: 30,drawCell: function(cell,data) {
            if (data.table.rows.length  === 0 || data.table.rows.length - 1) {
              cell.styles.setFontStyle = 'bold';
            }
            if (data.rows.index  === 0) {
              cell.styles.cellPadding = 0;
              cell.styles.halign = 'left';
            }
        },showFoot: 'lastPage',});
if (typeof doc.putTotalPages === 'function') {
    doc.putTotalPages(totalPagesExp);
}

doc.save("reports.pdf");
$("#loading").hide();

});

我的第一个PDF:

enter image description here

我的第二个PDF问题

enter image description here

我在2个PDF中使用了相同的代码。希望有人可以解决问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...