You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+21-27Lines changed: 21 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,12 @@
1
1
# Description
2
2
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**.
4
4
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
6
8
[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.
7
10
8
11
This library is inspired by the [PHP library PDFMerger](https://github.com/myokyawhtun/PDFMerger) and has a very similar API.
9
12
@@ -22,10 +25,10 @@ The node.js version has the following export functions:
22
25
*`setMetadata` set Metadata for producer, author, title or creator.
23
26
*`reset` resets the internal state of the document, to start again.
24
27
25
-
### async node.js example
28
+
####async node.js example
26
29
27
30
```js
28
-
constPDFMerger=require('pdf-merger-js');
31
+
importPDFMergerfrom'pdf-merger-js';
29
32
30
33
var merger =newPDFMerger();
31
34
@@ -37,6 +40,14 @@ var merger = new PDFMerger();
37
40
awaitmerger.add('pdf3.pdf', '3 to 5'); //merge pages 3 to 5 (3,4,5)
38
41
awaitmerger.add('pdf3.pdf', '3-5'); //merge pages 3 to 5 (3,4,5)
39
42
43
+
// Set metadata
44
+
awaitmerger.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
+
40
51
awaitmerger.save('merged.pdf'); //save under given name and reset the internal document
41
52
42
53
// Export the merged PDF as a nodejs Buffer
@@ -55,7 +66,7 @@ The Browser version has the following export functions:
55
66
*`setMetadata` set Metadata for producer, author, title or creator.
56
67
*`reset` resets the internal state of the document, to start again.
57
68
58
-
#### Sample - React
69
+
#### async react example
59
70
60
71
```jsx
61
72
importPDFMergerfrom'pdf-merger-js/browser';
@@ -70,9 +81,13 @@ const Merger = (files) => {
70
81
constmerger=newPDFMerger();
71
82
72
83
for(constfileof files) {
73
-
awaitmerger.add(file)
84
+
awaitmerger.add(file);
74
85
}
75
86
87
+
awaitmerger.setMetadata({
88
+
producer:"pdf-merger-js based script"
89
+
});
90
+
76
91
constmergedPdf=awaitmerger.saveAsBlob();
77
92
consturl=URL.createObjectURL(mergedPdf);
78
93
@@ -99,27 +114,6 @@ const Merger = (files) => {
99
114
};
100
115
```
101
116
102
-
#### Sample - Set Metadata
103
-
104
-
```js
105
-
constmerger=newPDFMerger();
106
-
107
-
// Add files
108
-
109
-
// Set only producer
110
-
awaitmerger.setMetadata({
111
-
producer:"Custom Producer",
112
-
});
113
-
114
-
// Set all 4 fields
115
-
awaitmerger.setMetadata({
116
-
producer:"Custom Producer",
117
-
author:"Custom Author",
118
-
creator:"Custom Creator",
119
-
title:"Custom Title"
120
-
});
121
-
```
122
-
123
117
## Similar libraries
124
118
125
119
*[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