@adnsistemas/pdf-lib 2.7.3 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/cjs/api/PDFDocument.d.ts +16 -2
- package/cjs/api/PDFDocument.d.ts.map +1 -1
- package/cjs/api/PDFDocument.js +58 -4
- package/cjs/api/PDFDocument.js.map +1 -1
- package/cjs/api/PDFEmbeddedFile.d.ts +6 -0
- package/cjs/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/cjs/api/PDFEmbeddedFile.js +10 -0
- package/cjs/api/PDFEmbeddedFile.js.map +1 -1
- package/cjs/api/PDFPage.js +1 -1
- package/cjs/api/operations.js +2 -2
- package/cjs/api/operations.js.map +1 -1
- package/cjs/core/embedders/JpegEmbedder.d.ts.map +1 -1
- package/cjs/core/embedders/JpegEmbedder.js +1 -1
- package/cjs/core/embedders/JpegEmbedder.js.map +1 -1
- package/cjs/core/structures/PDFCatalog.d.ts +3 -0
- package/cjs/core/structures/PDFCatalog.d.ts.map +1 -1
- package/cjs/core/structures/PDFCatalog.js +7 -0
- package/cjs/core/structures/PDFCatalog.js.map +1 -1
- package/cjs/core/writers/PDFStreamWriter.js +1 -1
- package/cjs/core/writers/PDFStreamWriter.js.map +1 -1
- package/cjs/core/writers/PDFWriter.d.ts.map +1 -1
- package/cjs/core/writers/PDFWriter.js +3 -2
- package/cjs/core/writers/PDFWriter.js.map +1 -1
- package/dist/pdf-lib.esm.js +82 -11
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +2 -2
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +82 -11
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +2 -2
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/api/PDFDocument.d.ts +16 -2
- package/es/api/PDFDocument.d.ts.map +1 -1
- package/es/api/PDFDocument.js +58 -4
- package/es/api/PDFDocument.js.map +1 -1
- package/es/api/PDFEmbeddedFile.d.ts +6 -0
- package/es/api/PDFEmbeddedFile.d.ts.map +1 -1
- package/es/api/PDFEmbeddedFile.js +10 -0
- package/es/api/PDFEmbeddedFile.js.map +1 -1
- package/es/api/PDFPage.js +1 -1
- package/es/api/operations.js +2 -2
- package/es/api/operations.js.map +1 -1
- package/es/core/embedders/JpegEmbedder.d.ts.map +1 -1
- package/es/core/embedders/JpegEmbedder.js +1 -1
- package/es/core/embedders/JpegEmbedder.js.map +1 -1
- package/es/core/structures/PDFCatalog.d.ts +3 -0
- package/es/core/structures/PDFCatalog.d.ts.map +1 -1
- package/es/core/structures/PDFCatalog.js +7 -0
- package/es/core/structures/PDFCatalog.js.map +1 -1
- package/es/core/writers/PDFStreamWriter.js +1 -1
- package/es/core/writers/PDFStreamWriter.js.map +1 -1
- package/es/core/writers/PDFWriter.d.ts.map +1 -1
- package/es/core/writers/PDFWriter.js +3 -2
- package/es/core/writers/PDFWriter.js.map +1 -1
- package/package.json +4 -2
- package/src/api/PDFDocument.ts +74 -9
- package/src/api/PDFEmbeddedFile.ts +12 -0
- package/src/api/PDFPage.ts +1 -1
- package/src/api/operations.ts +2 -2
- package/src/core/embedders/JpegEmbedder.ts +5 -1
- package/src/core/structures/PDFCatalog.ts +9 -0
- package/src/core/writers/PDFStreamWriter.ts +1 -1
- package/src/core/writers/PDFWriter.ts +3 -2
- package/ts3.4/cjs/api/PDFDocument.d.ts +16 -2
- package/ts3.4/cjs/api/PDFEmbeddedFile.d.ts +6 -0
- package/ts3.4/cjs/core/structures/PDFCatalog.d.ts +3 -0
- package/ts3.4/es/api/PDFDocument.d.ts +16 -2
- package/ts3.4/es/api/PDFEmbeddedFile.d.ts +6 -0
- package/ts3.4/es/core/structures/PDFCatalog.d.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFCatalog.js","sourceRoot":"","sources":["../../../src/core/structures/PDFCatalog.ts"],"names":[],"mappings":"AAAA,OAAO,OAAoB,MAAM,oBAAoB,CAAC;AACtD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAIzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"PDFCatalog.js","sourceRoot":"","sources":["../../../src/core/structures/PDFCatalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
41
41
|
for (let idx = 0, len = indirectObjects.length; idx < len; idx++) {
|
|
42
42
|
const indirectObject = indirectObjects[idx];
|
|
43
43
|
const [ref, object] = indirectObject;
|
|
44
|
-
if (!this.
|
|
44
|
+
if (!this.shouldSave(incremental, ref.objectNumber, indirectObjects)) {
|
|
45
45
|
continue;
|
|
46
46
|
}
|
|
47
47
|
const shouldNotCompress = ref === this.context.trailerInfo.Encrypt ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFStreamWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AAEpD,MAAM,eAAgB,SAAQ,SAAS;IAiCrC,YACE,OAAmB,EACnB,cAAsB,EACtB,QAA0B,EAC1B,aAAsB,EACtB,gBAAwB;QAExB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAM3C,wHAAwH;QAChH,0BAAqB,GAAG,CAAC,CAAC;QALhC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAIe,iBAAiB,CAAC,WAAoB;;YACpD,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;YAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1C,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YACjC,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;aAClC;YACD,IAAI,IAAI,CAAC,CAAC;YAEV,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CACzC,IAAI,CAAC,iBAAiB,EAAE,EACxB,IAAI,CAAC,aAAa,CACnB,CAAC;YAEF,MAAM,mBAAmB,GAA0B,EAAE,CAAC;YACtD,MAAM,iBAAiB,GAA4B,EAAE,CAAC;YACtD,MAAM,gBAAgB,GAAa,EAAE,CAAC;YAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAEvC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;YAChE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;gBAChE,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,cAAc,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"PDFStreamWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,eAAe,CAAC;AAKvC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAKlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,cAAM,SAAS;IACb,MAAM,CAAC,UAAU,YAAa,UAAU,kBAAkB,MAAM,eACE;IAElE,MAAM,CAAC,sBAAsB,YAClB,UAAU,kBACH,MAAM,YACZ,gBAAgB,eAC0B;IAEtD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC9C,OAAO,CAAC,aAAa,CAAK;IAE1B,SAAS,aACP,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,gBAAgB;IAO5B;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,EAAE,MAAM,CAAK;IAE/C;;;OAGG;IACH,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAK;IAC5C;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,CAClB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,GAC7B,OAAO;
|
|
1
|
+
{"version":3,"file":"PDFWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,UAAU,MAAM,eAAe,CAAC;AAKvC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAKlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,cAAM,SAAS;IACb,MAAM,CAAC,UAAU,YAAa,UAAU,kBAAkB,MAAM,eACE;IAElE,MAAM,CAAC,sBAAsB,YAClB,UAAU,kBACH,MAAM,YACZ,gBAAgB,eAC0B;IAEtD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC9C,OAAO,CAAC,aAAa,CAAK;IAE1B,SAAS,aACP,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,gBAAgB;IAO5B;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,EAAE,MAAM,CAAK;IAE/C;;;OAGG;IACH,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAK;IAC5C;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,CAClB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,GAC7B,OAAO;IAgCJ,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC;IAmE9C,SAAS,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;QACjD,MAAM;QACN,SAAS;KACV,GAAG,MAAM;IAMV,SAAS,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO;cAoB5C,iBAAiB,CAC/B,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,iBAAiB,CAAC;IAsD7B,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW;IAYvE,SAAS,CAAC,iBAAiB,MAAO,MAAM,aAGtC;CACH;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -51,8 +51,9 @@ class PDFWriter {
|
|
|
51
51
|
// only the last XRef Stream will be regenerated on save
|
|
52
52
|
if (!this._lastXRefObjectNumber) {
|
|
53
53
|
// if no XRef Stream, then nothing should be skipped
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
// if we are adding a XRef Stream, then its number if this.context.largestObjectNumber + 1, so adding 10 ensures we won't skip current generade XRref Stream
|
|
55
|
+
this._lastXRefObjectNumber = this.context.largestObjectNumber + 10;
|
|
56
|
+
const checkWatermark = this._lastXRefObjectNumber - 20; // max number of objects in the final part of the PDF to check
|
|
56
57
|
// search the last XRef Stream, if there is one, objects are expected to be in object number order
|
|
57
58
|
for (let idx = objects.length - 1; idx > 0; idx--) {
|
|
58
59
|
// if not in last 'rangeToCheck' objects, there is none that should be skipped, most probably a linearized PDF, or without XRef Streams
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDFWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AAGxD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAWnD,MAAM,SAAS;IAgBb,YACE,OAAmB,EACnB,cAAsB,EACtB,QAA0B;QALpB,kBAAa,GAAG,CAAC,CAAC;QAY1B;;;;WAIG;QACO,6BAAwB,GAAW,CAAC,CAAC;QAE/C;;;WAGG;QACO,0BAAqB,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PDFWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adnsistemas/pdf-lib",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.1",
|
|
4
4
|
"description": "Create and modify PDF files with JavaScript",
|
|
5
5
|
"author": "Andrew Dillon <andrew.dillon.j@gmail.com>",
|
|
6
6
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
|
|
@@ -43,7 +43,9 @@
|
|
|
43
43
|
"Donald Ness (https://github.com/programmarchy)",
|
|
44
44
|
"Remus DRAICA (https://github.com/remdra)",
|
|
45
45
|
"David Abdala (https://github.com/adnsistemas)",
|
|
46
|
-
"Eran Ohayon (https://github.com/erano067)"
|
|
46
|
+
"Eran Ohayon (https://github.com/erano067)",
|
|
47
|
+
"Shaun Verch (https://github.com/sverch)",
|
|
48
|
+
"Guido Flohr (https://github.com/gflohr)"
|
|
47
49
|
],
|
|
48
50
|
"scripts": {
|
|
49
51
|
"release": "yarn release:prep && release-it",
|
package/src/api/PDFDocument.ts
CHANGED
|
@@ -82,7 +82,7 @@ import PDFSecurity, { SecurityOptions } from '../core/security/PDFSecurity';
|
|
|
82
82
|
import { IncrementalDocumentSnapshot } from './snapshot';
|
|
83
83
|
import type { DocumentSnapshot } from './snapshot';
|
|
84
84
|
|
|
85
|
-
export type
|
|
85
|
+
export type BasePDFAttachment = {
|
|
86
86
|
name: string;
|
|
87
87
|
data: Uint8Array;
|
|
88
88
|
mimeType: string | undefined;
|
|
@@ -92,6 +92,17 @@ export type PDFAttachment = {
|
|
|
92
92
|
modificationDate: Date | undefined;
|
|
93
93
|
};
|
|
94
94
|
|
|
95
|
+
export type SavedPDFAttachment = BasePDFAttachment & {
|
|
96
|
+
embeddedFileDict: PDFDict;
|
|
97
|
+
specRef: PDFRef;
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
export type UnsavedPDFAttachment = BasePDFAttachment & {
|
|
101
|
+
pdfEmbeddedFile: PDFEmbeddedFile;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export type PDFAttachment = UnsavedPDFAttachment | SavedPDFAttachment;
|
|
105
|
+
|
|
95
106
|
export type PDFObjectVersions = {
|
|
96
107
|
ref: PDFRef;
|
|
97
108
|
actual: PDFObject | undefined;
|
|
@@ -1011,15 +1022,19 @@ export default class PDFDocument {
|
|
|
1011
1022
|
for (let idx = 0, len = EFNames.size(); idx < len; idx += 2) {
|
|
1012
1023
|
const fileName = EFNames.lookup(idx) as PDFHexString | PDFString;
|
|
1013
1024
|
const fileSpec = EFNames.lookup(idx + 1, PDFDict);
|
|
1014
|
-
rawAttachments.push({
|
|
1025
|
+
rawAttachments.push({
|
|
1026
|
+
fileName,
|
|
1027
|
+
fileSpec,
|
|
1028
|
+
specRef: EFNames.get(idx + 1) as PDFRef,
|
|
1029
|
+
});
|
|
1015
1030
|
}
|
|
1016
1031
|
|
|
1017
1032
|
return rawAttachments;
|
|
1018
1033
|
}
|
|
1019
1034
|
|
|
1020
|
-
private getSavedAttachments():
|
|
1035
|
+
private getSavedAttachments(): SavedPDFAttachment[] {
|
|
1021
1036
|
const rawAttachments = this.getRawAttachments();
|
|
1022
|
-
return rawAttachments.flatMap(({ fileName, fileSpec }) => {
|
|
1037
|
+
return rawAttachments.flatMap(({ fileName, fileSpec, specRef }) => {
|
|
1023
1038
|
const efDict = fileSpec.lookup(PDFName.of('EF'));
|
|
1024
1039
|
if (!(efDict instanceof PDFDict)) return [];
|
|
1025
1040
|
|
|
@@ -1062,9 +1077,12 @@ export default class PDFDocument {
|
|
|
1062
1077
|
}
|
|
1063
1078
|
}
|
|
1064
1079
|
|
|
1065
|
-
const
|
|
1066
|
-
|
|
1067
|
-
|
|
1080
|
+
const descRaw = fileSpec.lookup(PDFName.of('Desc'));
|
|
1081
|
+
let description: string | undefined;
|
|
1082
|
+
|
|
1083
|
+
if (descRaw instanceof PDFHexString) {
|
|
1084
|
+
description = descRaw.decodeText();
|
|
1085
|
+
}
|
|
1068
1086
|
|
|
1069
1087
|
return [
|
|
1070
1088
|
{
|
|
@@ -1077,13 +1095,16 @@ export default class PDFDocument {
|
|
|
1077
1095
|
description,
|
|
1078
1096
|
creationDate,
|
|
1079
1097
|
modificationDate,
|
|
1098
|
+
embeddedFileDict: efDict,
|
|
1099
|
+
specRef,
|
|
1080
1100
|
},
|
|
1081
1101
|
];
|
|
1082
1102
|
});
|
|
1083
1103
|
}
|
|
1084
1104
|
|
|
1085
|
-
private getUnsavedAttachments():
|
|
1086
|
-
const attachments = this.embeddedFiles.
|
|
1105
|
+
private getUnsavedAttachments(): UnsavedPDFAttachment[] {
|
|
1106
|
+
const attachments = this.embeddedFiles.flatMap((file) => {
|
|
1107
|
+
if (file.getAlreadyEmbedded()) return [];
|
|
1087
1108
|
const embedder = file.getEmbedder();
|
|
1088
1109
|
|
|
1089
1110
|
return {
|
|
@@ -1094,6 +1115,7 @@ export default class PDFDocument {
|
|
|
1094
1115
|
afRelationship: embedder.options.afRelationship,
|
|
1095
1116
|
creationDate: embedder.options.creationDate,
|
|
1096
1117
|
modificationDate: embedder.options.modificationDate,
|
|
1118
|
+
pdfEmbeddedFile: file,
|
|
1097
1119
|
};
|
|
1098
1120
|
});
|
|
1099
1121
|
|
|
@@ -1112,6 +1134,49 @@ export default class PDFDocument {
|
|
|
1112
1134
|
return [...savedAttachments, ...unsavedAttachments];
|
|
1113
1135
|
}
|
|
1114
1136
|
|
|
1137
|
+
/**
|
|
1138
|
+
* Removes an attachment from PDF, based on name.
|
|
1139
|
+
* @param {string} name Name of the attachmet to remove.
|
|
1140
|
+
*/
|
|
1141
|
+
detach(name: string) {
|
|
1142
|
+
const attachedFiles = this.getAttachments();
|
|
1143
|
+
attachedFiles.forEach((file) => {
|
|
1144
|
+
if (file.name !== name) return;
|
|
1145
|
+
// the file wasn't embedded into context yet
|
|
1146
|
+
if ('pdfEmbeddedFile' in file) {
|
|
1147
|
+
const i = this.embeddedFiles.findIndex(
|
|
1148
|
+
(f) => file.pdfEmbeddedFile === f,
|
|
1149
|
+
);
|
|
1150
|
+
if (i !== undefined) this.embeddedFiles.splice(i, 1);
|
|
1151
|
+
} else {
|
|
1152
|
+
// remove references from catalog
|
|
1153
|
+
const namesArr = this.catalog
|
|
1154
|
+
.Names()
|
|
1155
|
+
?.lookup(PDFName.of('EmbeddedFiles'), PDFDict)
|
|
1156
|
+
.lookup(PDFName.of('Names'), PDFArray);
|
|
1157
|
+
const iNames = namesArr?.indexOf(file.specRef);
|
|
1158
|
+
if (iNames !== undefined && iNames > 0) {
|
|
1159
|
+
// attachment spec ref
|
|
1160
|
+
namesArr?.remove(iNames);
|
|
1161
|
+
// attachment name
|
|
1162
|
+
namesArr?.remove(iNames - 1);
|
|
1163
|
+
}
|
|
1164
|
+
// AF-Tag for PDF-A3 compliance
|
|
1165
|
+
const AF = this.catalog.AttachedFiles();
|
|
1166
|
+
const afIndex = AF?.indexOf(file.specRef);
|
|
1167
|
+
if (afIndex !== undefined) AF?.remove(afIndex);
|
|
1168
|
+
|
|
1169
|
+
// remove references from context
|
|
1170
|
+
const streamRef = this.context
|
|
1171
|
+
.lookupMaybe(file.specRef, PDFDict)
|
|
1172
|
+
?.lookupMaybe(PDFName.of('EF'), PDFDict)
|
|
1173
|
+
?.get(PDFName.of('F')) as PDFRef | undefined;
|
|
1174
|
+
if (streamRef) this.context.delete(streamRef);
|
|
1175
|
+
this.context.delete(file.specRef);
|
|
1176
|
+
}
|
|
1177
|
+
});
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1115
1180
|
/**
|
|
1116
1181
|
* Embed a font into this document. The input data can be provided in multiple
|
|
1117
1182
|
* formats:
|
|
@@ -95,4 +95,16 @@ export default class PDFEmbeddedFile implements Embeddable {
|
|
|
95
95
|
getEmbedder() {
|
|
96
96
|
return this.embedder;
|
|
97
97
|
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Returns whether or not this file has already been embedded.
|
|
101
|
+
* @returns true if the file has already been embedded, false otherwise.
|
|
102
|
+
*/
|
|
103
|
+
getAlreadyEmbedded() {
|
|
104
|
+
return this.alreadyEmbedded;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
getRef() {
|
|
108
|
+
return this.ref;
|
|
109
|
+
}
|
|
98
110
|
}
|
package/src/api/PDFPage.ts
CHANGED
|
@@ -1275,7 +1275,7 @@ export default class PDFPage {
|
|
|
1275
1275
|
rotate: options.rotate ?? degrees(0),
|
|
1276
1276
|
color: options.color ?? undefined,
|
|
1277
1277
|
borderColor: options.borderColor ?? undefined,
|
|
1278
|
-
borderWidth: options.borderWidth ??
|
|
1278
|
+
borderWidth: options.borderWidth ?? 1,
|
|
1279
1279
|
borderDashArray: options.borderDashArray ?? undefined,
|
|
1280
1280
|
borderDashPhase: options.borderDashPhase ?? undefined,
|
|
1281
1281
|
borderLineCap: options.borderLineCap ?? undefined,
|
package/src/api/operations.ts
CHANGED
|
@@ -845,11 +845,11 @@ const getDrawingOperator = ({
|
|
|
845
845
|
borderColor?: Color;
|
|
846
846
|
fillRule?: FillRule;
|
|
847
847
|
}) => {
|
|
848
|
-
if (color && borderColor && borderWidth) {
|
|
848
|
+
if (color && borderColor && borderWidth !== 0) {
|
|
849
849
|
return fillAndStroke;
|
|
850
850
|
} else if (color) {
|
|
851
851
|
return fillRule === FillRule.EvenOdd ? fillEvenOdd : fill;
|
|
852
|
-
} else if (borderColor && borderWidth) {
|
|
852
|
+
} else if (borderColor && borderWidth !== 0) {
|
|
853
853
|
return stroke;
|
|
854
854
|
}
|
|
855
855
|
return undefined;
|
|
@@ -29,7 +29,11 @@ const ChannelToColorSpace: { [idx: number]: ColorSpace | undefined } = {
|
|
|
29
29
|
*/
|
|
30
30
|
class JpegEmbedder {
|
|
31
31
|
static async for(imageData: Uint8Array) {
|
|
32
|
-
const dataView = new DataView(
|
|
32
|
+
const dataView = new DataView(
|
|
33
|
+
imageData.buffer,
|
|
34
|
+
imageData.byteOffset,
|
|
35
|
+
imageData.byteLength,
|
|
36
|
+
);
|
|
33
37
|
|
|
34
38
|
const soi = dataView.getUint16(0);
|
|
35
39
|
if (soi !== 0xffd8) throw new Error('SOI not found in JPEG');
|
|
@@ -5,6 +5,7 @@ import PDFContext from '../PDFContext';
|
|
|
5
5
|
import PDFPageTree from './PDFPageTree';
|
|
6
6
|
import { PDFAcroForm } from '../acroform';
|
|
7
7
|
import ViewerPreferences from '../interactive/ViewerPreferences';
|
|
8
|
+
import PDFArray from '../objects/PDFArray';
|
|
8
9
|
|
|
9
10
|
class PDFCatalog extends PDFDict {
|
|
10
11
|
static withContextAndPages = (
|
|
@@ -28,6 +29,14 @@ class PDFCatalog extends PDFDict {
|
|
|
28
29
|
return this.lookupMaybe(PDFName.of('AcroForm'), PDFDict);
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
Names(): PDFDict | undefined {
|
|
33
|
+
return this.lookupMaybe(PDFName.of('Names'), PDFDict);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
AttachedFiles(): PDFArray | undefined {
|
|
37
|
+
return this.lookupMaybe(PDFName.of('AF'), PDFArray);
|
|
38
|
+
}
|
|
39
|
+
|
|
31
40
|
getAcroForm(): PDFAcroForm | undefined {
|
|
32
41
|
const dict = this.AcroForm();
|
|
33
42
|
if (!dict) return undefined;
|
|
@@ -91,7 +91,7 @@ class PDFStreamWriter extends PDFWriter {
|
|
|
91
91
|
for (let idx = 0, len = indirectObjects.length; idx < len; idx++) {
|
|
92
92
|
const indirectObject = indirectObjects[idx];
|
|
93
93
|
const [ref, object] = indirectObject;
|
|
94
|
-
if (!this.
|
|
94
|
+
if (!this.shouldSave(incremental, ref.objectNumber, indirectObjects)) {
|
|
95
95
|
continue;
|
|
96
96
|
}
|
|
97
97
|
|
|
@@ -87,8 +87,9 @@ class PDFWriter {
|
|
|
87
87
|
// only the last XRef Stream will be regenerated on save
|
|
88
88
|
if (!this._lastXRefObjectNumber) {
|
|
89
89
|
// if no XRef Stream, then nothing should be skipped
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
// if we are adding a XRef Stream, then its number if this.context.largestObjectNumber + 1, so adding 10 ensures we won't skip current generade XRref Stream
|
|
91
|
+
this._lastXRefObjectNumber = this.context.largestObjectNumber + 10;
|
|
92
|
+
const checkWatermark = this._lastXRefObjectNumber - 20; // max number of objects in the final part of the PDF to check
|
|
92
93
|
// search the last XRef Stream, if there is one, objects are expected to be in object number order
|
|
93
94
|
for (let idx = objects.length - 1; idx > 0; idx--) {
|
|
94
95
|
// if not in last 'rangeToCheck' objects, there is none that should be skipped, most probably a linearized PDF, or without XRef Streams
|
|
@@ -4,17 +4,18 @@ import PDFImage from './PDFImage';
|
|
|
4
4
|
import PDFPage from './PDFPage';
|
|
5
5
|
import PDFForm from './form/PDFForm';
|
|
6
6
|
import { StandardFonts } from './StandardFonts';
|
|
7
|
-
import { PageBoundingBox, PDFCatalog, PDFContext } from '../core';
|
|
7
|
+
import { PageBoundingBox, PDFCatalog, PDFContext, PDFDict } from '../core';
|
|
8
8
|
import { AttachmentOptions, SaveOptions, Base64SaveOptions, LoadOptions, CreateOptions, EmbedFontOptions, SetTitleOptions, IncrementalSaveOptions } from './PDFDocumentOptions';
|
|
9
9
|
import PDFObject from '../core/objects/PDFObject';
|
|
10
10
|
import PDFRef from '../core/objects/PDFRef';
|
|
11
11
|
import { Fontkit } from '../types/fontkit';
|
|
12
12
|
import { TransformationMatrix } from '../types/matrix';
|
|
13
13
|
import { AFRelationship } from '../core/embedders/FileEmbedder';
|
|
14
|
+
import PDFEmbeddedFile from './PDFEmbeddedFile';
|
|
14
15
|
import PDFSvg from './PDFSvg';
|
|
15
16
|
import { SecurityOptions } from '../core/security/PDFSecurity';
|
|
16
17
|
import { DocumentSnapshot } from './snapshot';
|
|
17
|
-
export type
|
|
18
|
+
export type BasePDFAttachment = {
|
|
18
19
|
name: string;
|
|
19
20
|
data: Uint8Array;
|
|
20
21
|
mimeType: string | undefined;
|
|
@@ -23,6 +24,14 @@ export type PDFAttachment = {
|
|
|
23
24
|
creationDate: Date | undefined;
|
|
24
25
|
modificationDate: Date | undefined;
|
|
25
26
|
};
|
|
27
|
+
export type SavedPDFAttachment = BasePDFAttachment & {
|
|
28
|
+
embeddedFileDict: PDFDict;
|
|
29
|
+
specRef: PDFRef;
|
|
30
|
+
};
|
|
31
|
+
export type UnsavedPDFAttachment = BasePDFAttachment & {
|
|
32
|
+
pdfEmbeddedFile: PDFEmbeddedFile;
|
|
33
|
+
};
|
|
34
|
+
export type PDFAttachment = UnsavedPDFAttachment | SavedPDFAttachment;
|
|
26
35
|
export type PDFObjectVersions = {
|
|
27
36
|
ref: PDFRef;
|
|
28
37
|
actual: PDFObject | undefined;
|
|
@@ -575,6 +584,11 @@ export default class PDFDocument {
|
|
|
575
584
|
* @returns Array of attachments with name and data
|
|
576
585
|
*/
|
|
577
586
|
getAttachments(): PDFAttachment[];
|
|
587
|
+
/**
|
|
588
|
+
* Removes an attachment from PDF, based on name.
|
|
589
|
+
* @param {string} name Name of the attachmet to remove.
|
|
590
|
+
*/
|
|
591
|
+
detach(name: string): void;
|
|
578
592
|
/**
|
|
579
593
|
* Embed a font into this document. The input data can be provided in multiple
|
|
580
594
|
* formats:
|
|
@@ -40,5 +40,11 @@ export default class PDFEmbeddedFile implements Embeddable {
|
|
|
40
40
|
* @returns the embedder.
|
|
41
41
|
*/
|
|
42
42
|
getEmbedder(): FileEmbedder;
|
|
43
|
+
/**
|
|
44
|
+
* Returns whether or not this file has already been embedded.
|
|
45
|
+
* @returns true if the file has already been embedded, false otherwise.
|
|
46
|
+
*/
|
|
47
|
+
getAlreadyEmbedded(): boolean;
|
|
48
|
+
getRef(): PDFRef;
|
|
43
49
|
}
|
|
44
50
|
//# sourceMappingURL=PDFEmbeddedFile.d.ts.map
|
|
@@ -4,11 +4,14 @@ import PDFContext from '../PDFContext';
|
|
|
4
4
|
import PDFPageTree from './PDFPageTree';
|
|
5
5
|
import { PDFAcroForm } from '../acroform';
|
|
6
6
|
import ViewerPreferences from '../interactive/ViewerPreferences';
|
|
7
|
+
import PDFArray from '../objects/PDFArray';
|
|
7
8
|
declare class PDFCatalog extends PDFDict {
|
|
8
9
|
static withContextAndPages: (context: PDFContext, pages: PDFPageTree | PDFRef) => PDFCatalog;
|
|
9
10
|
static fromMapWithContext: (map: DictMap, context: PDFContext) => PDFCatalog;
|
|
10
11
|
Pages(): PDFPageTree;
|
|
11
12
|
AcroForm(): PDFDict | undefined;
|
|
13
|
+
Names(): PDFDict | undefined;
|
|
14
|
+
AttachedFiles(): PDFArray | undefined;
|
|
12
15
|
getAcroForm(): PDFAcroForm | undefined;
|
|
13
16
|
getOrCreateAcroForm(): PDFAcroForm;
|
|
14
17
|
ViewerPreferences(): PDFDict | undefined;
|
|
@@ -4,17 +4,18 @@ import PDFImage from './PDFImage';
|
|
|
4
4
|
import PDFPage from './PDFPage';
|
|
5
5
|
import PDFForm from './form/PDFForm';
|
|
6
6
|
import { StandardFonts } from './StandardFonts';
|
|
7
|
-
import { PageBoundingBox, PDFCatalog, PDFContext } from '../core';
|
|
7
|
+
import { PageBoundingBox, PDFCatalog, PDFContext, PDFDict } from '../core';
|
|
8
8
|
import { AttachmentOptions, SaveOptions, Base64SaveOptions, LoadOptions, CreateOptions, EmbedFontOptions, SetTitleOptions, IncrementalSaveOptions } from './PDFDocumentOptions';
|
|
9
9
|
import PDFObject from '../core/objects/PDFObject';
|
|
10
10
|
import PDFRef from '../core/objects/PDFRef';
|
|
11
11
|
import { Fontkit } from '../types/fontkit';
|
|
12
12
|
import { TransformationMatrix } from '../types/matrix';
|
|
13
13
|
import { AFRelationship } from '../core/embedders/FileEmbedder';
|
|
14
|
+
import PDFEmbeddedFile from './PDFEmbeddedFile';
|
|
14
15
|
import PDFSvg from './PDFSvg';
|
|
15
16
|
import { SecurityOptions } from '../core/security/PDFSecurity';
|
|
16
17
|
import { DocumentSnapshot } from './snapshot';
|
|
17
|
-
export type
|
|
18
|
+
export type BasePDFAttachment = {
|
|
18
19
|
name: string;
|
|
19
20
|
data: Uint8Array;
|
|
20
21
|
mimeType: string | undefined;
|
|
@@ -23,6 +24,14 @@ export type PDFAttachment = {
|
|
|
23
24
|
creationDate: Date | undefined;
|
|
24
25
|
modificationDate: Date | undefined;
|
|
25
26
|
};
|
|
27
|
+
export type SavedPDFAttachment = BasePDFAttachment & {
|
|
28
|
+
embeddedFileDict: PDFDict;
|
|
29
|
+
specRef: PDFRef;
|
|
30
|
+
};
|
|
31
|
+
export type UnsavedPDFAttachment = BasePDFAttachment & {
|
|
32
|
+
pdfEmbeddedFile: PDFEmbeddedFile;
|
|
33
|
+
};
|
|
34
|
+
export type PDFAttachment = UnsavedPDFAttachment | SavedPDFAttachment;
|
|
26
35
|
export type PDFObjectVersions = {
|
|
27
36
|
ref: PDFRef;
|
|
28
37
|
actual: PDFObject | undefined;
|
|
@@ -575,6 +584,11 @@ export default class PDFDocument {
|
|
|
575
584
|
* @returns Array of attachments with name and data
|
|
576
585
|
*/
|
|
577
586
|
getAttachments(): PDFAttachment[];
|
|
587
|
+
/**
|
|
588
|
+
* Removes an attachment from PDF, based on name.
|
|
589
|
+
* @param {string} name Name of the attachmet to remove.
|
|
590
|
+
*/
|
|
591
|
+
detach(name: string): void;
|
|
578
592
|
/**
|
|
579
593
|
* Embed a font into this document. The input data can be provided in multiple
|
|
580
594
|
* formats:
|
|
@@ -40,5 +40,11 @@ export default class PDFEmbeddedFile implements Embeddable {
|
|
|
40
40
|
* @returns the embedder.
|
|
41
41
|
*/
|
|
42
42
|
getEmbedder(): FileEmbedder;
|
|
43
|
+
/**
|
|
44
|
+
* Returns whether or not this file has already been embedded.
|
|
45
|
+
* @returns true if the file has already been embedded, false otherwise.
|
|
46
|
+
*/
|
|
47
|
+
getAlreadyEmbedded(): boolean;
|
|
48
|
+
getRef(): PDFRef;
|
|
43
49
|
}
|
|
44
50
|
//# sourceMappingURL=PDFEmbeddedFile.d.ts.map
|
|
@@ -4,11 +4,14 @@ import PDFContext from '../PDFContext';
|
|
|
4
4
|
import PDFPageTree from './PDFPageTree';
|
|
5
5
|
import { PDFAcroForm } from '../acroform';
|
|
6
6
|
import ViewerPreferences from '../interactive/ViewerPreferences';
|
|
7
|
+
import PDFArray from '../objects/PDFArray';
|
|
7
8
|
declare class PDFCatalog extends PDFDict {
|
|
8
9
|
static withContextAndPages: (context: PDFContext, pages: PDFPageTree | PDFRef) => PDFCatalog;
|
|
9
10
|
static fromMapWithContext: (map: DictMap, context: PDFContext) => PDFCatalog;
|
|
10
11
|
Pages(): PDFPageTree;
|
|
11
12
|
AcroForm(): PDFDict | undefined;
|
|
13
|
+
Names(): PDFDict | undefined;
|
|
14
|
+
AttachedFiles(): PDFArray | undefined;
|
|
12
15
|
getAcroForm(): PDFAcroForm | undefined;
|
|
13
16
|
getOrCreateAcroForm(): PDFAcroForm;
|
|
14
17
|
ViewerPreferences(): PDFDict | undefined;
|