问题描述
我对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:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)