javascript - pdfkit (Expressjs-Nodejs) 中的 HTML 表格

标签 javascript node.js express node-pdfkit

我正在使用 pdfkit 生成 PDF 文件,我想将此 PDF 文件发送到浏览器。我的以下代码运行良好,我得到了一份带有文本的 pdf。

实际上以下代码是在 Node.js 中使用 pdfkit 生成 PDF 的示例,但现在我想创建 html 表。

最新代码

var PDFDocument = require("pdfkit");
var fs = require("fs");
doc = new PDFDocument();
doc.pipe(fs.createWriteStream("out.pdf"));
doc.moveTo(300, 75)
    .lineTo(373, 301)
    .lineTo(181, 161)
    .lineTo(419, 161)
    .lineTo(227, 301)
    .fill("red", "even-odd");

var loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam in...";

doc.y = 320;
doc.fillColor("black");
doc.text(loremIpsum, {
    paragraphGap: 10,
    indent: 20,
    align: "justify",
    columns: 2
});
doc.pipe(res);
doc.end();

但我不知道如何使用 pdfkit 在 pdf 中生成 HTML 表格?

谁能帮我创建HTML表格PDF?

最佳答案

function example(){    
var doc = new PDFDocument();

var writeStream = fs.createWriteStream('filename.pdf');
doc.pipe(writeStream);
//line to the middle
doc.lineCap('butt')
  .moveTo(270, 90)
  .lineTo(270, 230)
  .stroke()

row(doc, 90);
row(doc, 110);
row(doc, 130);
row(doc, 150);
row(doc, 170);
row(doc, 190);
row(doc, 210);

textInRowFirst(doc, 'Nombre o razón social', 100);
textInRowFirst(doc, 'RUT', 120);
textInRowFirst(doc, 'Dirección', 140);
textInRowFirst(doc, 'Comuna', 160);
textInRowFirst(doc, 'Ciudad', 180);
textInRowFirst(doc, 'Telefono', 200);
textInRowFirst(doc, 'e-mail', 220);
doc.end();

writeStream.on('finish', function () {
  // do stuff with the PDF file
  return res.status(200).json({
    ok: "ok"
  });

});
}

function textInRowFirst(doc, text, heigth) {
  doc.y = heigth;
  doc.x = 30;
  doc.fillColor('black')
  doc.text(text, {
    paragraphGap: 5,
    indent: 5,
    align: 'justify',
    columns: 1,
  });
  return doc
}


function row(doc, heigth) {
  doc.lineJoin('miter')
    .rect(30, heigth, 500, 20)
    .stroke()
  return doc
}

Click show image result

关于javascript - pdfkit (Expressjs-Nodejs) 中的 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23625988/

相关文章:

javascript - 将数字转换为字母

javascript - 在 pug 和 node.js 中获取复选框选中的值

javascript - 使用常量优化 Node.js

node.js - 从nodejsexpress登录cakephp

javascript - 在React js中单击映射数组时获取索引

javascript - jquery - 获取尚未应用的类的 CSS 属性值

javascript - 我如何在 `LogoHeader` 组件中判断我在哪条路线

javascript - NodeJS : util. 检查内部有函数的对象

node.js - 在我的前端和后端之间创建一个 webhook

javascript - React Router 总是显示 IndexRoute