Reputation: 111
I need to generate pdf file in using pdfkit in node.js:
I have this code:
doc = new PDFDocument;
doc.pipe; fs.createWriteStream('output.pdf');
doc.fontSize(15);
doc.text('Generate PDF!');
doc.end();
And it will create a pdf file: 'output.pdf' , but everytime I open the file, the file is corrupted. It says: 'Unable to open document File type plain text document (text/plain) is not supported'.
And then I tried:
doc = new PDFDocument;
doc.pipe fs.createWriteStream('output.pdf');
doc.fontSize(15);
doc.text('Generate PDF!');
doc.end();
But there's an error saying:
doc.pipe fs.createWriteStream('output.pdf');
^^
Syntax error: Unexpected Identifier
Then, what is the right way to generate pdf files in nodejs? Especially in part of:
doc.pipe fs.createWriteStream
Please help me. Thanks in advance!
Upvotes: 5
Views: 11323
Reputation: 1080
Try this piece of code.
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.
});
Upvotes: 2
Reputation: 131
Most of their documentation seems to be written in CoffeeScript. As cool as CoffeeScript is, that makes it a pain for those of us writing plain old JS.
So, anywhere you see spaces in their documentation, you should be able to wrap that function in parenthesis:
doc.pipe(fs.createWriteStream('output.pdf'));
Upvotes: 9
Reputation: 19588
You have to call the fs
module before that.
Add this at the top of the file:
var fs = require('fs');
Upvotes: 1