我正在使用 Express JS 创建一个虚拟电子商务应用程序。 我创建了订单和虚拟付款功能。如果订单成功下达,我想创建一份 pdf 订单发票并使用 Sequelize 存储在 MySQL 数据库中。可以发送到用户的电子邮件地址或由用户根据请求下载。
在node.js中生成具有复杂格式的pdf的一种方法是https://www.npmjs.com/package/html-pdf-node
您可以使用 html 生成具有复杂格式的表格,并且该库将生成您可以存储在磁盘或对象存储上的 pdf。
var html_to_pdf = require('html-pdf-node');
let options = { format: 'A4' };
// request handler
router.get('/', async (req, res) => {
let file = { content: "<table><tbody><tr><td>Welcome to html-pdf-node</td></tr></tbody>/table>" };
html_to_pdf.generatePdf(file, options).then(pdfBuffer => {
console.log("PDF Buffer:-", pdfBuffer);
// save pdfBuffer to disk or object store and save url in database record
});
});