我正在尝试使用带有express的node.js中的phantom.js生成pdf。 我的js如下:
var express = require('express');
var router = express.Router();
var phantom = require('phantom');
router.get('/pdfDemo', function(req, res, next) {
var html = '<!DOCTYPE html><html><head><title>My Webpage</title></head>' +
'<body><h1>My Webpage</h1><p>This is my webpage. I hope you like it' +
'!</body></html>';
phantom.create(function (error, ph) {
ph.createPage(function (error, page) {
page.set('content', html, function (error) {
if (error) {
console.log('Error setting content: %s', error);
} else {
page.render('page.pdf', function (error) {
if (error) console.log('Error rendering PDF: %s', error);
});
}
ph.exit();
});
});
});
});
module.exports = router;
执行此操作时出现以下错误:
phantomjs-node: You don't have 'phantomjs' installed
/paht_to_file/WebStrom WorkSpace/PdfDemo/routes/pdf.js:21
ph.createPage(function (error, page) {
^
TypeError: Object Error: spawn ENOENT has no method 'createPage'
我使用webstrom作为开发环境。我是Node.js的新手,无法弄清楚这里有什么问题。有人可以帮忙吗?
答案 0 :(得分:1)
这与节点无关。您应该在计算机上安装phantomjs
。您可以通过执行brew install phantomjs
或apt-get install phantomjs
来执行此操作,具体取决于您的操作系统。