0

以下是相关代码。

        let Name = moment().unix() + ".pdf";
        var html = fs.readFileSync('./test/businesscard.html', 'utf8');
        let filename = "C:\\App\\Register\\pdf\\" + Name;
        pdf.create(html, options).toFile(filename, function (err, response) {
          if (err) {
             res.status(403).json({
               message: 'error'
             })
           } else {
              res.status(200).json({
               message: 'success'
             })

           }
    }

它在开发版本上工作正常并创建 PDF 文件。但是当我创建一个电子构建包时,没有生成 pdf 文件。

如果有任何解决方案,那将是一个很大的帮助

4

1 回答 1

1

您应该使用app.getAppPath()为打包的应用程序使用绝对路径。

替换此行

var html = fs.readFileSync('./test/businesscard.html', 'utf8');

这样

var html = fs.readFileSync(path.join(app.getAppPath(), '/test/businesscard.html', 'utf8'));

并且不要忘记添加

const path = require('path')
const app = require('electron').remote.app
于 2019-04-15T10:09:18.170 回答