Skip to content

Commit b812832

Browse files
committed
doc: add a legacy note for the new used module standard
1 parent 0e54c29 commit b812832

File tree

1 file changed

+21
-27
lines changed

1 file changed

+21
-27
lines changed

README.md

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
# Description
22

3-
This node.js library can **merge multiple PDF documents**, or parts of them, to one new PDF document. It's only dependency is [pdf-lib](https://pdf-lib.js.org/) so it can run in any javascript-only environment **without any external dependencies**.
3+
This node.js library can **merge multiple PDF documents**, or parts of them, to one new PDF document. It's only dependency is [pdf-lib](https://pdf-lib.js.org/) so it can run in any javascript-only environment **without any non-javascript dependencies**.
44

5-
> If you are searching for the legacy version based on
5+
## Legacy notes
6+
7+
* If you are searching for the legacy version based on
68
[pdfjs](https://www.npmjs.com/package/pdfjs) please install a [v3 release](https://github.com/nbesli/pdf-merger-js/releases?q=v3&expanded=true). Since [v4](https://github.com/nbesli/pdf-merger-js/releases?q=v4&expanded=true) we use [pdf-lib](https://pdf-lib.js.org/) instead.
9+
* If you are searching for a legacy version using CommonJS modules please install a [v4 release](https://github.com/nbesli/pdf-merger-js/releases?q=v4&expanded=true). Since [v5](https://github.com/nbesli/pdf-merger-js/releases?q=v5&expanded=true) we use the modern ESM ("import") instead of the CommonJS ("require) module standard.
710

811
This library is inspired by the [PHP library PDFMerger](https://github.com/myokyawhtun/PDFMerger) and has a very similar API.
912

@@ -22,10 +25,10 @@ The node.js version has the following export functions:
2225
* `setMetadata` set Metadata for producer, author, title or creator.
2326
* `reset` resets the internal state of the document, to start again.
2427

25-
### async node.js example
28+
#### async node.js example
2629

2730
```js
28-
const PDFMerger = require('pdf-merger-js');
31+
import PDFMerger from 'pdf-merger-js';
2932

3033
var merger = new PDFMerger();
3134

@@ -37,6 +40,14 @@ var merger = new PDFMerger();
3740
await merger.add('pdf3.pdf', '3 to 5'); //merge pages 3 to 5 (3,4,5)
3841
await merger.add('pdf3.pdf', '3-5'); //merge pages 3 to 5 (3,4,5)
3942

43+
// Set metadata
44+
await merger.setMetadata({
45+
producer: "pdf-merger-js based script",
46+
author: "John Doe",
47+
creator: "John Doe",
48+
title: "My live as John Doe"
49+
});
50+
4051
await merger.save('merged.pdf'); //save under given name and reset the internal document
4152

4253
// Export the merged PDF as a nodejs Buffer
@@ -55,7 +66,7 @@ The Browser version has the following export functions:
5566
* `setMetadata` set Metadata for producer, author, title or creator.
5667
* `reset` resets the internal state of the document, to start again.
5768

58-
#### Sample - React
69+
#### async react example
5970

6071
```jsx
6172
import PDFMerger from 'pdf-merger-js/browser';
@@ -70,9 +81,13 @@ const Merger = (files) => {
7081
const merger = new PDFMerger();
7182

7283
for(const file of files) {
73-
await merger.add(file)
84+
await merger.add(file);
7485
}
7586

87+
await merger.setMetadata({
88+
producer: "pdf-merger-js based script"
89+
});
90+
7691
const mergedPdf = await merger.saveAsBlob();
7792
const url = URL.createObjectURL(mergedPdf);
7893

@@ -99,27 +114,6 @@ const Merger = (files) => {
99114
};
100115
```
101116

102-
#### Sample - Set Metadata
103-
104-
```js
105-
const merger = new PDFMerger();
106-
107-
// Add files
108-
109-
// Set only producer
110-
await merger.setMetadata({
111-
producer: "Custom Producer",
112-
});
113-
114-
// Set all 4 fields
115-
await merger.setMetadata({
116-
producer: "Custom Producer",
117-
author: "Custom Author",
118-
creator: "Custom Creator",
119-
title: "Custom Title"
120-
});
121-
```
122-
123117
## Similar libraries
124118

125119
* [pdf-merge](https://www.npmjs.com/package/pdf-merge) has a dependency on [PDFtk](https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/).

0 commit comments

Comments
 (0)