幻影html-to-pdf文档已损坏

时间:2018-08-26 03:49:26

标签: node.js phantomjs ejs html-to-pdf

我正在使用Phantom-html-to-pdf创建文档。在我的节点应用程序中,我使用EJS模板创建HTML字符串,然后将文档保存到文件夹中。

在我的EJS文件中,我导入了css文件,但是对于20%的PDF生成的css似乎没有加载。 所以错误是字体没有加载,即使使用后备字体,我也得到了空白PDF

我的功能:

function createPdf  (data, template, directory) {

    var options = {};
    var type = template.indexOf('avoir') >= 0 ? true : false
    var tva = [];
    var items = listeItem(data);
    var list = calculeTva(data.Liste_item, type);

    Societe.findOne({}, (err, doc) => { 
        data.Liste_tva = list ;
        data.societe = doc ;
        data.items = items ;

        var html = ejs.renderFile(__dirname + `/template/${template}.ejs`,  {data: data}, options, function(err, str){
            if(err){
                return err
            }
            return str
        });

        var option = {
            html : html,
        }

        var filename = directory === 'archive' ? data.Référence + '-' + Date.now() : data.Référence;

        var conversion = require("phantom-html-to-pdf")(); 

        // var conversion = require("phantom-html-to-pdf")({
        //     phantomPath: require("phantomjs-prebuilt").path
        // });

        conversion({ 
            html: html, 
            paperSize: {
                format: 'A4',
                orientation: 'portrait',
                margin: {bottom: '0cm', left: '0.5cm', right: '0.5cm', top: '0.5cm'},
            }
        }, function(err, pdf) {
            console.log('ERR', err)
            var output = fs.createWriteStream(`documents/${directory}/${filename}.pdf`)
            pdf.stream.pipe(output);

            response = {success: false, err: err}
            return response        

        });

    });
}

我的EJS:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="UTF-8">
	<link 	rel="stylesheet" href="https://mywebsite.com/css/uikitx.css" />
	<link  	href="https://mywebsite.com/css/custom.css" rel="stylesheet"/>
</head>
<body style="font-family: 'AvenirNext', Helvetica, sans-serif;">

我真的坚持这个,知道吗?

谢谢

0 个答案:

没有答案