如何在节点js中创建pdf文件

时间:2016-08-04 12:19:27

标签: javascript node.js mongodb pdf chart.js

我正在使用sails框架在node.js中创建一个应用程序。我想以PDF格式创建报告。该报告需要包含使用chart.js生成的图表。数据从mongodb获取并显示在canvas上。如何使用node.js创建此图表的PDF文件?

2 个答案:

答案 0 :(得分:2)

PDFKit

安装:

npm install pdfkit

示例:

var PDFDocument = require('pdfkit');

doc = new PDFDocument;    
doc.pipe(fs.createWriteStream('output.pdf'));    
doc.font('fonts/PalatinoBold.ttf').fontSize(25).text(100, 100);

答案 1 :(得分:1)

您可以使用 pdf-creator-node 包创建PDF

以下是在Node Application中创建PDF的步骤

  1. 安装通过以下命令安装pdf创建程序包

      

    npm i pdf创建者节点

  2. 添加必需的程序包并阅读HTML模板

      

    //必需的包
      var pdf = require(“ pdf-creator-node”)
      var fs = require('fs')

         

    //阅读HTML模板
      var html = fs.readFileSync('template.html','utf8')

  3. 创建HTML模板

<!DOCTYPE html>
 <html>
    <head>
        <mate charest="utf-8" />
        <title>Hello world!</title>
    </head>
    <body>
        <h1>User List</h1>
        <ul>
            {{#each users}}
            <li>Name: {{this.name}}</li>
            <li>Age: {{this.age}}</li>
            <br>
        {{/each}}
        </ul>
    </body>
</html>                                        

  1. 根据需要提供格式和方向

      

    “高度”:“ 10.5英寸”,//允许的单位:毫米,厘米,英寸,像素
      “ width”:“ 8in”,//允许的单位:mm,cm,in,px

         

    或-

         

    “格式”:“字母”,//允许的单位:A3,A4,A5,合法,字母,小报   “ orientation”:“ portrait”,//纵向或横向

         

    var options = {       格式:“ A3”,       方向:“肖像”,       边框:“ 10mm”   };

  2. 为输出提供HTML,用户数据和pdf路径

var users = [
    {
        name:"Shyam",
        age:"26"
    },
    {
        name:"Navjot",
        age:"26"
    },
    {
        name:"Vitthal",
        age:"26"
    }
]
var document = {
    html: html,
    data: {
        users: users
    },
    path: "./output.pdf"
};

  1. 设置所有参数后,只需将文档和选项传递给pdf.create方法即可。

pdf.create(document, options)
    .then(res => {
        console.log(res)
    })
    .catch(error => {
        console.error(error)
    });