使用.text方法

时间:2016-04-01 03:08:00

标签: javascript jquery jspdf

有人可以告诉我如何让jspdf中的文字像标题一样重复。如果我添加这样的文本(jspdf.text(x,y,'test'),它只会在第一页上添加!

注意:我已经在此文档上有一个标题但是在带有<header>标记的html中完成了。我想附加那种。我必须以这种方式添加文本作为jspdf对齐问题的解决方法。

var pdf = new jsPDF('p', 'pt', 'letter');
pdf.rect(430, 20, 125, 50);
pdf.text('Order', 430, 35);
pdf.autoTableHtmlToJson
source = $('#content')[0]; //table Id

1 个答案:

答案 0 :(得分:0)

我最终破解了整个jspdf.debug.js代码并向其添加了大量的if语句,以便解决我如何呈现表格的问题。以下几个例子:

- 标题的单元格高度很大

   if (printHeaders) {
//changed by me on 4/5/16 to calculate lineheight manually
var lineHeight = 20;//this.calculateLineHeight(headerNames, columnWidths, headerPrompts.length?headerPrompts:headerNames);

我遇到了一个问题,一旦我将表添加到我的标题中,文档就重复了我的MAIN DATA表的标题中的最后一个标题,该表有100条或更多条记录(因此它重复了多个页面并且页面2+出错了报头)

// Store the table header config  
        //changed by me
        this.setTableHeaderRow(tableHeaderConfigs);
        if (tableHeaderConfigsMain != undefined) {
            if (tableHeaderConfigsMain.length > 0) {
                this.setTableHeaderRowMain(tableHeaderConfigsMain);
            }
        }

- 我把它添加到构造标题行的for循环中(我的主表有5列)

        if (headerNames.length == 5) {
            tableHeaderConfigsMain.push([x, y, columnWidths[header], lineHeight, String(headerPrompts.length ? headerPrompts[i] : header)]);
}   

- 将其添加到打印标题行函数

if (this.tableHeaderRowMain != undefined && new_page) {
    if (this.tableHeaderRowMain.length > 0) {
        this.tableHeaderRow = this.tableHeaderRowMain;
    }
}

- 在tabletojson函数中,我将其更改为手动设置表格

if(table.id=='rightAlignTable'){
                headers[i] = {
                    name : cell.textContent.toLowerCase().replace(/\s+/g, ''),
                    prompt: 'Date', //cell.textContent.replace(/\r?\n/g, ''),
                    width : 100 //(cell.clientWidth / table_with) * renderer.pdf.internal.pageSize.width

                };
                headers[1] = {
                    name : cell.textContent.toLowerCase().replace(/\s+/g, ''),
                    prompt: 'PO #',//cell.textContent.replace(/\r?\n/g, ''),
                    width : 100 //(cell.clientWidth / table_with) * renderer.pdf.internal.pageSize.width
                };
            }

- 我还在**** TABLE RENDERING ****部分手动更改了表格:

            if (cn.id === "rightAlignTable") {
                x = 425;
                y = 25;
            }