我正在使用sails框架在node.js
中创建一个应用程序。我想以PDF格式创建报告。该报告需要包含使用chart.js
生成的图表。数据从mongodb获取并显示在canvas
上。如何使用node.js创建此图表的PDF文件?
答案 0 :(得分:2)
安装:
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的步骤
安装通过以下命令安装pdf创建程序包
npm i pdf创建者节点
添加必需的程序包并阅读HTML模板
//必需的包
var pdf = require(“ pdf-creator-node”)
var fs = require('fs')//阅读HTML模板
var html = fs.readFileSync('template.html','utf8')
创建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>
根据需要提供格式和方向
“高度”:“ 10.5英寸”,//允许的单位:毫米,厘米,英寸,像素
“ width”:“ 8in”,//允许的单位:mm,cm,in,px或-
“格式”:“字母”,//允许的单位:A3,A4,A5,合法,字母,小报 “ orientation”:“ portrait”,//纵向或横向
var options = { 格式:“ A3”, 方向:“肖像”, 边框:“ 10mm” };
为输出提供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"
};
pdf.create(document, options)
.then(res => {
console.log(res)
})
.catch(error => {
console.error(error)
});