Javascript 动态表的jspdf自动表

Javascript 动态表的jspdf自动表,javascript,html,jquery,Javascript,Html,Jquery,我使用了自动表格来动态生成表格。它将根据rsponse显示1、2或3个表格。但不超过3个表。我希望在单行中显示“对齐两个表”。如果出现第三个表,则将显示在表下方。 我已经试过了 对于我来说,如果第一个和第三个表格出现,它将在左侧第一行显示第一个,在第一个表格下面显示第三个,我想在第一行显示右侧 函数生成(增强){ 组1='1'; 第2组=''; 组3='1'; //const doc=新的jsPDF('l','mm'); const doc=新的jsPDF('p','pt','a4');

我使用了自动表格来动态生成表格。它将根据rsponse显示1、2或3个表格。但不超过3个表。我希望在单行中显示“对齐两个表”。如果出现第三个表,则将显示在表下方。 我已经试过了

对于我来说,如果第一个和第三个表格出现,它将在左侧第一行显示第一个,在第一个表格下面显示第三个,我想在第一行显示右侧

函数生成(增强){
组1='1';
第2组='';
组3='1';
//const doc=新的jsPDF('l','mm');
const doc=新的jsPDF('p','pt','a4');
var i=0;
if(组1.长度){
i+=1;
如果(i%2==0){
警报(“偶数”);
displayposition='left';
}否则{
警报(“奇数”);
displayposition='right';
}
var res=doc.autoTableHtmlToJson(document.getElementById('geo_summarynew');
文件文本(7、15,“截至7月的管道”);
文档自动表(res.列、res.数据、{
星期三:30,,
showHead:“首页”,
样式:{溢出:“隐藏”,字体大小:5},
边距:{右:305},
});}
if(组2.长度){
i+=1;
如果(i%2==0){
警报(“偶数”);
displayposition='left';
}否则{
警报(“奇数”);
displayposition='right';
}
var res3=doc.autoTableHtmlToJson(document.getElementById('group2new');
文件文本(7、15,“收盘价”);
文档自动表(res3.columns、res3.data、{
星期三:30,,
showHead:“首页”,
样式:{溢出:“隐藏”,字体大小:5},
边距:{左:305},
});}
if(组3.长度){
i+=1;
如果(i%2==0){
警报(“偶数”);
displayposition='left';
}否则{
警报(“奇数”);
displayposition='right';
}
var res4=doc.autoTableHtmlToJson(document.getElementById('group3new');
文档自动表(res4.columns、res4.data、{
起始日期:doc.lastAutoTable.finalY+50,
showHead:“首页”,
样式:{溢出:“隐藏”,字体大小:5},
边距:{右:305},
});}
保存文档(“测试报告”);
}

制作PDF
管道值
合格的298156520提交的建议书5022949308
管道值
闭馆时间:6515712559
机会线计数
闭合损耗156

你做的每件事都很好。只是稍微修改了你的代码

我测试了2个案例:3个表和2个表

这是样品。我希望结果如你所料,我的朋友:))

function generate(enhance) {
    group1='1';
    group2=''; 
    group3='1';
    
  //const doc = new jsPDF('l', 'mm');
 const doc = new jsPDF('p', 'pt', 'a4');
 var i=0;
 if(group1.length){
     i+=1;
     if ( i % 2 == 0) {    
    displayposition='left';
}else{    
    displayposition='right';
}

  var res = doc.autoTableHtmlToJson(document.getElementById('geo_summarynew'));
  doc.text(7, 15, "Pipeline as of july");
 doc.autoTable(res.columns, res.data,{
   
         startY: 30,
    showHead: 'firstPage',
    styles: { overflow: 'hidden' ,fontSize:5},
    margin: { right: 305 },
  });}
 if(group2.length){
     i+=1;
     if ( i % 2 == 0) {    
    displayposition='left';
}else{    
    displayposition='right';
}
  var res3 = doc.autoTableHtmlToJson(document.getElementById('group2new'));
  doc.text(300, 15, "close won ");
 doc.autoTable(res3.columns, res3.data,{
   
         startY: 30,
    showHead: 'firstPage',
    styles: { overflow: 'hidden',fontSize:5 },
    margin: { left: 305 },
  });}
 if(group3.length){
     i+=1;
     if ( i % 2 == 0) {    
    displayposition='left';
}else{    
    displayposition='right';
}
  var res4 = doc.autoTableHtmlToJson(document.getElementById('group3new'));
  
  let start_y = 30;
  let margin_left = 0;
  let margin_right = 0;
  if(group2.length){
    start_y = doc.lastAutoTable.finalY + 50;
    margin_right = 305;
    margin_left = 40;
    }
    else{   
    margin_left = 305;
    margin_right = 40;
    }
  
 doc.autoTable(res4.columns, res4.data,{
   
         startY: start_y,
    showHead: 'firstPage',
    styles: { overflow: 'hidden' ,fontSize:5},
    margin: { left: margin_left, right: margin_right },
  });
}
   doc.save('test Report');
  }