所以我一直致力于一个项目,它要求我将办公室文件转换为PDF和随后的图像。我已经编写并将所有内容集成到一个node.js脚本中,但由于某种原因,脚本继续绕过同步子进程创建。这是代码:
down.download(parsed_url);
var f_name=obj.doc;
var ext=f_name.slice(f_name.length-4);
var w_path="C:\\Users\\Akshay\\Desktop\\conv_Scripts\\word_pdf.ps1";
var e_path="C:\\Users\\Akshay\\Desktop\\conv_Scripts\\excel_pdf.ps1";
var p_path="C:\\Users\\Akshay\\Desktop\\conv_Scripts\\power_pdf.ps1";
var file_name=f_name.slice(0,f_name.length-5);
console.log(ext);
console.log(f_name);
console.log(file_name);
if(ext==="docx"){
word.wordpdf(w_path);
}
else if(ext==="xlsx"){
excel.excelpdf(e_path);}
else if(ext==="pptx"){
ppt.pptpdf(p_path);
console.log("Done converting to PD");
}
else if(ext==".pdf"){
img.img(f_name);
}
else{
console.log("Can't convert to PDF");
}
crawlpdf.crawlpdf(file_name,function(collect){
collect.forEach(function(col){
img.img(col);
console.log('Done!');
});
wordpdf,excelpdf和pptpdf函数在结构上是相同的。我将在这里写下wordpdf模块的代码:
var spawn=require('child_process').spawnSync,
child;
exports.wordpdf=function(filepath){
child=spawn("powershell.exe",[filepath]);
};
麻烦的是,当我执行脚本时,它显示“完成转换为PD”(因为下载的文件是ppt)但我找不到下载文件的任何pdf。路径中的.ps1脚本已经过测试,没有问题。如果你可以解决一些问题,对我来说真的是一个巨大的帮助。
感谢。
答案 0 :(得分:0)
好吧,如果有其他人遇到与此问题相同的问题,请点击以下解释:
来自RabbitMQ消息队列的消息很小。当消息到达时它会迅速消耗,导致代码中的竞争条件。为了获得更好和更准确的性能,请尝试解析并将消息写入文件,然后使用异步模块执行必要的步骤。