在nodejs中使用pdfkit创建pdf文件

时间:2014-03-26 14:47:09

标签: node.js pdf pdf-generation pdfkit

我需要在node.js中使用pdfkit生成pdf文件:

我有这段代码:

doc = new PDFDocument;
doc.pipe; fs.createWriteStream('output.pdf');

doc.fontSize(15);
doc.text('Generate PDF!');

doc.end();

它将创建一个pdf文件:' output.pdf' ,但每次打开文件时,文件都已损坏。它说:'无法打开文档文件类型纯文本文档(text / plain)不受支持'

然后我尝试了:

doc = new PDFDocument;
doc.pipe fs.createWriteStream('output.pdf');

doc.fontSize(15);
doc.text('Generate PDF!');

doc.end();

但是有一个错误说:

doc.pipe fs.createWriteStream('output.pdf');
         ^^
Syntax error: Unexpected Identifier

那么,在nodejs中生成pdf文件的正确方法是什么?特别是部分:

doc.pipe fs.createWriteStream

请帮帮我。提前谢谢!

4 个答案:

答案 0 :(得分:9)

他们的大多数文档似乎都是用CoffeeScript编写的。就像CoffeeScript一样酷,这对我们这些写普通旧JS的人来说很痛苦。

因此,在文档中看到空格的任何地方,您都应该能够将该函数包装在括号中:

doc.pipe(fs.createWriteStream('output.pdf'));

答案 1 :(得分:1)

在此之前你必须先调用fs模块。 在文件顶部添加:

var fs = require('fs');

答案 2 :(得分:1)

它对我有用:

doc.pipe(fs.createWriteStream('output.pdf'));

答案 3 :(得分:1)

尝试这段代码。

const fs = require('fs');
const PDFDocument = require('pdfkit');

let options = {
 margins: 50
// you pdf settings here.
}
const doc = new PDFDocument(options);
    let out = fs.createWriteStream('output.pdf')
    doc.pipe(out);
    doc.text('Hellow World.')
    doc.end();
    out.on('finish', function() {
    // what you want to do with the file.
    });