将PDF文件合并为一个循环(Hummus-Recipe)

问题描述 投票:2回答:2

我使用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++) {
    }

};

谢谢。

node.js pdf hummus.js
2个回答
1
投票

您可以使用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!')
});

0
投票

我创建了此功能,并且可以正常工作。

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;
      }

};
© www.soinside.com 2019 - 2024. All rights reserved.