2017-03-07 103 views
1

我使用的是HTML to PDF converter that uses phantomjs和方式来使用它是这样的:如何在客户端运行PhantomJS?

npm install -g html-pdf 

var fs = require('fs'); 
var pdf = require('html-pdf'); 
var html = fs.readFileSync('./test/businesscard.html', 'utf8'); 
var options = { format: 'Letter' }; 

pdf.create(html, options).toFile('./businesscard.pdf', function(err, res) { 
    if (err) return console.log(err); 
    console.log(res); // { filename: '/app/businesscard.pdf' } 
}); 

,并在命令行状html-pdf test/businesscard.html businesscard.pdf

现在我的问题是,如果我想使用的运行它它在客户端,而不是通过命令行输入,我可以使用它与一个按钮或类似的东西。

我已经试过了,但我缺少像child_processfs(webpack problem but fixed)这样的模块。

有没有办法在客户端做到这一点?

回答

2

有没有办法在客户端做到这一点?

取决于您对客户的定义。如果你的意思是浏览器,那么不,不可能*。如果您的业务流程允许创建和分发独立的桌面应用程序,那么可以。

我可以使用它与一个按钮或类似的东西。

您可以使用框架来构建桌面应用程序,如NW.jsElectron。作为基本的node.js应用程序,它们允许使用任何节点模块,以及使用HTML和CSS进行简单GUI构建的好处。


*还有一种方法可以在浏览器中实现 - 将其转化为web服务。您可以通过一个带有按钮的网页来触发启动html-pdf脚本的服务器端脚本。 “

+0

”您可以通过一个带有按钮的网页来触发启动html-pdf脚本的服务器端脚本。“你的意思是将运行一个shell脚本的代码? – FewFlyBy