我正在使用Jspdf库从HTML到pdf获取结果。所以在我的情况下,为什么我在垂直而不是水平方向得到这个结果? 我的HTML模板代码是
<table id="customers" class="table-wide">';
htmlStr += '<thead></thead>';
htmlStr += '<tbody></tbody>';
htmlStr += '</table>';
我在这个For循环中得到这个结果并从ID
获得 for(var i = 0; i < features.length; ++i)
{
if(features[i].geometry != null){
var data = features[i].attributes.data;
tr = $('<tr></tr>');
layer.fields.each(function(field) {
var td = $('<td></td>');
if(data[field.id] != null)td.text(data[field.id]);
//console.log(td);
console.log(JSON.stringify(data[2353]));
tr.append(td);
}
对于代码生成,我这样做。
var pdf = new jsPDF('p', 'pt', 'letter');
source = $('#customers')[0];
specialElementHandlers = {
'#bypassme': function (element, renderer) {
return true
}
};
margins = {
top: 80,
bottom: 60,
left: 40,
width: 522
};
pdf.fromHTML(
source,
margins.left,
margins.top, {
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},
function (dispose) {
// pdf.save('Test.pdf');
});
pdf.output('dataurlnewwindow');
}
// pdf.save('Test.pdf');
});
pdf.output('dataurlnewwindow');
}
答案 0 :(得分:0)
将要导出的内容包装在容器中。并确保您的表格正确生成
这里#content
是容器。定位容器的内部HTML内容。
<div id="content">
<p>This is a demo for exporting PDF from html using jsPDF.
</p>
<br>
<table id="demo" class="table table-bordered">
<thead>
<tr>
<th>Serial Number</th>
<th>Name</th>
<th>Percentile</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>James</td>
<td>8.9</td>
</tr>
<tr>
<td>2</td>
<td>Harry</td>
<td>7.6</td>
</tr>
</tbody>
</table>
<div>
<button class="btn" id="export">Save</button>
</div>
</div>
&#13;
//Html source
var source = document.getElementById('content').innerHTML;
var margins = {
top: 10,
bottom: 10,
left: 10,
width: 700
};
doc.fromHTML(
source, // HTML string or DOM elem ref.
margins.left,
margins.top, {
'width': margins.width,
'elementHandlers': specialElementHandlers
},
function(dispose) {
// dispose: object with X, Y of the last line add to the PDF
// this allow the insertion of new lines after html
doc.save('Test.pdf');
}, margins);
&#13;
请参阅此处了解更详细的实施https://jsfiddle.net/Purushoth/bor1nggb/
同样对于表格导出,您可以使用jsPDF-Autotable插件。 以下是自定义表的更多示例。 https://simonbengtsson.github.io/jsPDF-AutoTable/