Angularjs - 使用pdfmake.js将HTML格式化为pdf

时间:2017-10-11 17:09:29

标签: javascript angularjs

使用pdfmake.js在javascript中生成pdf。但如果内容太大,它会生成一个空白文档。使用html2canvas创建画布并使用它创建pdf。怎么解决这个问题?

self.exportAsCanvas = function (contentObject, fileName, heading) {
    var useWidth = $(contentObject)[0].offsetWidth;
    var useHeight = $(contentObject)[0].offsetHeight;
    //var graphContent = angular.element(contentObject).find('.graph-content');

    html2canvas(contentObject, {
        onrendered: function (canvas) {
            document.body.appendChild(canvas);
            var data = canvas.toDataURL();

            var docDefinition = {
                header: { text: heading, style: 'header' },
                footer: {
                    columns: [
                        { text: 'Copyright © 2015 H&R Block. All Rights Reserved.', alignment: 'center',fontSize: 11 }
                    ]
                },                       
                pageOrientation: self.pageOrientation,
                content: [{
                    image: data,
                    fit: [1000, 1100]
                    //width: 500,
                    //height:1100
                }],
                styles: {
                    header: {
                        fontSize: 14,
                        bold: true,
                        alignment: 'center',
                        margin: [0, 10, 0, 10]
                    }
                }
            };

            pdfMake.createPdf(docDefinition).download(fileName + ".pdf");
        },
        width: useWidth,
        height: useHeight
    });
};

1 个答案:

答案 0 :(得分:-1)

您应该尝试实施分页符:

 Sub a()
      ActiveSheet.Range("B2:B7").FormulaR1C1 = "=VLOOKUP(RC[-1],R2C4:R7C5,2,FALSE)"
 End Sub