jspdf或pdfmake无法正常工作?

时间:2017-01-31 14:13:32

标签: angular

我使用角度2, 现在我有一些数组格式的数据,我想将它们导出为PDF格式? 问题: 1-我有一些波斯语字符,jsPdf不支持这个字符。 2-我想使用pdfMake,我发现很多文档解释了如何包含所需的脚本,但是当我使用npm install安装pdfmake时, 我写pdfmake.createTalbe或其他方法,pdfmake无法识别,并使用require(“pdfmake”)无效。 请帮我解决这个问题, 如果你可以更详细地解释,因为我使用了很多文件但是 我使用webpack。 我无法解决我的问题 谢谢我的朋友们。

1 个答案:

答案 0 :(得分:0)

我成功使用此代码将jsPDF加载到Angular 2+服务中:

import { Injectable } from '@angular/core';
declare let require: any;
@Injectable()
export class PDFGeneratorService {
    private jsPDF;
    constructor () {
        require.ensure([
            'lib/jspdf/dist/jspdf.min'
        ], () => {
            this.jsPDF = require('lib/jspdf/dist/jspdf.min');
        }, 'jsPDF');
    }
    // Service methods
}

require.ensure在我的webpack包中创建一个代码分割点,因此只有在创建此服务时才会单独加载jPDF。如果你不想要,你可以使用require。 PDFMake应该也一样。请参阅此评论:https://github.com/bpampuch/pdfmake/issues/150#issuecomment-156143062

import { Injectable } from '@angular/core';
declare let require: any;
@Injectable()
export class PDFGeneratorService {
    private pdfMake;
    constructor () {
        require.ensure([
            'pdfmake'
        ], () => {
            this.pdfMake = require('pdfmake');
        }, 'pdfMake');
    }
    // Service methods
}