使用jsPDF时如何保留一些格式和段落?

时间:2014-09-06 18:25:17

标签: jquery html pdf pdf-generation jspdf

好的,所以我为健身房制作了一个基本的表格。我希望能够使用jsPDF下载该表。截至目前,我已经能够将表格下载得很好,但有些东西我无法上班。

首先,在我的生活中,我无法在下载的PDF中将表格全宽。我已经阅读了几十篇关于jsPDF的帖子,但没有任何东西可以解决这个问题!

其次,每个单元格中的信息位于3个不同的p标记中,因此应该位于三个不同的行上,但它会将这些行混合在一起。

第三,我希望细胞保持文本对齐中心。

下面的jsFiddle显示我已经得到了,但是这最后三个项目真的开始让我感到烦恼,我已经研究了它没有运气......

http://jsfiddle.net/xzZ7n/695/

function demoFromHTML() {
var pdf = new jsPDF('p', 'pt', 'letter');
source = $('#editor')[0];

specialElementHandlers = {
    // element with id of "bypass" - jQuery style selector
    '#bypassme': function (element, renderer) {
        // true = "handled elsewhere, bypass text extraction"
        return true
    }
};
margins = {
    top: 30,
    bottom: 30,
    left: 40,
    width: '100%'
};

pdf.fromHTML(
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
    'width': margins.width, // max width of content on PDF
    'elementHandlers': specialElementHandlers
},

function (dispose) {

    pdf.save('Test.pdf');
}, margins);
}

1 个答案:

答案 0 :(得分:3)

包括html2canvas,然后使用pdf.addHTML()代替pdf.fromHTML()。它很棒。我使用它,它保留了我的所有样式。

这是我的代码:

 var pdf = new jsPDF('p', 'pt', 'letter');
 pdf.addHTML($('#NameOfTheElementYouWantToConvertToPdf')[0], function () {
     pdf.save('Test.pdf');
 });