【问题标题】:QPDF in node child_process: can't find file节点 child_process 中的 QPDF:找不到文件
【发布时间】:2016-02-10 19:37:13
【问题描述】:

我正在尝试执行 qpdf 将多个 pdf 文件合并为一个。简单地说,我的代码需要从节点执行命令,但它总是返回一个错误,说找不到 pdf 文件。这是可能的最简单的代码(fileNames 是一个...文件名的数组):

command = "qpdf --empty --pages #{fileNames.join ' '} -- #{key}.pdf"
require('child_process').exec command, (err, stdout, stderr) ->
    console.log err, stdout, stderr

错误包含

{ [Error: Command failed: open 1fc31c0c61f1413bb273042fb9ac47aa_1.pdf: No such file or directory] 
killed: false, code: 2, signal: null }

pdf 文件和节点进程在同一个文件夹中,如果将命令复制并粘贴到终端中,一切都会按预期工作。

qpdf 语法是

qpdf --empty --pages file1.pdf file2.pdf fileN.pdf -- output.pdf

起初我认为可能是 qpdf 本身的问题,但是当我尝试另一个程序 (pdfmerge) 时,发生了同样的错误。

这与 child_process 执行有关吗?

【问题讨论】:

    标签: node.js pdf child-process


    【解决方案1】:

    对于寻找答案的人来说,不仅要确保文件在那里,还要确保文件在查找时完成。这是我的情况,子进程完成但文件写入没有。

    我找到的解决方案是将 pdf 流式传输到节点端的文件并链接部分 pdf 执行,因此它只会在完成写入文件时调用下一个 pdf 处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-11
      • 2019-11-07
      • 1970-01-01
      • 2019-06-28
      • 2017-09-09
      • 2016-04-13
      • 1970-01-01
      • 2017-06-09
      相关资源
      最近更新 更多