1

我正在使用 CloudConvert NodeJS 包。我有一个从远程服务器获取 PDF 然后从模板动态生成 docx 的过程。我正在尝试使用 CloudConvert 来组合这两个 pdf,但每当我这样做时,返回的文档只是重复两次的 docx。

我已经确认 CloudConvert 正在请求 PDF 和 Docx,而不仅仅是两次 docx。如果我用另一个 PDF 替换 Docx,它将成功地将两者结合起来,但两者的结合似乎效果不佳,即使他们的文档声明它是受支持的。

这是我的代码,它本质上是修改为包含我的本地文档的示例代码,我已经简化了一些路径并删除了我的域信息,但除此之外,我实现它的方式是真实的。

cloudconvert.createProcess({
    "mode": "combine",
    "outputformat": "pdf"
}, function(err, process) {
    if (err) {
        console.error('CloudConvert Process failed: ' + err);
    }                            

    process.start({
        "mode": "combine",
        "input": "download",
        "files": [
            '*domain*/packingslips/'+transaction.object_id+'.docx',
            '*domain*/shippinglabels/'+transaction.object_id+'.pdf'
        ],
        "outputformat": "pdf",
        "wait": true
    }, function(err, process){
        if (err) {
            console.error('CloudConvert Process failed: ' + err);
        }

        process.wait(function(err, process){
            if (err) {
                console.error('CloudConvert Process failed: ' + err);
            } else {
                console.log('Done: ' + process.data.message);    
                process.download(fs.createWriteStream('/integration/combinedpdfs/'+transaction.object_id+'.pdf'), null, function (err, process) {
                    if (err) {
                        console.error('CloudConvert Process download failed: ' + err);
                    } else {
                        console.log('Downloaded to ' + '/integration/combinedpdfs/'+transaction.object_id+'.pdf');
                    }
                });
            }                                    
        })
    });
});
4

1 回答 1

2

每个输入文件都必须有一个唯一的文件名。您可以使用参数覆盖输入名称filename。在你的情况下:

process.start({
    "mode": "combine",
    "input": "download",
    "files": [
        {"file": '*domain*/packingslips/'+transaction.object_id+'.docx', "filename": "template.docx"},
        {"file": '*domain*/shippinglabels/'+transaction.object_id+'.pdf', "filename": "other.pdf"}
    ],
    "outputformat": "pdf",
    "wait": true
}, ...)
于 2016-12-22T18:46:31.113 回答