合并节点中的PDF

mer*_*tje 3 javascript pdf node.js

嗨,我正在尝试合并总共n的 pdf,但我无法让它工作.

我正在使用Buffer模块来连接pdf,但它只将最后一个pdf应用到最终的pdf中.

在节点中这甚至可以做吗?

var pdf1 = fs.readFileSync('./test1.pdf');
var pdf2 = fs.readFileSync('./test2.pdf');

fs.writeFile("./final_pdf.pdf", Buffer.concat([pdf1, pdf2]), function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
});
Run Code Online (Sandbox Code Playgroud)

目前有一些库,但它们都依赖于其他软件或编程语言.

idm*_*ean 11

你做什么期望得到什么Buffer.concat([pdf1, pdf2])?只需连接两个PDF文件,就不会得到包含所有页面的文件.PDF是一种复杂的格式(基本上是一种用于矢量图形).如果您刚刚添加了两个JPEG文件,那么您不会期望获得包含两张图片的大图像,不是吗?

您需要使用外部库.https://github.com/wubzz/pdf-merge可能会起作用.


Zac*_*ito 5

HummusJS是另一个PDF操作库,但不依赖于PDFtk。有关在缓冲区中组合PDF的示例,请参见此答案

  • HummusJS 现在不受支持。预构建的二进制文件已经丢失,我无法在第一次尝试时运行它 (4认同)