【问题标题】:Can't access a file by command while execution of code in Node JS在Node JS中执行代码时无法通过命令访问文件
【发布时间】:2018-01-29 07:10:20
【问题描述】:

我在运行时通过 Node 创建一个文件 [HTML] 并通过命令行将其转换为 PDF。 HTML 创建成功,即使 PDF 文件也创建成功但为空。

我检查了创建的 HTML 文件是否包含数据,但我猜命令行无法读取。这是我的代码:

创建 HTML 文件:

var getPdf=function (html,fileName,callback) {
 fs.writeFile("./pdf/"+fileName+".html", html,'utf8', function(err) {
     if(err) {
         return callback(err,[]);
     }
     fs.readFile("./pdf/"+fileName+".html","utf8", (err, data) => {
           if (err) throw err;
        console.log(data);
    });
     return callback(err,fileName);
  });
 }

在 HTML 创建后创建 PDF:

var html="<html><head><title>Hello World</title></head><body><h1>Hello 
   Sarath!</h1></body></html>";
  getPdf(html,'sarath',function (err, fileName) {
    if(err) {
       console.log("Error: "+err);
       return false;
     }
     var cmd="xvfb-run wkhtmltopdf ./pdf/"+fileName+" ./pdf/"+fileName+".pdf";
     console.log(cmd);
     exec(cmd,function(err,stdout,stderr){
        if(err) {
           return console.log(err);;
        }
        console.log("PDF Created!",stdout);
     });

 });

【问题讨论】:

  • 可能您错过了源文件扩展名。尝试将您的命令更改为xvfb-run wkhtmltopdf ./pdf/sarath.html ./pdf/sarath.pdf
  • 我没有。实际上,pdf文件已创建但为空。因为它无法读取文件
  • @NataZakharchuk 听起来不错。由于未正确引用源文件 (html),PDF 正在创建空白。您需要添加.html

标签: javascript html node.js pdf wkhtmltopdf


【解决方案1】:

找不到文件,因为你错过了扩展名

var html="<html><head><title>Hello World</title></head><body><h1>Hello 
   Sarath!</h1></body></html>";
  getPdf(html,'sarath',function (err, fileName) {
    if(err) {
       console.log("Error: "+err);
       return false;
     }
     var cmd="xvfb-run wkhtmltopdf ./pdf/"+fileName+".html ./pdf/"+fileName+".pdf";
     console.log(cmd);
     exec(cmd,function(err,stdout,stderr){
        if(err) {
           return console.log(err);;
        }
        console.log("PDF Created!",stdout);
     });

 });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-14
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多