pdf-merger-js
    TypeScript icon, indicating that this package has built-in type declarations

    3.3.2 • Public • Published

    Description

    This node.js library can merge multiple PDF documents, or parts of them, to one new PDF document. It's only dependency is pdfjs so it can run in any javascript-only environnement without any external dependencies.

    This library is inspired by the PHP library PDFMerger and has a very similar API.

    Installation

    npm install --save pdf-merger-js

    Code sample

    const PDFMerger = require('pdf-merger-js');
    
    var merger = new PDFMerger();
    
    (async () => {
      merger.add('pdf1.pdf');  //merge all pages. parameter is the path to file and filename.
      merger.add('pdf2.pdf', [2]); // merge only page 2
      merger.add('pdf2.pdf', [1, 3]); // merge the pages 1 and 3
      merger.add('pdf2.pdf', '4, 7, 8'); // merge the pages 4, 7 and 8
      merger.add('pdf3.pdf', '1 to 2'); //merge pages 1 to 2
      merger.add('pdf3.pdf', '3-4'); //merge pages 3 to 4
    
      await merger.save('merged.pdf'); //save under given name and reset the internal document
    })();

    Browser Sample - React

    import PDFMerger from 'pdf-merger-js/browser';
    import React, { useEffect, useState } from 'react';
    
    // files: Array of PDF File or Blob objects
    const Merger = (files) => {
      const [mergedPdfUrl, setMergedPdfUrl] = useState();
    
      useEffect(() => {
        const render = async () => {
          const merger = new PDFMerger();
    
          for(const file of files) {
            await merger.add(file)
          }
    
          const mergedPdf = await merger.saveAsBlob();
          const url = URL.createObjectURL(mergedPdf);
    
          return setMergedPdfUrl(url);
        };
    
        render().catch((err) => {
          throw err;
        });
    
        () => setMergedPdfUrl({});
      }, [files, setMergedPdfUrl]);
    
      return !data ? (
        <>Loading</>
      ) : (
        <iframe
          height={1000}
          src={`${mergedPdfUrl}`}
          title='pdf-viewer'
          width='100%s'
        ></iframe>
      );
    };

    Similar libraries

    Keywords

    Install

    npm i pdf-merger-js

    DownloadsWeekly Downloads

    13,781

    Version

    3.3.2

    License

    MIT

    Unpacked Size

    793 kB

    Total Files

    16

    Last publish

    Collaborators

    • mojoaxel
    • nbesli