我使用Hummus-Recipe库,但工作正常,但我想创建一个接受文件数组的函数,将所有文件附加到一个文件上。
这是我的有效代码:
const filesRoot = './uploads';
router.route('/')
.get( async (request, response) => {
const src = filesRoot + '/one.pdf';
const appendedFile = filesRoot + '/two.pdf';
const appendedFile2 = filesRoot + '/three.pdf';
const output = filesRoot + '/new.pdf';
const recipe = new HummusRecipe(src, output);
recipe
.appendPage(appendedFile)
.appendPage(appendedFile2)
.endPDF();
});
如何获取此代码并使其接受数组?
类似的东西:
let combinePdfFiles = (array) => {
for (let i = 0; i < array.length; i++) {
}
};
谢谢。
您可以使用easy-pdf-merge包,让您合并一些pdf文件的数组。
用法:
const merge = require('easy-pdf-merge');
merge(source_files,dest_file_path,function(err){
if(err) {
return console.log(err)
}
console.log('Success')
});
示例:
merge(['File One.pdf', 'File Two.pdf'], 'File Ouput.pdf', function(err){
if(err) {
return console.log(err)
}
console.log('Successfully merged!')
});
我创建了此功能,并且可以正常工作。
const combinePdfFiles = async (files, companyID, flowID) => {
const filesRoot = `./uploads/${companyID}/${flowID}`;
try {
const originalFile = `${filesRoot}/${files[0]}`;
const output = `${filesRoot}/combined.pdf`;
const recipe = new HummusRecipe(originalFile, output);
for (let i = 1; i < files.length; i++) {
recipe
.appendPage(`${filesRoot}/${files[i]}`);
}
recipe.endPDF();
} catch (error) {
throw error;
}
};