我使用html-pdf在电子生成pdf从html。
当我用“npm run start”测试时,它工作了。我可以得到pdf。
但是当我用electron-builder把电子应用打包成.dmg文件时,
我得到了“spawn ENOTDIR”错误时,调用pdf.create()
var pdf = require('html-pdf');
var options = { format: 'Letter' };
//resultFilePath = /Users/myname/Documents/result.pdf
pdf.create(htmlContent, options).toFile(resultFilePath, function(err, res)
{
}
我现在不知道。有人有同样的问题吗?
任何帮助都将不胜感激。
3条答案
按热度按时间s71maibg1#
html-pdf在打包后可能无法找到幻影二进制文件。
尝试通过html-pdf选项显式设置phantomJS二进制位置。
您可能还需要设置options.script以指向html-pdf模块中的
pdf_a4_portrait.js
副本。其他人也遇到过类似的问题。参见https://discuss.atom.io/t/asar-limitations-on-node-api-spawn-a-child/28235/2
plicqrtu2#
然后在options json对象中
之后,使用如下选项对象创建PDF:
使用phantomPath像这样,希望这工作。它为我工作。
t30tvxxf3#
对于任何人遇到问题时,在电子打印。
在一个可见的窗口中打开打印内容是很好的解决方案,我在How to print a DIV in ElectronJS中遵循了zen的答案
适用于Windows和MacOS。