Tag: pdftotext

使用两个命令(使用pipe道|)产生

我正在将文档转换为内存中的pdf(unoconv),并在terminal中打印(pdftotext): unoconv -f pdf –stdout sample.doc | pdftotext -layout -enc UTF-8 – out.txt 工作中。 现在我想用child_process.spawn使用这个命令: let filePath = "…", process = child_process.spawn("unoconv", [ "-f", "pdf", "–stdout", filePath, "|", "pdftotext", "-layout", "-enc", "UTF-8", "-", "-" ]); 在这种情况下,只有第一个命令(在|之前)正在工作。 我可以做我想要的吗? 谢谢。 最新情况: 结果: sh -c- …. bash-3.2$ sh -c- unoconv -f pdf –stdout /Users/fatimaalves/DEV/xx/_input/sample.doc | pdftotext -layout -enc […]

在AWS NodeJS Lambda函数中包含来自poppler的pdftotext

我正在使用节点模块pdf-to-text为我的Nodejs lambda函数,但我得到一个“ spawn pdftotext ENOENT ”错误。 我尝试启动AWS EC2实例并使用此脚本编译poppler。 我设法得到S3上的一个tar.gz文件,其中包含一个popplar文件,里面有一个bin和lib文件夹。 但是,当我参考poppler文件放在一个bin文件夹中,像这样: process.env['PATH'] = process.env['PATH'] + ':' + path.join(process.env['LAMBDA_TASK_ROOT'], '/bin/poppler'); 这没有用。 我有一个spawn ENOTDIR错误。 然后我解压缩它,并尝试引用文件内的bin文件夹:'bin / bin',但是我得到了一个spawn EACCES错误。 我试着直接引用“bin / pdftotext”,并再次得到了spawn ENOTDIR错误。 有没有人有任何运气把这个库的lambda函数? TL; DR,我想在我的lambda函数中运行命令spawn('pdftotext') 。 取得了一些进展,我在poppler文件夹上做了一个chmod,现在我得到这个错误: Error: pdf-text-extract command failed: pdftotext: error while loading shared libraries: libpoppler.so.56: cannot open shared object file: No such file or directory

如何等待小溪完成pipe道? (的NodeJS)

我有一个承诺的循环数组,所以我用Promise.all来通过它们,然后调用。 let promises = []; promises.push(promise1); promises.push(promise2); promises.push(promise3); Promise.all(promises).then((responses) => { for (let i = 0; i < promises.length; i++) { if (promise.property === something) { //do something } else { let file = fs.createWriteStream('./hello.pdf'); let stream = responses[i].pipe(file); /* I WANT THE PIPING AND THE FOLLOWING CODE TO RUN BEFORE NEXT ITERATION OF FOR […]