@lillallol/merge-pdf
v2.0.0
Published
High level API that uses pdf-lib to merge pdf. Does not use code from other programming languages.
Downloads
32
Maintainers
Readme
merge-pdf
Table of contents
- Table of contents
- Installation
- Description
- Code coverage
- Documentation
- Motivation
- Acknowledgments
- Changelog
- License
Installation
npm install @lillallol/merge-pdf
Description
A high level API to merge pdf.
Code coverage
Code coverage is around 90%.
Documentation
/**
* @description
* It merges the provided pdf to a single pdf.
*/
export declare const mergePdf: (parameters: mergePdfParameters) => Promise<mergePdfReturnType>;
export declare type mergePdfParameters = {
/**
* @description
* Path to each pdf to be merged. Throws if any of the paths do not end with
* `.pdf`.
*/
input: string[];
/**
* @description
* Path to save the merged pdf. Throws if the provided path does not end
* with `.pdf` or a file with the same name can be accessed.
*/
output?: string;
};
export declare type mergePdfReturnType = {
/**
* @description
* The number of pages of each pdf that got merged.
*/
numberOfPages: number[];
mergedPdf: PDFDocument;
};
import type { PDFDocument } from "pdf-lib";
Motivation
I searched the npm registry for a module that :
- merges pdf
- uses only javascript (i.e. does not use code from other programming languages to merge the pdf)
- has high level API (the user does not need to make use of fs)
because I had to use in one of my own projects (scrap-it), and I could not find one, so I decided to create my own.
Acknowledgments
- I used the code from this module as a starting point.
- Without pdf-lib this module would not be possible.
Changelog
2.0.0
Breaking changes
The parameters of mergePdf
are a now a single object, and its return value has a property that holds a reference to the merged pdf document. The latter makes the output path in the parameter object be an optional property.
Other
- Added generated documentation from ts-doc-gen-md to
README.md
. - Added changelog to
README.md
.
1.0.1
Minor internal changes.
1.0.0
Published the package.
License
MIT