@reportwright/pdf 0.1.0-beta.1 → 0.1.0-beta.2
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 +336 -15
- package/dist/index.js +289 -184
- package/examples/accessible.mjs +28 -0
- package/examples/encrypt.mjs +23 -0
- package/examples/fill-form.mjs +33 -0
- package/examples/indic.mjs +20 -0
- package/examples/invoice-facturx.mjs +40 -0
- package/examples/merge-split.mjs +29 -0
- package/examples/sign.mjs +29 -0
- package/examples/write.mjs +53 -0
- package/index.d.ts +3 -2
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ var __export = (target, all) => {
|
|
|
13
13
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
// src/core/sink.js
|
|
16
|
+
// packages/pdf/src/core/sink.js
|
|
17
17
|
function raced(p, signal) {
|
|
18
18
|
if (!signal) return p;
|
|
19
19
|
if (signal.aborted) {
|
|
@@ -112,11 +112,11 @@ function openSink(sink) {
|
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
var init_sink = __esm({
|
|
115
|
-
"src/core/sink.js"() {
|
|
115
|
+
"packages/pdf/src/core/sink.js"() {
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
|
|
119
|
-
// src/core/serialize.js
|
|
119
|
+
// packages/pdf/src/core/serialize.js
|
|
120
120
|
function latin1(s) {
|
|
121
121
|
const B = (
|
|
122
122
|
/** @type {any} */
|
|
@@ -129,7 +129,7 @@ function latin1(s) {
|
|
|
129
129
|
}
|
|
130
130
|
var num, hex4, utf16, text, ascii, pdfName, UTF8, DELIM, fontName, pdfDate, esc;
|
|
131
131
|
var init_serialize = __esm({
|
|
132
|
-
"src/core/serialize.js"() {
|
|
132
|
+
"packages/pdf/src/core/serialize.js"() {
|
|
133
133
|
num = (v) => {
|
|
134
134
|
if (typeof v !== "number" || !(Math.abs(v) < 1e9)) throw new RangeError(`Not a usable number: ${v}`);
|
|
135
135
|
const r = Math.round(v * 1e3) / 1e3;
|
|
@@ -166,7 +166,7 @@ var init_serialize = __esm({
|
|
|
166
166
|
}
|
|
167
167
|
});
|
|
168
168
|
|
|
169
|
-
//
|
|
169
|
+
// ../reportwright/node_modules/fflate/esm/browser.js
|
|
170
170
|
function deflateSync(data, opts) {
|
|
171
171
|
return dopt(data, opts || {}, 0, 0);
|
|
172
172
|
}
|
|
@@ -183,7 +183,7 @@ function zlibSync(data, opts) {
|
|
|
183
183
|
}
|
|
184
184
|
var u8, u16, i32, fleb, fdeb, clim, freb, _a, fl, revfl, _b, fd, revfd, rev, x, i, hMap, flt, i, i, i, i, fdt, i, flm, flrm, fdm, fdrm, max, bits, bits16, shft, slc, ec, err, inflt, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, deo, et, dflt, adler, dopt, wbytes, zlh, zls, Inflate, Unzlib, td, tds;
|
|
185
185
|
var init_browser = __esm({
|
|
186
|
-
"
|
|
186
|
+
"../reportwright/node_modules/fflate/esm/browser.js"() {
|
|
187
187
|
u8 = Uint8Array;
|
|
188
188
|
u16 = Uint16Array;
|
|
189
189
|
i32 = Int32Array;
|
|
@@ -956,7 +956,7 @@ var init_browser = __esm({
|
|
|
956
956
|
}
|
|
957
957
|
});
|
|
958
958
|
|
|
959
|
-
// src/core/deflate.js
|
|
959
|
+
// packages/pdf/src/core/deflate.js
|
|
960
960
|
async function deflate(bytes) {
|
|
961
961
|
if (slots.free > 0) slots.free--;
|
|
962
962
|
else await new Promise((ok) => slots.wait.push(
|
|
@@ -1044,7 +1044,7 @@ function deflateStream() {
|
|
|
1044
1044
|
}
|
|
1045
1045
|
var NODE_ZLIB, slots;
|
|
1046
1046
|
var init_deflate = __esm({
|
|
1047
|
-
"src/core/deflate.js"() {
|
|
1047
|
+
"packages/pdf/src/core/deflate.js"() {
|
|
1048
1048
|
init_browser();
|
|
1049
1049
|
NODE_ZLIB = /** @type {any} */
|
|
1050
1050
|
globalThis.process?.getBuiltinModule?.("node:zlib");
|
|
@@ -1055,7 +1055,7 @@ var init_deflate = __esm({
|
|
|
1055
1055
|
}
|
|
1056
1056
|
});
|
|
1057
1057
|
|
|
1058
|
-
// src/core/objects.js
|
|
1058
|
+
// packages/pdf/src/core/objects.js
|
|
1059
1059
|
function createObjects(out, o) {
|
|
1060
1060
|
let pos = 0, nextNum = 0;
|
|
1061
1061
|
const blocks = [];
|
|
@@ -1335,7 +1335,7 @@ ${xref}
|
|
|
1335
1335
|
}
|
|
1336
1336
|
var CHUNK, OBJSTM, XBITS, XB, BYTERANGE;
|
|
1337
1337
|
var init_objects = __esm({
|
|
1338
|
-
"src/core/objects.js"() {
|
|
1338
|
+
"packages/pdf/src/core/objects.js"() {
|
|
1339
1339
|
init_serialize();
|
|
1340
1340
|
init_deflate();
|
|
1341
1341
|
init_sink();
|
|
@@ -1347,7 +1347,7 @@ var init_objects = __esm({
|
|
|
1347
1347
|
}
|
|
1348
1348
|
});
|
|
1349
1349
|
|
|
1350
|
-
// src/standards/xmp.js
|
|
1350
|
+
// packages/pdf/src/standards/xmp.js
|
|
1351
1351
|
function checkExt(x2) {
|
|
1352
1352
|
if (!NAME.test(x2.prefix)) throw new TypeError(`XMP: the schema prefix ${JSON.stringify(x2.prefix)} is not an XML name`);
|
|
1353
1353
|
if (typeof x2.ns !== "string" || !/^[A-Za-z][A-Za-z0-9+.-]*:[^\s<>"'&]{1,256}$/.test(x2.ns)) throw new TypeError(`XMP: the namespace ${JSON.stringify(x2.ns)} is not a URI`);
|
|
@@ -1379,7 +1379,7 @@ ${pdfa ? `<rdf:Description rdf:about="" xmlns:pdfaid="http://www.aiim.org/pdfa/n
|
|
|
1379
1379
|
}
|
|
1380
1380
|
var PRODUCER, xml, NAME, PDFUA;
|
|
1381
1381
|
var init_xmp = __esm({
|
|
1382
|
-
"src/standards/xmp.js"() {
|
|
1382
|
+
"packages/pdf/src/standards/xmp.js"() {
|
|
1383
1383
|
PRODUCER = "@reportwright/pdf";
|
|
1384
1384
|
xml = (s) => String(s).replace(/[\0-\x08\x0b\x0c\x0e-\x1f]|[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/g, "").replace(/[<>&"']/g, (c) => (
|
|
1385
1385
|
/** @type {any} */
|
|
@@ -1396,7 +1396,7 @@ var init_xmp = __esm({
|
|
|
1396
1396
|
}
|
|
1397
1397
|
});
|
|
1398
1398
|
|
|
1399
|
-
// src/core/brand.js
|
|
1399
|
+
// packages/pdf/src/core/brand.js
|
|
1400
1400
|
function brand(obj, kind, doc, data) {
|
|
1401
1401
|
brands.set(obj, { kind, doc, data });
|
|
1402
1402
|
return obj;
|
|
@@ -1457,14 +1457,14 @@ function guarded(api) {
|
|
|
1457
1457
|
}
|
|
1458
1458
|
var brands, kindOf, MAX_SNAPSHOT;
|
|
1459
1459
|
var init_brand = __esm({
|
|
1460
|
-
"src/core/brand.js"() {
|
|
1460
|
+
"packages/pdf/src/core/brand.js"() {
|
|
1461
1461
|
brands = /* @__PURE__ */ new WeakMap();
|
|
1462
1462
|
kindOf = (v) => v !== null && typeof v === "object" ? brands.get(v)?.kind : void 0;
|
|
1463
1463
|
MAX_SNAPSHOT = 16e6;
|
|
1464
1464
|
}
|
|
1465
1465
|
});
|
|
1466
1466
|
|
|
1467
|
-
// src/document.js
|
|
1467
|
+
// packages/pdf/src/document.js
|
|
1468
1468
|
function createDoc(out, o) {
|
|
1469
1469
|
const level = o.pdfaLevel ?? (o.pdfa ? { part: 2, conformance: "b", unicode: false } : null);
|
|
1470
1470
|
const objs = createObjects(out, { compress: o.compress, signal: o.signal, encrypt: o.encrypt, hash: o.hash, classic: level?.part === 1 });
|
|
@@ -1682,7 +1682,7 @@ function createDoc(out, o) {
|
|
|
1682
1682
|
}
|
|
1683
1683
|
var LEAF, IN_FLIGHT;
|
|
1684
1684
|
var init_document = __esm({
|
|
1685
|
-
"src/document.js"() {
|
|
1685
|
+
"packages/pdf/src/document.js"() {
|
|
1686
1686
|
init_objects();
|
|
1687
1687
|
init_deflate();
|
|
1688
1688
|
init_serialize();
|
|
@@ -1693,10 +1693,10 @@ var init_document = __esm({
|
|
|
1693
1693
|
}
|
|
1694
1694
|
});
|
|
1695
1695
|
|
|
1696
|
-
// src/content/content.js
|
|
1696
|
+
// packages/pdf/src/content/content.js
|
|
1697
1697
|
var Content;
|
|
1698
1698
|
var init_content = __esm({
|
|
1699
|
-
"src/content/content.js"() {
|
|
1699
|
+
"packages/pdf/src/content/content.js"() {
|
|
1700
1700
|
init_serialize();
|
|
1701
1701
|
Content = class {
|
|
1702
1702
|
constructor() {
|
|
@@ -1855,7 +1855,7 @@ var init_content = __esm({
|
|
|
1855
1855
|
}
|
|
1856
1856
|
});
|
|
1857
1857
|
|
|
1858
|
-
// src/standards/icc.js
|
|
1858
|
+
// packages/pdf/src/standards/icc.js
|
|
1859
1859
|
function parseIcc(bytes, what) {
|
|
1860
1860
|
const b = toBytes(bytes, what);
|
|
1861
1861
|
const bad = (m) => new TypeError(`${what}: not a usable ICC profile (${m})`);
|
|
@@ -1887,14 +1887,14 @@ function toBytes(v, what) {
|
|
|
1887
1887
|
}
|
|
1888
1888
|
var MAX_ICC, SPACES, tag;
|
|
1889
1889
|
var init_icc = __esm({
|
|
1890
|
-
"src/standards/icc.js"() {
|
|
1890
|
+
"packages/pdf/src/standards/icc.js"() {
|
|
1891
1891
|
MAX_ICC = 32 << 20;
|
|
1892
1892
|
SPACES = /* @__PURE__ */ new Map([["GRAY", 1], ["RGB ", 3], ["CMYK", 4]]);
|
|
1893
1893
|
tag = (b, i2) => String.fromCharCode(b[i2], b[i2 + 1], b[i2 + 2], b[i2 + 3]);
|
|
1894
1894
|
}
|
|
1895
1895
|
});
|
|
1896
1896
|
|
|
1897
|
-
// src/graphics/color.js
|
|
1897
|
+
// packages/pdf/src/graphics/color.js
|
|
1898
1898
|
function cmyk(c, m, y, k) {
|
|
1899
1899
|
const v = [c, m, y, k];
|
|
1900
1900
|
if (!v.every(unit)) throw new RangeError(`cmyk(c, m, y, k): each is 0–1, not ${v.join(", ")}`);
|
|
@@ -1977,7 +1977,7 @@ async function iccColorSpace(doc, bytes) {
|
|
|
1977
1977
|
}
|
|
1978
1978
|
var DEVICE, unit, CSS_RGB, base, spots;
|
|
1979
1979
|
var init_color = __esm({
|
|
1980
|
-
"src/graphics/color.js"() {
|
|
1980
|
+
"packages/pdf/src/graphics/color.js"() {
|
|
1981
1981
|
init_serialize();
|
|
1982
1982
|
init_brand();
|
|
1983
1983
|
init_icc();
|
|
@@ -1989,7 +1989,7 @@ var init_color = __esm({
|
|
|
1989
1989
|
}
|
|
1990
1990
|
});
|
|
1991
1991
|
|
|
1992
|
-
// src/text/runs.js
|
|
1992
|
+
// packages/pdf/src/text/runs.js
|
|
1993
1993
|
function spacing(o) {
|
|
1994
1994
|
const tc = o?.characterSpacing ?? 0, tw = o?.wordSpacing ?? 0, tz = o?.horizontalScaling ?? 100;
|
|
1995
1995
|
num(tc);
|
|
@@ -2124,7 +2124,7 @@ function runOps(run2, size, rise, tw, standard, tc = 0) {
|
|
|
2124
2124
|
}
|
|
2125
2125
|
var WS, RTL_RANGES, dirOf, maybeRtl, RTL, LTR;
|
|
2126
2126
|
var init_runs = __esm({
|
|
2127
|
-
"src/text/runs.js"() {
|
|
2127
|
+
"packages/pdf/src/text/runs.js"() {
|
|
2128
2128
|
init_serialize();
|
|
2129
2129
|
WS = /^\s$/u;
|
|
2130
2130
|
RTL_RANGES = "-ࣿיִ-﷿ﹰ-\uFEFF";
|
|
@@ -2138,7 +2138,7 @@ var init_runs = __esm({
|
|
|
2138
2138
|
}
|
|
2139
2139
|
});
|
|
2140
2140
|
|
|
2141
|
-
// src/text/text.js
|
|
2141
|
+
// packages/pdf/src/text/text.js
|
|
2142
2142
|
function fontsOf(page, o, who) {
|
|
2143
2143
|
const font = o?.font;
|
|
2144
2144
|
if (!font || typeof font.encode !== "function") throw new TypeError(`${who}: options.font is required (pdf.standardFont(name) or await pdf.embedFont(bytes))`);
|
|
@@ -2207,7 +2207,7 @@ function text2(str3, o) {
|
|
|
2207
2207
|
}
|
|
2208
2208
|
var MAX_TEXT, MODES, PLAIN, PLAIN_STATE;
|
|
2209
2209
|
var init_text = __esm({
|
|
2210
|
-
"src/text/text.js"() {
|
|
2210
|
+
"packages/pdf/src/text/text.js"() {
|
|
2211
2211
|
init_color();
|
|
2212
2212
|
init_serialize();
|
|
2213
2213
|
init_brand();
|
|
@@ -2219,7 +2219,7 @@ var init_text = __esm({
|
|
|
2219
2219
|
}
|
|
2220
2220
|
});
|
|
2221
2221
|
|
|
2222
|
-
// src/text/box.js
|
|
2222
|
+
// packages/pdf/src/text/box.js
|
|
2223
2223
|
function textBox(str3, o) {
|
|
2224
2224
|
const fonts = fontsOf(this, o, "page.textBox");
|
|
2225
2225
|
const size = o.size ?? 12, x2 = o.x ?? 0, y = o.y ?? 0, W = o.width;
|
|
@@ -2343,7 +2343,7 @@ function textBox(str3, o) {
|
|
|
2343
2343
|
}
|
|
2344
2344
|
var MAX_LINES;
|
|
2345
2345
|
var init_box = __esm({
|
|
2346
|
-
"src/text/box.js"() {
|
|
2346
|
+
"packages/pdf/src/text/box.js"() {
|
|
2347
2347
|
init_serialize();
|
|
2348
2348
|
init_runs();
|
|
2349
2349
|
init_text();
|
|
@@ -2351,7 +2351,7 @@ var init_box = __esm({
|
|
|
2351
2351
|
}
|
|
2352
2352
|
});
|
|
2353
2353
|
|
|
2354
|
-
// src/graphics/svg.js
|
|
2354
|
+
// packages/pdf/src/graphics/svg.js
|
|
2355
2355
|
function parseSvgPath(d, path2) {
|
|
2356
2356
|
if (typeof d !== "string") throw new TypeError("svgPath: the path data is a string");
|
|
2357
2357
|
if (d.length > MAX_SVG) throw new RangeError(`svgPath: the path data is ${d.length} characters; at most ${MAX_SVG} (10 MB)`);
|
|
@@ -2515,7 +2515,7 @@ function arc(path2, x0, y0, rx, ry, phi, large, sweep, x2, y) {
|
|
|
2515
2515
|
}
|
|
2516
2516
|
var MAX_SVG, ARGS;
|
|
2517
2517
|
var init_svg = __esm({
|
|
2518
|
-
"src/graphics/svg.js"() {
|
|
2518
|
+
"packages/pdf/src/graphics/svg.js"() {
|
|
2519
2519
|
init_path();
|
|
2520
2520
|
MAX_SVG = 10 * 1024 * 1024;
|
|
2521
2521
|
ARGS = /** @type {Record<string, number>} */
|
|
@@ -2523,14 +2523,14 @@ var init_svg = __esm({
|
|
|
2523
2523
|
}
|
|
2524
2524
|
});
|
|
2525
2525
|
|
|
2526
|
-
// src/graphics/path.js
|
|
2526
|
+
// packages/pdf/src/graphics/path.js
|
|
2527
2527
|
function coord(v, what) {
|
|
2528
2528
|
if (typeof v !== "number" || !(Math.abs(v) < 1e9)) throw new RangeError(`${what}: ${v} is not a usable number (finite, under 1e9 in size)`);
|
|
2529
2529
|
return v;
|
|
2530
2530
|
}
|
|
2531
2531
|
var MAX_SEGMENTS, TAU, Path;
|
|
2532
2532
|
var init_path = __esm({
|
|
2533
|
-
"src/graphics/path.js"() {
|
|
2533
|
+
"packages/pdf/src/graphics/path.js"() {
|
|
2534
2534
|
init_serialize();
|
|
2535
2535
|
init_svg();
|
|
2536
2536
|
MAX_SEGMENTS = 1e6;
|
|
@@ -2743,7 +2743,7 @@ var init_path = __esm({
|
|
|
2743
2743
|
}
|
|
2744
2744
|
});
|
|
2745
2745
|
|
|
2746
|
-
// src/graphics/paint.js
|
|
2746
|
+
// packages/pdf/src/graphics/paint.js
|
|
2747
2747
|
function oneSpace(cols, doc) {
|
|
2748
2748
|
const r = cols.map((c) => resolve(c, doc));
|
|
2749
2749
|
if (r.every((x2) => x2.cs === DEVICE[1] || x2.cs === DEVICE[3]) && r.some((x2) => x2.cs === DEVICE[3])) {
|
|
@@ -2849,7 +2849,7 @@ function tilingPattern(o, draw) {
|
|
|
2849
2849
|
}
|
|
2850
2850
|
var MAX_STOPS, shading, base2;
|
|
2851
2851
|
var init_paint = __esm({
|
|
2852
|
-
"src/graphics/paint.js"() {
|
|
2852
|
+
"packages/pdf/src/graphics/paint.js"() {
|
|
2853
2853
|
init_serialize();
|
|
2854
2854
|
init_color();
|
|
2855
2855
|
init_draw();
|
|
@@ -2860,7 +2860,7 @@ var init_paint = __esm({
|
|
|
2860
2860
|
}
|
|
2861
2861
|
});
|
|
2862
2862
|
|
|
2863
|
-
// src/standards/level.js
|
|
2863
|
+
// packages/pdf/src/standards/level.js
|
|
2864
2864
|
function pdfaLevel(pdfa, tagged) {
|
|
2865
2865
|
if (pdfa == null || pdfa === false) return null;
|
|
2866
2866
|
if (pdfa === true) return { part: 2, conformance: "b", unicode: false };
|
|
@@ -2877,11 +2877,11 @@ function refuseInA1(doc, what, why) {
|
|
|
2877
2877
|
if (d.pdfaLevel?.part === 1) throw new TypeError(`${what}: PDF/A-1 (ISO 19005-1) ${why}; use PDF/A-2 or 3 (pdfa: { part: 2 })`);
|
|
2878
2878
|
}
|
|
2879
2879
|
var init_level = __esm({
|
|
2880
|
-
"src/standards/level.js"() {
|
|
2880
|
+
"packages/pdf/src/standards/level.js"() {
|
|
2881
2881
|
}
|
|
2882
2882
|
});
|
|
2883
2883
|
|
|
2884
|
-
// src/graphics/draw.js
|
|
2884
|
+
// packages/pdf/src/graphics/draw.js
|
|
2885
2885
|
function state(page) {
|
|
2886
2886
|
let s = states.get(page);
|
|
2887
2887
|
if (!s) states.set(page, s = { m: [1, 0, 0, 1, 0, 0], stack: [], transparent: false, watched: false });
|
|
@@ -3066,7 +3066,7 @@ function figure(o, fn) {
|
|
|
3066
3066
|
}
|
|
3067
3067
|
var MAX_DEPTH, MAX_DEPTH_PDFA, MAX_DASH, BLEND_MODES, BLEND, CAPS, JOINS, GROUP, states, mul, flip, num6, matrix, rule;
|
|
3068
3068
|
var init_draw = __esm({
|
|
3069
|
-
"src/graphics/draw.js"() {
|
|
3069
|
+
"packages/pdf/src/graphics/draw.js"() {
|
|
3070
3070
|
init_serialize();
|
|
3071
3071
|
init_path();
|
|
3072
3072
|
init_paint();
|
|
@@ -3098,7 +3098,7 @@ var init_draw = __esm({
|
|
|
3098
3098
|
}
|
|
3099
3099
|
});
|
|
3100
3100
|
|
|
3101
|
-
// src/graphics/shapes.js
|
|
3101
|
+
// packages/pdf/src/graphics/shapes.js
|
|
3102
3102
|
function line(x1, y1, x2, y2, o = {}) {
|
|
3103
3103
|
const c = this.content, H = this.height;
|
|
3104
3104
|
const gs = gstate(this, o);
|
|
@@ -3138,14 +3138,14 @@ function rect(x2, y, w, h, o = {}) {
|
|
|
3138
3138
|
return this;
|
|
3139
3139
|
}
|
|
3140
3140
|
var init_shapes = __esm({
|
|
3141
|
-
"src/graphics/shapes.js"() {
|
|
3141
|
+
"packages/pdf/src/graphics/shapes.js"() {
|
|
3142
3142
|
init_serialize();
|
|
3143
3143
|
init_color();
|
|
3144
3144
|
init_draw();
|
|
3145
3145
|
}
|
|
3146
3146
|
});
|
|
3147
3147
|
|
|
3148
|
-
// src/nav/trees.js
|
|
3148
|
+
// packages/pdf/src/nav/trees.js
|
|
3149
3149
|
async function writeTree(doc, kind, entries) {
|
|
3150
3150
|
let level = [];
|
|
3151
3151
|
for (let i2 = 0; i2 < entries.length; i2 += LEAF2) {
|
|
@@ -3173,14 +3173,14 @@ function setNames(doc, key, ref) {
|
|
|
3173
3173
|
}
|
|
3174
3174
|
var LEAF2, names;
|
|
3175
3175
|
var init_trees = __esm({
|
|
3176
|
-
"src/nav/trees.js"() {
|
|
3176
|
+
"packages/pdf/src/nav/trees.js"() {
|
|
3177
3177
|
init_serialize();
|
|
3178
3178
|
LEAF2 = 64;
|
|
3179
3179
|
names = /* @__PURE__ */ new WeakMap();
|
|
3180
3180
|
}
|
|
3181
3181
|
});
|
|
3182
3182
|
|
|
3183
|
-
// src/nav/dest.js
|
|
3183
|
+
// packages/pdf/src/nav/dest.js
|
|
3184
3184
|
function pageIndex(doc, page, who) {
|
|
3185
3185
|
if (typeof page === "number") {
|
|
3186
3186
|
if (!(Number.isInteger(page) && page >= 1)) throw new RangeError(`${who}: page is a whole number from 1`);
|
|
@@ -3274,7 +3274,7 @@ function create(doc) {
|
|
|
3274
3274
|
}
|
|
3275
3275
|
var FITS, MAX_NAMES, MAX_NAME_BYTES, UTF82, hexOf, registries;
|
|
3276
3276
|
var init_dest = __esm({
|
|
3277
|
-
"src/nav/dest.js"() {
|
|
3277
|
+
"packages/pdf/src/nav/dest.js"() {
|
|
3278
3278
|
init_serialize();
|
|
3279
3279
|
init_brand();
|
|
3280
3280
|
init_trees();
|
|
@@ -3291,7 +3291,7 @@ var init_dest = __esm({
|
|
|
3291
3291
|
}
|
|
3292
3292
|
});
|
|
3293
3293
|
|
|
3294
|
-
// src/nav/links.js
|
|
3294
|
+
// packages/pdf/src/nav/links.js
|
|
3295
3295
|
function checkUrl(raw, allow, who) {
|
|
3296
3296
|
if (typeof raw !== "string") throw new TypeError(`${who}: url is a string`);
|
|
3297
3297
|
if (raw.length > MAX_URL) throw new RangeError(`${who}: a URL is at most ${MAX_URL} characters`);
|
|
@@ -3415,7 +3415,7 @@ function dashArray(d, who) {
|
|
|
3415
3415
|
}
|
|
3416
3416
|
var NEVER, DEFAULT_SCHEMES, ACTIVE, NAMED, MAX_URL, MAX_QUADS, HIGHLIGHT, BORDER;
|
|
3417
3417
|
var init_links = __esm({
|
|
3418
|
-
"src/nav/links.js"() {
|
|
3418
|
+
"packages/pdf/src/nav/links.js"() {
|
|
3419
3419
|
init_serialize();
|
|
3420
3420
|
init_color();
|
|
3421
3421
|
init_dest();
|
|
@@ -3430,7 +3430,7 @@ var init_links = __esm({
|
|
|
3430
3430
|
}
|
|
3431
3431
|
});
|
|
3432
3432
|
|
|
3433
|
-
// src/images/png.js
|
|
3433
|
+
// packages/pdf/src/images/png.js
|
|
3434
3434
|
function crc32(b, from, to) {
|
|
3435
3435
|
if (!CRC_TABLE) {
|
|
3436
3436
|
CRC_TABLE = new Uint32Array(256);
|
|
@@ -3489,6 +3489,7 @@ function readPng(b) {
|
|
|
3489
3489
|
return png;
|
|
3490
3490
|
}
|
|
3491
3491
|
async function inflateExact(idat, size, onData, drain = null) {
|
|
3492
|
+
if (NODE_ZLIB2 && size <= SYNC_MAX) return inflateNode(idat, size, onData, drain);
|
|
3492
3493
|
let n = 0, done = false, total = 0;
|
|
3493
3494
|
const z = new Unzlib((chunk, final) => {
|
|
3494
3495
|
if (n + chunk.length > size) throw new TypeError(`PNG: the image data inflates past the ${size.toLocaleString("en")} bytes its header allows (corrupt, or a zip bomb)`);
|
|
@@ -3521,6 +3522,37 @@ async function inflateExact(idat, size, onData, drain = null) {
|
|
|
3521
3522
|
if (!(rest instanceof Uint8Array) || typeof bit !== "number") throw new Error("PNG: internal: the inflater does not report where the zlib stream ends");
|
|
3522
3523
|
return total - rest.length + (bit ? 1 : 0);
|
|
3523
3524
|
}
|
|
3525
|
+
async function inflateNode(idat, size, onData, drain = null) {
|
|
3526
|
+
let total = 0;
|
|
3527
|
+
for (const d of idat) total += d.length;
|
|
3528
|
+
let src = idat[0];
|
|
3529
|
+
if (idat.length > 1) {
|
|
3530
|
+
src = new Uint8Array(total);
|
|
3531
|
+
let at = 0;
|
|
3532
|
+
for (const d of idat) {
|
|
3533
|
+
src.set(d, at);
|
|
3534
|
+
at += d.length;
|
|
3535
|
+
}
|
|
3536
|
+
}
|
|
3537
|
+
let r;
|
|
3538
|
+
try {
|
|
3539
|
+
r = NODE_ZLIB2.inflateSync(src, { info: true, maxOutputLength: Math.max(1, size) });
|
|
3540
|
+
} catch (e) {
|
|
3541
|
+
const code = (
|
|
3542
|
+
/** @type {any} */
|
|
3543
|
+
e.code
|
|
3544
|
+
);
|
|
3545
|
+
if (code === "ERR_BUFFER_TOO_LARGE") throw new TypeError(`PNG: the image data inflates past the ${size.toLocaleString("en")} bytes its header allows (corrupt, or a zip bomb)`);
|
|
3546
|
+
if (code === "Z_BUF_ERROR") throw new TypeError(`PNG: truncated image data (the zlib stream ends early)`);
|
|
3547
|
+
throw new TypeError(`PNG: corrupt image data (${/** @type {Error} */
|
|
3548
|
+
e.message})`);
|
|
3549
|
+
}
|
|
3550
|
+
const out = new Uint8Array(r.buffer.buffer, r.buffer.byteOffset, r.buffer.length);
|
|
3551
|
+
if (out.length !== size) throw new TypeError(`PNG: truncated image data (${out.length.toLocaleString("en")} of ${size.toLocaleString("en")} bytes)`);
|
|
3552
|
+
if (onData) onData(out, 0);
|
|
3553
|
+
if (drain) await drain();
|
|
3554
|
+
return r.engine.bytesWritten;
|
|
3555
|
+
}
|
|
3524
3556
|
function unfilterRow(f, c, p, bpp) {
|
|
3525
3557
|
const rb = c.length;
|
|
3526
3558
|
if (f > 4) throw new TypeError(`PNG: unknown row filter ${f}`);
|
|
@@ -3545,29 +3577,58 @@ function unfilterRow(f, c, p, bpp) {
|
|
|
3545
3577
|
}
|
|
3546
3578
|
}
|
|
3547
3579
|
function filterRow(x2, up, bpp, out, o, t) {
|
|
3548
|
-
const rb = x2.length;
|
|
3549
|
-
let
|
|
3550
|
-
for (let
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3580
|
+
const rb = x2.length, m = Math.min(bpp, rb);
|
|
3581
|
+
let best = 0, sum = 0;
|
|
3582
|
+
for (let i2 = 0; i2 < rb; i2++) {
|
|
3583
|
+
const v = x2[i2];
|
|
3584
|
+
sum += v < 128 ? v : 256 - v;
|
|
3585
|
+
}
|
|
3586
|
+
out[o] = 0;
|
|
3587
|
+
out.set(x2, o + 1);
|
|
3588
|
+
best = sum;
|
|
3589
|
+
sum = 0;
|
|
3590
|
+
for (let i2 = 0; i2 < m; i2++) {
|
|
3591
|
+
const v = x2[i2];
|
|
3592
|
+
t[i2] = v;
|
|
3593
|
+
sum += v < 128 ? v : 256 - v;
|
|
3594
|
+
}
|
|
3595
|
+
for (let i2 = m; i2 < rb; i2++) {
|
|
3596
|
+
const v = x2[i2] - x2[i2 - bpp] & 255;
|
|
3597
|
+
t[i2] = v;
|
|
3598
|
+
sum += v < 128 ? v : 256 - v;
|
|
3599
|
+
}
|
|
3600
|
+
if (sum < best) {
|
|
3601
|
+
best = sum;
|
|
3602
|
+
out[o] = 1;
|
|
3603
|
+
out.set(t, o + 1);
|
|
3604
|
+
}
|
|
3605
|
+
if (!up) return;
|
|
3606
|
+
sum = 0;
|
|
3607
|
+
for (let i2 = 0; i2 < rb; i2++) {
|
|
3608
|
+
const v = x2[i2] - up[i2] & 255;
|
|
3609
|
+
t[i2] = v;
|
|
3610
|
+
sum += v < 128 ? v : 256 - v;
|
|
3611
|
+
}
|
|
3612
|
+
if (sum < best) {
|
|
3613
|
+
best = sum;
|
|
3614
|
+
out[o] = 2;
|
|
3615
|
+
out.set(t, o + 1);
|
|
3616
|
+
}
|
|
3617
|
+
sum = 0;
|
|
3618
|
+
for (let i2 = 0; i2 < m; i2++) {
|
|
3619
|
+
const v = x2[i2] - up[i2] & 255;
|
|
3620
|
+
t[i2] = v;
|
|
3621
|
+
sum += v < 128 ? v : 256 - v;
|
|
3622
|
+
}
|
|
3623
|
+
for (let i2 = m; i2 < rb; i2++) {
|
|
3624
|
+
const a = x2[i2 - bpp], u = up[i2], c = up[i2 - bpp], pa = Math.abs(u - c), pb = Math.abs(a - c), pc = Math.abs(a + u - c - c);
|
|
3625
|
+
const v = x2[i2] - (pa <= pb && pa <= pc ? a : pb <= pc ? u : c) & 255;
|
|
3626
|
+
t[i2] = v;
|
|
3627
|
+
sum += v < 128 ? v : 256 - v;
|
|
3628
|
+
}
|
|
3629
|
+
if (sum < best) {
|
|
3630
|
+
out[o] = 4;
|
|
3631
|
+
out.set(t, o + 1);
|
|
3571
3632
|
}
|
|
3572
3633
|
}
|
|
3573
3634
|
async function decodePng(p, maxDecoded = MAX_DECODED) {
|
|
@@ -3685,14 +3746,17 @@ async function decodePng(p, maxDecoded = MAX_DECODED) {
|
|
|
3685
3746
|
};
|
|
3686
3747
|
return { ...head, filtered: false, alpha: hasAlpha, rows };
|
|
3687
3748
|
}
|
|
3688
|
-
var MAX_SIDE, MAX_PIXELS, MAX_DECODED, STEP, DEPTHS, CHANNELS, ADAM7, CRC_TABLE, isPng, rawSize, filterBytes;
|
|
3749
|
+
var MAX_SIDE, MAX_PIXELS, MAX_DECODED, STEP, NODE_ZLIB2, SYNC_MAX, DEPTHS, CHANNELS, ADAM7, CRC_TABLE, isPng, rawSize, filterBytes;
|
|
3689
3750
|
var init_png = __esm({
|
|
3690
|
-
"src/images/png.js"() {
|
|
3751
|
+
"packages/pdf/src/images/png.js"() {
|
|
3691
3752
|
init_browser();
|
|
3692
3753
|
MAX_SIDE = 65535;
|
|
3693
3754
|
MAX_PIXELS = 1e8;
|
|
3694
3755
|
MAX_DECODED = 64 << 20;
|
|
3695
3756
|
STEP = 1024;
|
|
3757
|
+
NODE_ZLIB2 = /** @type {any} */
|
|
3758
|
+
globalThis.process?.getBuiltinModule?.("node:zlib");
|
|
3759
|
+
SYNC_MAX = 32 << 20;
|
|
3696
3760
|
DEPTHS = { 0: [1, 2, 4, 8, 16], 2: [8, 16], 3: [1, 2, 4, 8], 4: [8, 16], 6: [8, 16] };
|
|
3697
3761
|
CHANNELS = { 0: 1, 2: 3, 3: 1, 4: 2, 6: 4 };
|
|
3698
3762
|
ADAM7 = [[0, 0, 8, 8], [4, 0, 8, 8], [0, 4, 4, 8], [2, 0, 4, 4], [0, 2, 2, 4], [1, 0, 2, 2], [0, 1, 1, 2]];
|
|
@@ -3709,7 +3773,7 @@ var init_png = __esm({
|
|
|
3709
3773
|
}
|
|
3710
3774
|
});
|
|
3711
3775
|
|
|
3712
|
-
// src/images/jpeg.js
|
|
3776
|
+
// packages/pdf/src/images/jpeg.js
|
|
3713
3777
|
function readJpeg(b) {
|
|
3714
3778
|
const bad = (m) => new TypeError(`JPEG: ${m}`);
|
|
3715
3779
|
if (!isJpeg(b)) throw bad("no JPEG signature (FF D8)");
|
|
@@ -3780,22 +3844,47 @@ function exifOrientation(b, t, end) {
|
|
|
3780
3844
|
}
|
|
3781
3845
|
var isJpeg;
|
|
3782
3846
|
var init_jpeg = __esm({
|
|
3783
|
-
"src/images/jpeg.js"() {
|
|
3847
|
+
"packages/pdf/src/images/jpeg.js"() {
|
|
3784
3848
|
init_png();
|
|
3785
3849
|
isJpeg = (b) => b.length >= 3 && b[0] === 255 && b[1] === 216 && b[2] === 255;
|
|
3786
3850
|
}
|
|
3787
3851
|
});
|
|
3788
3852
|
|
|
3789
|
-
// src/images/image.js
|
|
3853
|
+
// packages/pdf/src/images/image.js
|
|
3790
3854
|
async function embedImage(doc, bytes, opt = {}) {
|
|
3791
3855
|
const b = toBytes(bytes, "embedImage");
|
|
3792
|
-
const own2 = (
|
|
3856
|
+
const own2 = (k2) => opt != null && Object.hasOwn(opt, k2) ? (
|
|
3793
3857
|
/** @type {any} */
|
|
3794
|
-
opt[
|
|
3858
|
+
opt[k2]
|
|
3795
3859
|
) : void 0;
|
|
3796
3860
|
const o = { colorSpace: own2("colorSpace"), maxDecodedBytes: own2("maxDecodedBytes") ?? MAX_DECODED };
|
|
3797
3861
|
if (!(Number.isSafeInteger(o.maxDecodedBytes) && o.maxDecodedBytes > 0)) throw new TypeError("embedImage: maxDecodedBytes is a whole number of bytes > 0");
|
|
3798
3862
|
if (b.length > MAX_INPUT) throw new RangeError(`embedImage: at most ${MAX_INPUT >> 20} MB`);
|
|
3863
|
+
let seen = SEEN.get(doc);
|
|
3864
|
+
if (!seen) SEEN.set(doc, seen = /* @__PURE__ */ new Map());
|
|
3865
|
+
const { key, copy } = await digest(b);
|
|
3866
|
+
const k = `${key} ${o.colorSpace == null ? "-" : idOf(o.colorSpace)} ${o.maxDecodedBytes}`;
|
|
3867
|
+
const hit = seen.get(k);
|
|
3868
|
+
if (hit && (!hit.copy || same(hit.copy, b))) return hit.img;
|
|
3869
|
+
const img = embed(doc, b, o);
|
|
3870
|
+
if (!hit) seen.set(k, { img, copy });
|
|
3871
|
+
img.catch(() => {
|
|
3872
|
+
if (seen.get(k)?.img === img) seen.delete(k);
|
|
3873
|
+
});
|
|
3874
|
+
return img;
|
|
3875
|
+
}
|
|
3876
|
+
async function digest(b) {
|
|
3877
|
+
if (NODE_CRYPTO) return { key: NODE_CRYPTO.createHash("sha256").update(b).digest("hex"), copy: null };
|
|
3878
|
+
const subtle = globalThis.crypto?.subtle;
|
|
3879
|
+
if (subtle) return { key: Array.from(new Uint8Array(await subtle.digest("SHA-256", b.slice())), (x2) => x2.toString(16).padStart(2, "0")).join(""), copy: null };
|
|
3880
|
+
let h1 = 2166136261, h2 = 2538058380;
|
|
3881
|
+
for (let i2 = 0; i2 < b.length; i2++) {
|
|
3882
|
+
h1 = Math.imul(h1 ^ b[i2], 16777619);
|
|
3883
|
+
h2 = Math.imul(h2 ^ b[i2], 1540483477) ^ h2 >>> 15;
|
|
3884
|
+
}
|
|
3885
|
+
return { key: `f${b.length}:${(h1 >>> 0).toString(16)}${(h2 >>> 0).toString(16)}`, copy: b.slice() };
|
|
3886
|
+
}
|
|
3887
|
+
async function embed(doc, b, o) {
|
|
3799
3888
|
const space = (n) => {
|
|
3800
3889
|
if (o.colorSpace != null) {
|
|
3801
3890
|
const icc = unbrand(o.colorSpace, "icc", doc, "ICC colour space (pdf.iccColorSpace)");
|
|
@@ -3926,9 +4015,9 @@ function image(img, o = {}) {
|
|
|
3926
4015
|
else draw();
|
|
3927
4016
|
return page;
|
|
3928
4017
|
}
|
|
3929
|
-
var MAX_INPUT, ORIENT;
|
|
4018
|
+
var MAX_INPUT, ORIENT, SEEN, IDS, nextId, idOf, NODE_CRYPTO, same;
|
|
3930
4019
|
var init_image = __esm({
|
|
3931
|
-
"src/images/image.js"() {
|
|
4020
|
+
"packages/pdf/src/images/image.js"() {
|
|
3932
4021
|
init_serialize();
|
|
3933
4022
|
init_deflate();
|
|
3934
4023
|
init_brand();
|
|
@@ -3950,10 +4039,23 @@ var init_image = __esm({
|
|
|
3950
4039
|
[0, 1, 1, 0, 0, 0],
|
|
3951
4040
|
[0, 1, -1, 0, 1, 0]
|
|
3952
4041
|
];
|
|
4042
|
+
SEEN = /** @type {WeakMap<any, Map<string, { img: Promise<any>, copy: Uint8Array | null }>>} */
|
|
4043
|
+
/* @__PURE__ */ new WeakMap();
|
|
4044
|
+
IDS = /** @type {WeakMap<object, number>} */
|
|
4045
|
+
/* @__PURE__ */ new WeakMap();
|
|
4046
|
+
nextId = 0;
|
|
4047
|
+
idOf = (v) => v !== null && typeof v === "object" ? IDS.get(v) ?? (IDS.set(v, ++nextId), nextId) : `?${String(v)}`;
|
|
4048
|
+
NODE_CRYPTO = /** @type {any} */
|
|
4049
|
+
globalThis.process?.getBuiltinModule?.("node:crypto");
|
|
4050
|
+
same = (a, b) => {
|
|
4051
|
+
if (a.length !== b.length) return false;
|
|
4052
|
+
for (let i2 = 0; i2 < a.length; i2++) if (a[i2] !== b[i2]) return false;
|
|
4053
|
+
return true;
|
|
4054
|
+
};
|
|
3953
4055
|
}
|
|
3954
4056
|
});
|
|
3955
4057
|
|
|
3956
|
-
// src/annotations/annot.js
|
|
4058
|
+
// packages/pdf/src/annotations/annot.js
|
|
3957
4059
|
function dateOf(d, who) {
|
|
3958
4060
|
if (!(d instanceof Date) || isNaN(+d)) throw new TypeError(`${who}: a date is a valid Date`);
|
|
3959
4061
|
return pdfDate(d);
|
|
@@ -4024,7 +4126,7 @@ function addAnnot(page, subtype, box, own2, common, draw) {
|
|
|
4024
4126
|
}
|
|
4025
4127
|
var FLAGS, MAX_CONTENTS, no;
|
|
4026
4128
|
var init_annot = __esm({
|
|
4027
|
-
"src/annotations/annot.js"() {
|
|
4129
|
+
"packages/pdf/src/annotations/annot.js"() {
|
|
4028
4130
|
init_serialize();
|
|
4029
4131
|
init_brand();
|
|
4030
4132
|
init_content();
|
|
@@ -4037,7 +4139,7 @@ var init_annot = __esm({
|
|
|
4037
4139
|
}
|
|
4038
4140
|
});
|
|
4039
4141
|
|
|
4040
|
-
// src/annotations/markup.js
|
|
4142
|
+
// packages/pdf/src/annotations/markup.js
|
|
4041
4143
|
function boxOf(o, who) {
|
|
4042
4144
|
const b = [o?.x ?? 0, o?.y ?? 0, o?.width, o?.height];
|
|
4043
4145
|
for (const v of b) if (typeof v !== "number") throw new TypeError(`${who}: x, y, width and height are numbers`);
|
|
@@ -4240,7 +4342,7 @@ function stamp(o) {
|
|
|
4240
4342
|
}
|
|
4241
4343
|
var NOTE_ICONS, STAMPS, LINE_ENDINGS, MAX_POINTS, MAX_STROKES, dflt2, highlight, underline, strikeOut, squiggly, asciiHex;
|
|
4242
4344
|
var init_markup = __esm({
|
|
4243
|
-
"src/annotations/markup.js"() {
|
|
4345
|
+
"packages/pdf/src/annotations/markup.js"() {
|
|
4244
4346
|
init_serialize();
|
|
4245
4347
|
init_brand();
|
|
4246
4348
|
init_color();
|
|
@@ -4264,7 +4366,7 @@ var init_markup = __esm({
|
|
|
4264
4366
|
}
|
|
4265
4367
|
});
|
|
4266
4368
|
|
|
4267
|
-
// src/core/filename.js
|
|
4369
|
+
// packages/pdf/src/core/filename.js
|
|
4268
4370
|
function checkFileName(raw, o, who, again = false) {
|
|
4269
4371
|
if (typeof raw !== "string") throw new TypeError(`${who}: name (the file name) is a string`);
|
|
4270
4372
|
if (raw.length > MAX_IN) throw new RangeError(`${who}: a file name is at most ${MAX_BYTES} bytes (UTF-8)`);
|
|
@@ -4323,7 +4425,7 @@ function check(name, allow, risky, o, who) {
|
|
|
4323
4425
|
}
|
|
4324
4426
|
var MAX_IN, MAX_BYTES, BAD, SPACES2, SLASHES, DOTS, DEVICE2, PASSIVE, MIMES, UTF83;
|
|
4325
4427
|
var init_filename = __esm({
|
|
4326
|
-
"src/core/filename.js"() {
|
|
4428
|
+
"packages/pdf/src/core/filename.js"() {
|
|
4327
4429
|
MAX_IN = 4096;
|
|
4328
4430
|
MAX_BYTES = 255;
|
|
4329
4431
|
BAD = /[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Cs}<>:"|?*]/u;
|
|
@@ -4361,7 +4463,7 @@ var init_filename = __esm({
|
|
|
4361
4463
|
}
|
|
4362
4464
|
});
|
|
4363
4465
|
|
|
4364
|
-
// src/core/md5.js
|
|
4466
|
+
// packages/pdf/src/core/md5.js
|
|
4365
4467
|
function md5(bytes) {
|
|
4366
4468
|
const n = bytes.length, total = (n + 8 >>> 6) + 1 << 6;
|
|
4367
4469
|
const tail = new Uint8Array(total - (n & ~63));
|
|
@@ -4412,7 +4514,7 @@ function md5(bytes) {
|
|
|
4412
4514
|
}
|
|
4413
4515
|
var S, K;
|
|
4414
4516
|
var init_md5 = __esm({
|
|
4415
|
-
"src/core/md5.js"() {
|
|
4517
|
+
"packages/pdf/src/core/md5.js"() {
|
|
4416
4518
|
S = [
|
|
4417
4519
|
7,
|
|
4418
4520
|
12,
|
|
@@ -4483,7 +4585,7 @@ var init_md5 = __esm({
|
|
|
4483
4585
|
}
|
|
4484
4586
|
});
|
|
4485
4587
|
|
|
4486
|
-
// src/annotations/attach.js
|
|
4588
|
+
// packages/pdf/src/annotations/attach.js
|
|
4487
4589
|
function attachFile(bytes, o = (
|
|
4488
4590
|
/** @type {any} */
|
|
4489
4591
|
{}
|
|
@@ -4519,7 +4621,7 @@ function attachFile(bytes, o = (
|
|
|
4519
4621
|
}
|
|
4520
4622
|
var FILE_ICONS, MAX_FILE;
|
|
4521
4623
|
var init_attach = __esm({
|
|
4522
|
-
"src/annotations/attach.js"() {
|
|
4624
|
+
"packages/pdf/src/annotations/attach.js"() {
|
|
4523
4625
|
init_serialize();
|
|
4524
4626
|
init_filename();
|
|
4525
4627
|
init_md5();
|
|
@@ -4529,7 +4631,7 @@ var init_attach = __esm({
|
|
|
4529
4631
|
}
|
|
4530
4632
|
});
|
|
4531
4633
|
|
|
4532
|
-
// src/standards/layers.js
|
|
4634
|
+
// packages/pdf/src/standards/layers.js
|
|
4533
4635
|
function createLayers(doc) {
|
|
4534
4636
|
const all = [];
|
|
4535
4637
|
doc.onFinish(async () => {
|
|
@@ -4591,7 +4693,7 @@ function pageLayer(layer, fn) {
|
|
|
4591
4693
|
}
|
|
4592
4694
|
var MAX_LAYERS, MAX_NEST, depth;
|
|
4593
4695
|
var init_layers = __esm({
|
|
4594
|
-
"src/standards/layers.js"() {
|
|
4696
|
+
"packages/pdf/src/standards/layers.js"() {
|
|
4595
4697
|
init_serialize();
|
|
4596
4698
|
init_brand();
|
|
4597
4699
|
init_level();
|
|
@@ -4602,7 +4704,7 @@ var init_layers = __esm({
|
|
|
4602
4704
|
}
|
|
4603
4705
|
});
|
|
4604
4706
|
|
|
4605
|
-
// src/tags/tags.js
|
|
4707
|
+
// packages/pdf/src/tags/tags.js
|
|
4606
4708
|
function createTagger(doc, opt) {
|
|
4607
4709
|
const rootRef = doc.reserve(), docRef = doc.reserve();
|
|
4608
4710
|
const docKids = [];
|
|
@@ -4773,12 +4875,12 @@ function checkOptions(type, o) {
|
|
|
4773
4875
|
k
|
|
4774
4876
|
);
|
|
4775
4877
|
if (o.lang != null && (typeof o.lang !== "string" || !/^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8}){0,8}$/.test(o.lang))) throw new TypeError(`page.tag: lang is a language tag like "en" or "fr-CA", not ${JSON.stringify(o.lang)}`);
|
|
4776
|
-
if (o.id != null)
|
|
4878
|
+
if (o.id != null) idOf2(o.id);
|
|
4777
4879
|
if (o.scope != null && type !== "TH") throw new TypeError("page.tag: scope is for TH");
|
|
4778
4880
|
if (o.headers != null) {
|
|
4779
4881
|
if (type !== "TH" && type !== "TD") throw new TypeError("page.tag: headers is for TD and TH");
|
|
4780
4882
|
if (!Array.isArray(o.headers) || !o.headers.length || o.headers.length > 64) throw new TypeError("page.tag: headers is an array of 1–64 TH ids");
|
|
4781
|
-
o.headers.forEach(
|
|
4883
|
+
o.headers.forEach(idOf2);
|
|
4782
4884
|
}
|
|
4783
4885
|
for (
|
|
4784
4886
|
const k of
|
|
@@ -4809,9 +4911,9 @@ function artifact(o, fn) {
|
|
|
4809
4911
|
if (typeof fn !== "function") throw new TypeError("page.artifact: fn is a function that draws");
|
|
4810
4912
|
return this.doc.tags ? this.doc.tags.artifact(this, o, fn) : fn();
|
|
4811
4913
|
}
|
|
4812
|
-
var STRUCTURE_TYPES, ART, PARENTS, NUMBERING, ARTIFACT_TYPES, ARTIFACT_SUBTYPES, MAX_TEXT2, MAX_IDS, str,
|
|
4914
|
+
var STRUCTURE_TYPES, ART, PARENTS, NUMBERING, ARTIFACT_TYPES, ARTIFACT_SUBTYPES, MAX_TEXT2, MAX_IDS, str, idOf2;
|
|
4813
4915
|
var init_tags = __esm({
|
|
4814
|
-
"src/tags/tags.js"() {
|
|
4916
|
+
"packages/pdf/src/tags/tags.js"() {
|
|
4815
4917
|
init_serialize();
|
|
4816
4918
|
init_trees();
|
|
4817
4919
|
init_brand();
|
|
@@ -4894,14 +4996,14 @@ var init_tags = __esm({
|
|
|
4894
4996
|
if (typeof v !== "string" || v.length > MAX_TEXT2) throw new TypeError(`page.tag: ${k} is a string of at most ${MAX_TEXT2} characters`);
|
|
4895
4997
|
return v;
|
|
4896
4998
|
};
|
|
4897
|
-
|
|
4999
|
+
idOf2 = (v) => {
|
|
4898
5000
|
if (typeof v !== "string" || !/^[A-Za-z0-9_.:-]{1,64}$/.test(v)) throw new TypeError(`page.tag: an id is 1–64 letters, digits, _ . : or -, not ${JSON.stringify(v)}`);
|
|
4899
5001
|
return v;
|
|
4900
5002
|
};
|
|
4901
5003
|
}
|
|
4902
5004
|
});
|
|
4903
5005
|
|
|
4904
|
-
// src/page.js
|
|
5006
|
+
// packages/pdf/src/page.js
|
|
4905
5007
|
function install(methods) {
|
|
4906
5008
|
for (const [name, f] of Object.entries(methods)) {
|
|
4907
5009
|
Page.prototype[name] = function(...a) {
|
|
@@ -4912,7 +5014,7 @@ function install(methods) {
|
|
|
4912
5014
|
}
|
|
4913
5015
|
var MAX_ANNOTS, Page;
|
|
4914
5016
|
var init_page = __esm({
|
|
4915
|
-
"src/page.js"() {
|
|
5017
|
+
"packages/pdf/src/page.js"() {
|
|
4916
5018
|
init_content();
|
|
4917
5019
|
init_brand();
|
|
4918
5020
|
init_text();
|
|
@@ -4989,10 +5091,10 @@ var init_page = __esm({
|
|
|
4989
5091
|
}
|
|
4990
5092
|
});
|
|
4991
5093
|
|
|
4992
|
-
// src/fonts/standard-metrics.js
|
|
5094
|
+
// packages/pdf/src/fonts/standard-metrics.js
|
|
4993
5095
|
var ENCODINGS, METRICS;
|
|
4994
5096
|
var init_standard_metrics = __esm({
|
|
4995
|
-
"src/fonts/standard-metrics.js"() {
|
|
5097
|
+
"packages/pdf/src/fonts/standard-metrics.js"() {
|
|
4996
5098
|
ENCODINGS = {
|
|
4997
5099
|
WinAnsi: [
|
|
4998
5100
|
32,
|
|
@@ -10014,7 +10116,7 @@ var init_standard_metrics = __esm({
|
|
|
10014
10116
|
}
|
|
10015
10117
|
});
|
|
10016
10118
|
|
|
10017
|
-
// src/fonts/standard.js
|
|
10119
|
+
// packages/pdf/src/fonts/standard.js
|
|
10018
10120
|
function standardFont(doc, key) {
|
|
10019
10121
|
const m = typeof key === "string" && Object.hasOwn(METRICS, key) ? (
|
|
10020
10122
|
/** @type {any} */
|
|
@@ -10101,27 +10203,27 @@ function standardFont(doc, key) {
|
|
|
10101
10203
|
items(text3, o) {
|
|
10102
10204
|
const draw = !o.measure;
|
|
10103
10205
|
if (!o.rtl) {
|
|
10104
|
-
let a2 = 0, n2 = 0, sp2 = 0,
|
|
10206
|
+
let a2 = 0, n2 = 0, sp2 = 0, same2 = true;
|
|
10105
10207
|
for (let i2 = 0; i2 < text3.length; i2++) {
|
|
10106
10208
|
const c = text3.charCodeAt(i2);
|
|
10107
10209
|
if (c > 255) {
|
|
10108
|
-
|
|
10210
|
+
same2 = false;
|
|
10109
10211
|
break;
|
|
10110
10212
|
}
|
|
10111
10213
|
const w = W8[c];
|
|
10112
10214
|
if (w < 0) {
|
|
10113
|
-
|
|
10215
|
+
same2 = false;
|
|
10114
10216
|
break;
|
|
10115
10217
|
}
|
|
10116
10218
|
a2 += w;
|
|
10117
10219
|
n2++;
|
|
10118
10220
|
if (c === 32 && SP32) sp2++;
|
|
10119
10221
|
if (!SAME[c]) {
|
|
10120
|
-
|
|
10222
|
+
same2 = false;
|
|
10121
10223
|
break;
|
|
10122
10224
|
}
|
|
10123
10225
|
}
|
|
10124
|
-
if (
|
|
10226
|
+
if (same2) return { body: draw ? text3 : "", a: a2, n: n2, sp: sp2 };
|
|
10125
10227
|
}
|
|
10126
10228
|
let body = "", a = 0, n = 0, sp = 0;
|
|
10127
10229
|
for (const ch of o.rtl ? [...text3].reverse() : text3) {
|
|
@@ -10144,7 +10246,7 @@ function standardFont(doc, key) {
|
|
|
10144
10246
|
}
|
|
10145
10247
|
var STANDARD_NAMES, CODE;
|
|
10146
10248
|
var init_standard = __esm({
|
|
10147
|
-
"src/fonts/standard.js"() {
|
|
10249
|
+
"packages/pdf/src/fonts/standard.js"() {
|
|
10148
10250
|
init_brand();
|
|
10149
10251
|
init_standard_metrics();
|
|
10150
10252
|
init_serialize();
|
|
@@ -10155,7 +10257,7 @@ var init_standard = __esm({
|
|
|
10155
10257
|
}
|
|
10156
10258
|
});
|
|
10157
10259
|
|
|
10158
|
-
// src/fonts/truetype.js
|
|
10260
|
+
// packages/pdf/src/fonts/truetype.js
|
|
10159
10261
|
function sfntTables(bytes) {
|
|
10160
10262
|
if (bytes.length < 12) throw new TypeError("Not a font: too short");
|
|
10161
10263
|
const v = tagOf(bytes, 0);
|
|
@@ -10332,14 +10434,14 @@ function cmapLookup(dv) {
|
|
|
10332
10434
|
}
|
|
10333
10435
|
var broken, tagOf, view;
|
|
10334
10436
|
var init_truetype = __esm({
|
|
10335
|
-
"src/fonts/truetype.js"() {
|
|
10437
|
+
"packages/pdf/src/fonts/truetype.js"() {
|
|
10336
10438
|
broken = (why) => new TypeError(`Broken font: ${why}`);
|
|
10337
10439
|
tagOf = (b, p) => String.fromCharCode(b[p], b[p + 1], b[p + 2], b[p + 3]);
|
|
10338
10440
|
view = (b) => new DataView(b.buffer, b.byteOffset, b.byteLength);
|
|
10339
10441
|
}
|
|
10340
10442
|
});
|
|
10341
10443
|
|
|
10342
|
-
// src/fonts/subset.js
|
|
10444
|
+
// packages/pdf/src/fonts/subset.js
|
|
10343
10445
|
function subsetGlyf(bytes, glyphs2) {
|
|
10344
10446
|
const t = sfntTables(bytes);
|
|
10345
10447
|
const head = t.get("head"), loca = t.get("loca"), glyf = t.get("glyf"), maxp = t.get("maxp");
|
|
@@ -10435,7 +10537,7 @@ function buildSfnt(tables, version = [0, 1, 0, 0]) {
|
|
|
10435
10537
|
}
|
|
10436
10538
|
var KEEP, tableSum;
|
|
10437
10539
|
var init_subset = __esm({
|
|
10438
|
-
"src/fonts/subset.js"() {
|
|
10540
|
+
"packages/pdf/src/fonts/subset.js"() {
|
|
10439
10541
|
init_truetype();
|
|
10440
10542
|
KEEP = ["head", "hhea", "hmtx", "maxp", "cvt ", "fpgm", "prep", "OS/2", "name", "gasp"];
|
|
10441
10543
|
tableSum = (b, o, len) => {
|
|
@@ -10447,7 +10549,7 @@ var init_subset = __esm({
|
|
|
10447
10549
|
}
|
|
10448
10550
|
});
|
|
10449
10551
|
|
|
10450
|
-
// src/fonts/cff.js
|
|
10552
|
+
// packages/pdf/src/fonts/cff.js
|
|
10451
10553
|
function readIndex(t, p, what) {
|
|
10452
10554
|
if (p + 2 > t.length) throw broken2(`the CFF ${what} INDEX lies outside the table`);
|
|
10453
10555
|
const count = t[p] << 8 | t[p + 1];
|
|
@@ -10710,7 +10812,7 @@ function identityCharset(t, n) {
|
|
|
10710
10812
|
}
|
|
10711
10813
|
var broken2, MAX_STACK, MAX_DEPTH2, MAX_CS, BUDGET, FONT_BUDGET, bias;
|
|
10712
10814
|
var init_cff = __esm({
|
|
10713
|
-
"src/fonts/cff.js"() {
|
|
10815
|
+
"packages/pdf/src/fonts/cff.js"() {
|
|
10714
10816
|
broken2 = (why) => new TypeError(`Broken font: ${why}`);
|
|
10715
10817
|
MAX_STACK = 48;
|
|
10716
10818
|
MAX_DEPTH2 = 10;
|
|
@@ -10721,7 +10823,7 @@ var init_cff = __esm({
|
|
|
10721
10823
|
}
|
|
10722
10824
|
});
|
|
10723
10825
|
|
|
10724
|
-
// src/fonts/kern.js
|
|
10826
|
+
// packages/pdf/src/fonts/kern.js
|
|
10725
10827
|
function kerning(tables, numGlyphs, warn) {
|
|
10726
10828
|
const gpos = tables.get("GPOS"), kern = tables.get("kern");
|
|
10727
10829
|
if (gpos) {
|
|
@@ -10956,7 +11058,7 @@ function kernTable(t, numGlyphs) {
|
|
|
10956
11058
|
}
|
|
10957
11059
|
var broken3, MAX_SUBTABLES, BUDGET2, vsize;
|
|
10958
11060
|
var init_kern = __esm({
|
|
10959
|
-
"src/fonts/kern.js"() {
|
|
11061
|
+
"packages/pdf/src/fonts/kern.js"() {
|
|
10960
11062
|
broken3 = (why) => new TypeError(`Broken font: ${why}`);
|
|
10961
11063
|
MAX_SUBTABLES = 64;
|
|
10962
11064
|
BUDGET2 = 4e6;
|
|
@@ -10968,7 +11070,7 @@ var init_kern = __esm({
|
|
|
10968
11070
|
}
|
|
10969
11071
|
});
|
|
10970
11072
|
|
|
10971
|
-
// src/fonts/embed.js
|
|
11073
|
+
// packages/pdf/src/fonts/embed.js
|
|
10972
11074
|
function embedFont(doc, input, opt = {}) {
|
|
10973
11075
|
const bytes = input instanceof Uint8Array ? input : new Uint8Array(input);
|
|
10974
11076
|
const f = parseFont(bytes);
|
|
@@ -11139,7 +11241,7 @@ function embedFont(doc, input, opt = {}) {
|
|
|
11139
11241
|
glued = null;
|
|
11140
11242
|
const glue = !o.rtl && !!t0 && t0 !== " " && j < gl.length && at(j)[1] === " " && at(j)[0] - j === 1 && at(j)[0] < gl.length && MN.test(at(at(j)[0])[1]);
|
|
11141
11243
|
const t = glue ? `${t0} ` : t0;
|
|
11142
|
-
let lead = -1, span = glue;
|
|
11244
|
+
let lead = -1, li = -1, span = glue;
|
|
11143
11245
|
if (t0) {
|
|
11144
11246
|
for (let q = i2; q < j; q++) if ((gl[q].g || !strict) && (lead < 0 || gl[q].ax > gl[lead].ax)) lead = q;
|
|
11145
11247
|
}
|
|
@@ -11155,6 +11257,7 @@ function embedFont(doc, input, opt = {}) {
|
|
|
11155
11257
|
}
|
|
11156
11258
|
const [c, exact] = o.measure ? [g, true] : code(g, q !== lead ? "" : o.rtl && RTL3.test(t) ? [...t].reverse().join("") : t);
|
|
11157
11259
|
if (!exact) span = true;
|
|
11260
|
+
if (q === lead) li = out.length;
|
|
11158
11261
|
if (q !== lead && Math.abs(ax * k) >= 1) span ||= !o.rtl;
|
|
11159
11262
|
out.push({ b: two(c), w: W(g), a: ax * k, dx: dx * k, dy: dy * k, sp: q === lead && t === " ", c: q !== lead && Math.abs(ax * k) < 1 || void 0 });
|
|
11160
11263
|
}
|
|
@@ -11166,6 +11269,7 @@ function embedFont(doc, input, opt = {}) {
|
|
|
11166
11269
|
flow[0].n = flow.length;
|
|
11167
11270
|
if (glue) glued = flow[0];
|
|
11168
11271
|
}
|
|
11272
|
+
if (li >= 0 && !out[li].c) out[li].b = two(code(gl[lead].g, "")[0]);
|
|
11169
11273
|
} else if (glue) glued = /** @type {any} */
|
|
11170
11274
|
{};
|
|
11171
11275
|
i2 = j;
|
|
@@ -11349,7 +11453,7 @@ function tag2(bytes) {
|
|
|
11349
11453
|
}
|
|
11350
11454
|
var OTF_KEEP;
|
|
11351
11455
|
var init_embed = __esm({
|
|
11352
|
-
"src/fonts/embed.js"() {
|
|
11456
|
+
"packages/pdf/src/fonts/embed.js"() {
|
|
11353
11457
|
init_brand();
|
|
11354
11458
|
init_truetype();
|
|
11355
11459
|
init_subset();
|
|
@@ -11361,7 +11465,7 @@ var init_embed = __esm({
|
|
|
11361
11465
|
}
|
|
11362
11466
|
});
|
|
11363
11467
|
|
|
11364
|
-
// src/nav/outline.js
|
|
11468
|
+
// packages/pdf/src/nav/outline.js
|
|
11365
11469
|
function colorOf(c) {
|
|
11366
11470
|
if (c == null) return "";
|
|
11367
11471
|
const d = device(c);
|
|
@@ -11442,7 +11546,7 @@ function createOutline(doc) {
|
|
|
11442
11546
|
}
|
|
11443
11547
|
var MAX_ENTRIES, MAX_LEVEL, MAX_TITLE;
|
|
11444
11548
|
var init_outline = __esm({
|
|
11445
|
-
"src/nav/outline.js"() {
|
|
11549
|
+
"packages/pdf/src/nav/outline.js"() {
|
|
11446
11550
|
init_serialize();
|
|
11447
11551
|
init_color();
|
|
11448
11552
|
init_dest();
|
|
@@ -11452,7 +11556,7 @@ var init_outline = __esm({
|
|
|
11452
11556
|
}
|
|
11453
11557
|
});
|
|
11454
11558
|
|
|
11455
|
-
// src/nav/labels.js
|
|
11559
|
+
// packages/pdf/src/nav/labels.js
|
|
11456
11560
|
function createPageLabels(doc) {
|
|
11457
11561
|
let ranges = null;
|
|
11458
11562
|
doc.onFinish(async () => {
|
|
@@ -11483,7 +11587,7 @@ function createPageLabels(doc) {
|
|
|
11483
11587
|
}
|
|
11484
11588
|
var STYLES, MAX_RANGES, MAX_PREFIX;
|
|
11485
11589
|
var init_labels = __esm({
|
|
11486
|
-
"src/nav/labels.js"() {
|
|
11590
|
+
"packages/pdf/src/nav/labels.js"() {
|
|
11487
11591
|
init_serialize();
|
|
11488
11592
|
init_trees();
|
|
11489
11593
|
STYLES = ["D", "r", "R", "a", "A"];
|
|
@@ -11492,7 +11596,7 @@ var init_labels = __esm({
|
|
|
11492
11596
|
}
|
|
11493
11597
|
});
|
|
11494
11598
|
|
|
11495
|
-
// src/nav/viewer.js
|
|
11599
|
+
// packages/pdf/src/nav/viewer.js
|
|
11496
11600
|
function createViewer(doc) {
|
|
11497
11601
|
const set2 = /* @__PURE__ */ new Map();
|
|
11498
11602
|
let registered = false;
|
|
@@ -11545,7 +11649,7 @@ function createViewer(doc) {
|
|
|
11545
11649
|
}
|
|
11546
11650
|
var BOOLS, NAMES, PREF;
|
|
11547
11651
|
var init_viewer = __esm({
|
|
11548
|
-
"src/nav/viewer.js"() {
|
|
11652
|
+
"packages/pdf/src/nav/viewer.js"() {
|
|
11549
11653
|
init_dest();
|
|
11550
11654
|
BOOLS = { hideToolbar: "HideToolbar", hideMenubar: "HideMenubar", hideWindowUI: "HideWindowUI", fitWindow: "FitWindow", centerWindow: "CenterWindow", displayDocTitle: "DisplayDocTitle", pickTrayByPDFSize: "PickTrayByPDFSize" };
|
|
11551
11655
|
NAMES = {
|
|
@@ -11559,7 +11663,7 @@ var init_viewer = __esm({
|
|
|
11559
11663
|
}
|
|
11560
11664
|
});
|
|
11561
11665
|
|
|
11562
|
-
// src/standards/pdfa.js
|
|
11666
|
+
// packages/pdf/src/standards/pdfa.js
|
|
11563
11667
|
function addOutputIntent(doc, opt) {
|
|
11564
11668
|
const custom = opt && typeof opt === "object" && opt.outputIntent != null ? parseIcc(opt.outputIntent, "pdfa.outputIntent") : null;
|
|
11565
11669
|
if (custom && custom.n === 1) throw new TypeError("pdfa.outputIntent: an RGB or CMYK profile (not gray)");
|
|
@@ -11575,7 +11679,7 @@ function addOutputIntent(doc, opt) {
|
|
|
11575
11679
|
}
|
|
11576
11680
|
var SRGB, unbase64;
|
|
11577
11681
|
var init_pdfa = __esm({
|
|
11578
|
-
"src/standards/pdfa.js"() {
|
|
11682
|
+
"packages/pdf/src/standards/pdfa.js"() {
|
|
11579
11683
|
init_icc();
|
|
11580
11684
|
init_serialize();
|
|
11581
11685
|
SRGB = "AAAC4GxjbXMCEAAAbW50clJHQiBYWVogB+IAAwAUAAkADgAdYWNzcE1TRlQAAAAAc2F3c2N0cmwAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1oYW5kk7I0qQ6wIoqY/Zqvo2eJmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJZGVzYwAAAPAAAABfY3BydAAAAQwAAAAMd3RwdAAAARgAAAAUclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUclRSQwAAAWgAAAF4Z1RSQwAAAWgAAAF4YlRSQwAAAWgAAAF4ZGVzYwAAAAAAAAAFc1JHQgAAAAAAAAAAAAAAAHRleHQAAAAAQ0MwAFhZWiAAAAAAAADzVAABAAAAARbJWFlaIAAAAAAAAG+gAAA48gAAA49YWVogAAAAAAAAYpYAALeJAAAY2lhZWiAAAAAAAAAkoAAAD4UAALbEY3VydgAAAAAAAAC2AAAAHAA4AFQAcACMAKgAxADhAQABIgFGAW0BlQHBAfACIAJVAosCxAMBAz8DggPGBA4EWQSnBPkFTAWkBf4GXAa+ByEHigf0CGMI1QlJCcMKPwq/C0ILyQxUDOENdA4JDqIPQA/gEIURLRHaEooTPhP2FLIVcRY2Fv0XyhiZGW4aRhsiHAMc5x3QHr0friCkIZ4inCOfJKUlsSbAJ9Uo7SoKKyssUS18Lqov3jEWMlIzlDTZNiQ3czjGOiA7fDzfPkU/sEEhQpZEEEWPRxJIm0ooS7tNUU7uUI9SNVPgVZBXRVkAWr5chF5MYBth72PHZaZniWlxa19tUW9KcUZzSnVRd155cXuIfaZ/yIHwhB6GUIiJisWNCY9RkZ+T85ZLmKubDp14n+eiW6TWp1ap26xnrvexj7Qqtsy5dLwhvtXBjcRMxxDJ2syrz3/SXNU92CTbEt4E4P7j/OcB6gztHPA081D2c/mb/Mr//w==";
|
|
@@ -11587,7 +11691,7 @@ var init_pdfa = __esm({
|
|
|
11587
11691
|
}
|
|
11588
11692
|
});
|
|
11589
11693
|
|
|
11590
|
-
// src/standards/files.js
|
|
11694
|
+
// packages/pdf/src/standards/files.js
|
|
11591
11695
|
function createFiles(doc, when) {
|
|
11592
11696
|
const tree = /* @__PURE__ */ new Map();
|
|
11593
11697
|
const af = [];
|
|
@@ -11633,7 +11737,7 @@ function createFiles(doc, when) {
|
|
|
11633
11737
|
}
|
|
11634
11738
|
var RELATIONSHIPS, MAX_FILE2, MAX_FILES, MIME;
|
|
11635
11739
|
var init_files = __esm({
|
|
11636
|
-
"src/standards/files.js"() {
|
|
11740
|
+
"packages/pdf/src/standards/files.js"() {
|
|
11637
11741
|
init_serialize();
|
|
11638
11742
|
init_filename();
|
|
11639
11743
|
init_md5();
|
|
@@ -11646,7 +11750,7 @@ var init_files = __esm({
|
|
|
11646
11750
|
}
|
|
11647
11751
|
});
|
|
11648
11752
|
|
|
11649
|
-
// src/standards/facturx.js
|
|
11753
|
+
// packages/pdf/src/standards/facturx.js
|
|
11650
11754
|
function readInvoice(b) {
|
|
11651
11755
|
if (b.length > MAX_XML) throw new RangeError(`pdf.facturX: the XML is ${b.length} bytes, over ${MAX_XML >> 20} MB`);
|
|
11652
11756
|
let s;
|
|
@@ -11727,7 +11831,7 @@ function createFacturX(doc, attach) {
|
|
|
11727
11831
|
}
|
|
11728
11832
|
var MAX_XML, PROFILES, FX_NS;
|
|
11729
11833
|
var init_facturx = __esm({
|
|
11730
|
-
"src/standards/facturx.js"() {
|
|
11834
|
+
"packages/pdf/src/standards/facturx.js"() {
|
|
11731
11835
|
MAX_XML = 10 << 20;
|
|
11732
11836
|
PROFILES = /** @type {Record<string, [string, 'Data' | 'Alternative']>} */
|
|
11733
11837
|
{
|
|
@@ -11742,7 +11846,7 @@ var init_facturx = __esm({
|
|
|
11742
11846
|
}
|
|
11743
11847
|
});
|
|
11744
11848
|
|
|
11745
|
-
// src/standards/boxes.js
|
|
11849
|
+
// packages/pdf/src/standards/boxes.js
|
|
11746
11850
|
function pageBoxes(page, o) {
|
|
11747
11851
|
const W = page.width, H = page.height, who = "addPage";
|
|
11748
11852
|
const got = {};
|
|
@@ -11780,7 +11884,7 @@ function pageBoxes(page, o) {
|
|
|
11780
11884
|
}
|
|
11781
11885
|
var BOXES, EPS;
|
|
11782
11886
|
var init_boxes = __esm({
|
|
11783
|
-
"src/standards/boxes.js"() {
|
|
11887
|
+
"packages/pdf/src/standards/boxes.js"() {
|
|
11784
11888
|
init_serialize();
|
|
11785
11889
|
init_level();
|
|
11786
11890
|
BOXES = /** @type {const} */
|
|
@@ -11789,7 +11893,7 @@ var init_boxes = __esm({
|
|
|
11789
11893
|
}
|
|
11790
11894
|
});
|
|
11791
11895
|
|
|
11792
|
-
// src/forms/draw.js
|
|
11896
|
+
// packages/pdf/src/forms/draw.js
|
|
11793
11897
|
function frame(ap, w, h, f, bg = f.bg) {
|
|
11794
11898
|
if (bg != null) ap.fill(ap.path().rect(0, 0, w, h), { fill: bg });
|
|
11795
11899
|
if (f.bw > 0) ap.stroke(ap.path().rect(f.bw / 2, f.bw / 2, w - f.bw, h - f.bw), { stroke: f.bc, width: f.bw });
|
|
@@ -11915,7 +12019,7 @@ function buttonFace(ap, w, h, f, bg, t, label, icon) {
|
|
|
11915
12019
|
}
|
|
11916
12020
|
var MARKS, PLAIN2, AUTO_MAX, AUTO_MIN, widthOf2;
|
|
11917
12021
|
var init_draw2 = __esm({
|
|
11918
|
-
"src/forms/draw.js"() {
|
|
12022
|
+
"packages/pdf/src/forms/draw.js"() {
|
|
11919
12023
|
init_content();
|
|
11920
12024
|
init_text();
|
|
11921
12025
|
init_runs();
|
|
@@ -11931,7 +12035,7 @@ var init_draw2 = __esm({
|
|
|
11931
12035
|
}
|
|
11932
12036
|
});
|
|
11933
12037
|
|
|
11934
|
-
// src/forms/form.js
|
|
12038
|
+
// packages/pdf/src/forms/form.js
|
|
11935
12039
|
function keys(o, allowed, who) {
|
|
11936
12040
|
if (o == null || typeof o !== "object") throw new TypeError(`${who}: options are an object`);
|
|
11937
12041
|
for (const k of Object.keys(o)) {
|
|
@@ -12315,7 +12419,7 @@ function createForm(doc, opt = {}) {
|
|
|
12315
12419
|
}
|
|
12316
12420
|
var MAX_FIELDS, MAX_BUTTONS, MAX_OPTIONS, MAX_OPTION_CHARS, MAX_WIDGETS, MAX_VALUE, MAX_NAME, MAX_DEPTH3, MAX_TOOLTIP, MAX_COMB, NAMED2, ACTIVE2, FF, BOX, LOOK, TEXT, BAD_CHAR, hexAscii;
|
|
12317
12421
|
var init_form = __esm({
|
|
12318
|
-
"src/forms/form.js"() {
|
|
12422
|
+
"packages/pdf/src/forms/form.js"() {
|
|
12319
12423
|
init_serialize();
|
|
12320
12424
|
init_brand();
|
|
12321
12425
|
init_annot();
|
|
@@ -12363,7 +12467,7 @@ var init_form = __esm({
|
|
|
12363
12467
|
}
|
|
12364
12468
|
});
|
|
12365
12469
|
|
|
12366
|
-
// src/security/crypto.js
|
|
12470
|
+
// packages/pdf/src/security/crypto.js
|
|
12367
12471
|
function concat(parts) {
|
|
12368
12472
|
let n = 0;
|
|
12369
12473
|
for (const p of parts) n += p.length;
|
|
@@ -12424,7 +12528,7 @@ function aesCbcDecryptSync(key, iv, data, strip = true) {
|
|
|
12424
12528
|
}
|
|
12425
12529
|
var NODE, WEB, random, HASHES, nodeName, hex, unhex;
|
|
12426
12530
|
var init_crypto = __esm({
|
|
12427
|
-
"src/security/crypto.js"() {
|
|
12531
|
+
"packages/pdf/src/security/crypto.js"() {
|
|
12428
12532
|
init_md5();
|
|
12429
12533
|
NODE = /** @type {any} */
|
|
12430
12534
|
globalThis.process?.getBuiltinModule?.("node:crypto");
|
|
@@ -12446,7 +12550,7 @@ var init_crypto = __esm({
|
|
|
12446
12550
|
}
|
|
12447
12551
|
});
|
|
12448
12552
|
|
|
12449
|
-
// src/security/encrypt.js
|
|
12553
|
+
// packages/pdf/src/security/encrypt.js
|
|
12450
12554
|
function permBits(p) {
|
|
12451
12555
|
let P = 4294963392;
|
|
12452
12556
|
for (const [k, bit] of Object.entries(PERMS)) if (p[k]) P |= 1 << bit - 1;
|
|
@@ -12639,7 +12743,7 @@ function encryptor(opt, doc) {
|
|
|
12639
12743
|
}
|
|
12640
12744
|
var MAX_PASSWORD, PERMS, PAD, UTF84;
|
|
12641
12745
|
var init_encrypt = __esm({
|
|
12642
|
-
"src/security/encrypt.js"() {
|
|
12746
|
+
"packages/pdf/src/security/encrypt.js"() {
|
|
12643
12747
|
init_crypto();
|
|
12644
12748
|
MAX_PASSWORD = 1024;
|
|
12645
12749
|
PERMS = { print: 3, modify: 4, copy: 5, annotate: 6, fillForms: 9, accessibility: 10, assemble: 11, printHighQuality: 12 };
|
|
@@ -12648,7 +12752,7 @@ var init_encrypt = __esm({
|
|
|
12648
12752
|
}
|
|
12649
12753
|
});
|
|
12650
12754
|
|
|
12651
|
-
// src/security/der.js
|
|
12755
|
+
// packages/pdf/src/security/der.js
|
|
12652
12756
|
function oid(s) {
|
|
12653
12757
|
const a = s.split(".").map(Number), out = [40 * a[0] + a[1]];
|
|
12654
12758
|
for (const v of a.slice(2)) {
|
|
@@ -12694,7 +12798,7 @@ function kids(b, v) {
|
|
|
12694
12798
|
}
|
|
12695
12799
|
var lenBytes, tlv, seq, set, ctx, octets, NULL, int;
|
|
12696
12800
|
var init_der = __esm({
|
|
12697
|
-
"src/security/der.js"() {
|
|
12801
|
+
"packages/pdf/src/security/der.js"() {
|
|
12698
12802
|
init_crypto();
|
|
12699
12803
|
lenBytes = (n) => n < 128 ? [n] : n < 256 ? [129, n] : n < 65536 ? [130, n >> 8, n & 255] : n < 16777216 ? [131, n >> 16, n >> 8 & 255, n & 255] : [132, n >>> 24, n >> 16 & 255, n >> 8 & 255, n & 255];
|
|
12700
12804
|
tlv = (tag3, ...parts) => {
|
|
@@ -12718,7 +12822,7 @@ var init_der = __esm({
|
|
|
12718
12822
|
}
|
|
12719
12823
|
});
|
|
12720
12824
|
|
|
12721
|
-
// src/security/cms.js
|
|
12825
|
+
// packages/pdf/src/security/cms.js
|
|
12722
12826
|
function readCerts(certs, who) {
|
|
12723
12827
|
const list = Array.isArray(certs) ? certs : [certs];
|
|
12724
12828
|
const out = [];
|
|
@@ -12821,7 +12925,7 @@ function nodeSigner(o) {
|
|
|
12821
12925
|
}
|
|
12822
12926
|
var NODE2, MAX_CERTS, MAX_CERT, MAX_SIGNATURE, MAX_TOKEN, DIGEST, RSA, ECDSA, SIGNED_DATA, DATA, attr, algId, eq;
|
|
12823
12927
|
var init_cms = __esm({
|
|
12824
|
-
"src/security/cms.js"() {
|
|
12928
|
+
"packages/pdf/src/security/cms.js"() {
|
|
12825
12929
|
init_der();
|
|
12826
12930
|
init_crypto();
|
|
12827
12931
|
NODE2 = /** @type {any} */
|
|
@@ -12844,7 +12948,7 @@ var init_cms = __esm({
|
|
|
12844
12948
|
}
|
|
12845
12949
|
});
|
|
12846
12950
|
|
|
12847
|
-
// src/security/sign.js
|
|
12951
|
+
// packages/pdf/src/security/sign.js
|
|
12848
12952
|
function createSigning(doc, form, o) {
|
|
12849
12953
|
let used = false;
|
|
12850
12954
|
return function sign(field, opt) {
|
|
@@ -12896,8 +13000,8 @@ function createSigning(doc, form, o) {
|
|
|
12896
13000
|
head: `<< /Type /Sig /Filter /Adobe.PPKLite /SubFilter /${sf} ${BYTERANGE} /Contents `,
|
|
12897
13001
|
after: ` /M ${pdfDate(date)}${s}${ref} >>`,
|
|
12898
13002
|
/** @param {Uint8Array} digest */
|
|
12899
|
-
async sign(
|
|
12900
|
-
const cms = await raced(Promise.resolve().then(() => signer({ digest, hash: o.hash, subFilter: sf, date, timestamp: timestamp ?? void 0, signal: doc.signal })), doc.signal);
|
|
13003
|
+
async sign(digest2) {
|
|
13004
|
+
const cms = await raced(Promise.resolve().then(() => signer({ digest: digest2, hash: o.hash, subFilter: sf, date, timestamp: timestamp ?? void 0, signal: doc.signal })), doc.signal);
|
|
12901
13005
|
if (cms instanceof Uint8Array && cms.length > size) throw new RangeError(`${who}: the signer's CMS is ${cms.length} bytes, more than the ${size} reserved: pass a larger reserve (at most ${MAX_RESERVE})`);
|
|
12902
13006
|
checkContentInfo(cms, size, `${who}: the signer's CMS`);
|
|
12903
13007
|
if (timestamp && !has(cms, TST_OID)) throw new Error(`${who}: a timestamp was asked for but the signer's CMS has no id-aa-timeStampToken (nodeSigner and cmsSigner add it; a custom signer must call r.timestamp)`);
|
|
@@ -12909,7 +13013,7 @@ function createSigning(doc, form, o) {
|
|
|
12909
13013
|
}
|
|
12910
13014
|
var DEFAULT_RESERVE, MAX_RESERVE, TST_OID, has, KEYS;
|
|
12911
13015
|
var init_sign = __esm({
|
|
12912
|
-
"src/security/sign.js"() {
|
|
13016
|
+
"packages/pdf/src/security/sign.js"() {
|
|
12913
13017
|
init_brand();
|
|
12914
13018
|
init_serialize();
|
|
12915
13019
|
init_sink();
|
|
@@ -12929,7 +13033,7 @@ var init_sign = __esm({
|
|
|
12929
13033
|
}
|
|
12930
13034
|
});
|
|
12931
13035
|
|
|
12932
|
-
// src/reader/budget.js
|
|
13036
|
+
// packages/pdf/src/reader/budget.js
|
|
12933
13037
|
function createBudget(o = {}) {
|
|
12934
13038
|
const pos = (v, d, k) => {
|
|
12935
13039
|
if (v == null) return d;
|
|
@@ -12990,7 +13094,7 @@ function createBudget(o = {}) {
|
|
|
12990
13094
|
}
|
|
12991
13095
|
var PdfReadError, fail, DEFAULTS;
|
|
12992
13096
|
var init_budget = __esm({
|
|
12993
|
-
"src/reader/budget.js"() {
|
|
13097
|
+
"packages/pdf/src/reader/budget.js"() {
|
|
12994
13098
|
PdfReadError = class extends Error {
|
|
12995
13099
|
/** @param {Code} code @param {string} message */
|
|
12996
13100
|
constructor(code, message) {
|
|
@@ -13006,7 +13110,7 @@ var init_budget = __esm({
|
|
|
13006
13110
|
}
|
|
13007
13111
|
});
|
|
13008
13112
|
|
|
13009
|
-
// src/reader/lexer.js
|
|
13113
|
+
// packages/pdf/src/reader/lexer.js
|
|
13010
13114
|
function latin12(b) {
|
|
13011
13115
|
if (b.length < 64) {
|
|
13012
13116
|
let s2 = "";
|
|
@@ -13134,7 +13238,7 @@ function lastIndexOf(buf, needle, to, span = to) {
|
|
|
13134
13238
|
}
|
|
13135
13239
|
var MAX_DEPTH4, MAX_ITEMS, Ref, PdfString, PdfStream, Op, CLASS, T, HEX, Lexer, parseValueEnd;
|
|
13136
13240
|
var init_lexer = __esm({
|
|
13137
|
-
"src/reader/lexer.js"() {
|
|
13241
|
+
"packages/pdf/src/reader/lexer.js"() {
|
|
13138
13242
|
init_budget();
|
|
13139
13243
|
MAX_DEPTH4 = 256;
|
|
13140
13244
|
MAX_ITEMS = 4e6;
|
|
@@ -13345,7 +13449,7 @@ var init_lexer = __esm({
|
|
|
13345
13449
|
}
|
|
13346
13450
|
});
|
|
13347
13451
|
|
|
13348
|
-
// src/reader/filters.js
|
|
13452
|
+
// packages/pdf/src/reader/filters.js
|
|
13349
13453
|
function sinkOf(budget) {
|
|
13350
13454
|
const parts = [];
|
|
13351
13455
|
let n = 0;
|
|
@@ -13601,7 +13705,7 @@ function decode(data, filters, parms, budget, resolve2) {
|
|
|
13601
13705
|
}
|
|
13602
13706
|
var PASS, CHUNK2, MAX_FILTERS, num2, clamp;
|
|
13603
13707
|
var init_filters = __esm({
|
|
13604
|
-
"src/reader/filters.js"() {
|
|
13708
|
+
"packages/pdf/src/reader/filters.js"() {
|
|
13605
13709
|
init_browser();
|
|
13606
13710
|
init_budget();
|
|
13607
13711
|
PASS = /* @__PURE__ */ new Set(["DCTDecode", "DCT", "JPXDecode", "JBIG2Decode", "CCITTFaxDecode", "CCF"]);
|
|
@@ -13612,7 +13716,7 @@ var init_filters = __esm({
|
|
|
13612
13716
|
}
|
|
13613
13717
|
});
|
|
13614
13718
|
|
|
13615
|
-
// src/reader/crypt.js
|
|
13719
|
+
// packages/pdf/src/reader/crypt.js
|
|
13616
13720
|
function pad322(pw) {
|
|
13617
13721
|
const b = [...pw].every((c) => (
|
|
13618
13722
|
/** @type {number} */
|
|
@@ -13747,7 +13851,7 @@ async function openSecurity(E, id0, password, resolve2) {
|
|
|
13747
13851
|
}
|
|
13748
13852
|
var PERMS2, bytesOf, le32, eq2;
|
|
13749
13853
|
var init_crypt = __esm({
|
|
13750
|
-
"src/reader/crypt.js"() {
|
|
13854
|
+
"packages/pdf/src/reader/crypt.js"() {
|
|
13751
13855
|
init_encrypt();
|
|
13752
13856
|
init_crypto();
|
|
13753
13857
|
init_lexer();
|
|
@@ -13763,7 +13867,7 @@ var init_crypt = __esm({
|
|
|
13763
13867
|
}
|
|
13764
13868
|
});
|
|
13765
13869
|
|
|
13766
|
-
// src/reader/source.js
|
|
13870
|
+
// packages/pdf/src/reader/source.js
|
|
13767
13871
|
async function openSource(bytes, budget, o = {}) {
|
|
13768
13872
|
const size = bytes.length;
|
|
13769
13873
|
let xref = /* @__PURE__ */ new Map();
|
|
@@ -14476,7 +14580,7 @@ function inRegion(regions, budget) {
|
|
|
14476
14580
|
}
|
|
14477
14581
|
var MAX_SECTIONS, MAX_RESOLVE, MAX_OBJSTM_N, OBJSTM_CACHE, OBJSTM_BYTES, CACHE_N, P48, P16, pack, unpack;
|
|
14478
14582
|
var init_source = __esm({
|
|
14479
|
-
"src/reader/source.js"() {
|
|
14583
|
+
"packages/pdf/src/reader/source.js"() {
|
|
14480
14584
|
init_lexer();
|
|
14481
14585
|
init_filters();
|
|
14482
14586
|
init_budget();
|
|
@@ -14494,7 +14598,7 @@ var init_source = __esm({
|
|
|
14494
14598
|
}
|
|
14495
14599
|
});
|
|
14496
14600
|
|
|
14497
|
-
// src/reader/text.js
|
|
14601
|
+
// packages/pdf/src/reader/text.js
|
|
14498
14602
|
function decodeText(v) {
|
|
14499
14603
|
if (!(v instanceof PdfString)) return typeof v === "string" ? v : v == null ? "" : String(v);
|
|
14500
14604
|
const b = v.bytes;
|
|
@@ -14698,7 +14802,7 @@ function fontOf(src, font, held = (
|
|
|
14698
14802
|
}
|
|
14699
14803
|
for (let k = 0; k < L && i2 + k < b.length; k++) c = c * 256 + b[i2 + k];
|
|
14700
14804
|
i2 += L;
|
|
14701
|
-
emit(toU?.get(c) ?? fromFont(c) ?? NONE, W.get(c) ?? dw, false);
|
|
14805
|
+
emit(toU?.get(c) ?? fromFont(c) ?? (toU ? "" : NONE), W.get(c) ?? dw, false);
|
|
14702
14806
|
}
|
|
14703
14807
|
}
|
|
14704
14808
|
};
|
|
@@ -14721,7 +14825,7 @@ function fontOf(src, font, held = (
|
|
|
14721
14825
|
for (const x0 of d.slice(0, 4096)) {
|
|
14722
14826
|
const x2 = R(x0);
|
|
14723
14827
|
if (typeof x2 === "number") c = x2;
|
|
14724
|
-
else if (typeof x2 === "string") diff.set(c++ & 255, x2 === ".notdef" ? "" : glyphText(x2) || NONE);
|
|
14828
|
+
else if (typeof x2 === "string") diff.set(c++ & 255, x2 === ".notdef" ? "" : glyphText(x2) || (toU ? "" : NONE));
|
|
14725
14829
|
}
|
|
14726
14830
|
}
|
|
14727
14831
|
const symbolic = base3 === "Symbol" || base3 === "ZapfDingbats";
|
|
@@ -14741,7 +14845,7 @@ function fontOf(src, font, held = (
|
|
|
14741
14845
|
if (t === void 0) t = diff.get(c);
|
|
14742
14846
|
if (t === void 0) {
|
|
14743
14847
|
const u = symMap ? symMap.get(c) : baseFn(c);
|
|
14744
|
-
t = u === void 0 ? NONE : String.fromCodePoint(u);
|
|
14848
|
+
t = u === void 0 ? toU ? "" : NONE : String.fromCodePoint(u);
|
|
14745
14849
|
}
|
|
14746
14850
|
let w = Array.isArray(widths) && typeof fc === "number" && c >= fc && c - fc < widths.length ? R(widths[c - fc]) : std ? std.widths[c] : 500;
|
|
14747
14851
|
if (typeof w !== "number" || !Number.isFinite(w)) w = 0;
|
|
@@ -14931,6 +15035,7 @@ function pageText(src, pageDict, resources, raw = false) {
|
|
|
14931
15035
|
return;
|
|
14932
15036
|
}
|
|
14933
15037
|
const n = PT.length - 1;
|
|
15038
|
+
if (text3.includes("")) text3 = text3.replaceAll("", "");
|
|
14934
15039
|
if (text3) add2(x2, y, end, size, text3, dir);
|
|
14935
15040
|
else if (n >= 0 && PAE[n] < dir[1] && PD[n] === dir[3] && Math.abs(PC[n] - dir[2]) < 0.01) {
|
|
14936
15041
|
PE[n] = end;
|
|
@@ -15125,7 +15230,7 @@ function pageText(src, pageDict, resources, raw = false) {
|
|
|
15125
15230
|
}
|
|
15126
15231
|
var MAX_FORMS, MAX_CMAP, MAX_MARKS, MAX_ACTUAL, MAX_TEXT_CHARS, MAX_DST, MAX_CMAP_CHARS, MAX_HELD, MAX_W, MAX_DO, TEXT_TIMEOUT_MS, DOC, WIN, MAC_HIGH, BASE, STD_HIGH, NAMES2, ACCENT, own, STD_ALIAS, NONE, stops, MAX_CMAP_FONTS, mul2, ID, matrixOf, RTL2, STRONG_L, NUM, rev2;
|
|
15127
15232
|
var init_text2 = __esm({
|
|
15128
|
-
"src/reader/text.js"() {
|
|
15233
|
+
"packages/pdf/src/reader/text.js"() {
|
|
15129
15234
|
init_lexer();
|
|
15130
15235
|
init_standard_metrics();
|
|
15131
15236
|
init_budget();
|
|
@@ -15359,7 +15464,7 @@ var init_text2 = __esm({
|
|
|
15359
15464
|
}
|
|
15360
15465
|
});
|
|
15361
15466
|
|
|
15362
|
-
// src/reader/policy.js
|
|
15467
|
+
// packages/pdf/src/reader/policy.js
|
|
15363
15468
|
function attributesOnly(a, R) {
|
|
15364
15469
|
const one = (x2) => {
|
|
15365
15470
|
const d = R(x2);
|
|
@@ -15471,7 +15576,7 @@ function utf16be(s) {
|
|
|
15471
15576
|
}
|
|
15472
15577
|
var KEEP_ACTIONS, NAMED_ACTIONS, ACTION_TYPES, KEEP_ANNOTS, ACTION_KEYS, DANGEROUS_KEYS, NAME_KEYS, isAction, isAnnot, STRUCT_TYPES, isFilespec, REWRITTEN_NAME, sameObject, refuseFile;
|
|
15473
15578
|
var init_policy = __esm({
|
|
15474
|
-
"src/reader/policy.js"() {
|
|
15579
|
+
"packages/pdf/src/reader/policy.js"() {
|
|
15475
15580
|
init_lexer();
|
|
15476
15581
|
init_links();
|
|
15477
15582
|
init_filename();
|
|
@@ -15555,7 +15660,7 @@ var init_policy = __esm({
|
|
|
15555
15660
|
}
|
|
15556
15661
|
});
|
|
15557
15662
|
|
|
15558
|
-
// src/reader/copy.js
|
|
15663
|
+
// packages/pdf/src/reader/copy.js
|
|
15559
15664
|
function nameText(s) {
|
|
15560
15665
|
let o = "/";
|
|
15561
15666
|
for (let i2 = 0; i2 < s.length; i2++) {
|
|
@@ -15861,7 +15966,7 @@ function createCopier(t) {
|
|
|
15861
15966
|
if (t.dedupe && early === void 0 && !open && shareable(v)) {
|
|
15862
15967
|
key = `${dict.length} ${fnv(dict)} ${raw ? `${raw.length} ${fnv(raw)}` : ""}`;
|
|
15863
15968
|
const hit = seen.get(key);
|
|
15864
|
-
if (hit && hit.dict === dict &&
|
|
15969
|
+
if (hit && hit.dict === dict && same2(hit.raw(), raw)) {
|
|
15865
15970
|
m.set(f.n, hit.n);
|
|
15866
15971
|
continue;
|
|
15867
15972
|
}
|
|
@@ -15879,7 +15984,7 @@ function createCopier(t) {
|
|
|
15879
15984
|
m.set(f.n, n);
|
|
15880
15985
|
}
|
|
15881
15986
|
}
|
|
15882
|
-
const
|
|
15987
|
+
const same2 = (a, b) => {
|
|
15883
15988
|
if (a === b) return true;
|
|
15884
15989
|
if (!a || !b || a.length !== b.length) return false;
|
|
15885
15990
|
for (let i2 = 0; i2 < a.length; i2++) if (a[i2] !== b[i2]) return false;
|
|
@@ -15969,7 +16074,7 @@ function createCopier(t) {
|
|
|
15969
16074
|
}
|
|
15970
16075
|
var SHARE, GRAY, HEXD, Raw, Foreign, OPEN_A, CLOSE_A, OPEN_D, CLOSE_D;
|
|
15971
16076
|
var init_copy = __esm({
|
|
15972
|
-
"src/reader/copy.js"() {
|
|
16077
|
+
"packages/pdf/src/reader/copy.js"() {
|
|
15973
16078
|
init_lexer();
|
|
15974
16079
|
init_pdf();
|
|
15975
16080
|
init_policy();
|
|
@@ -15998,7 +16103,7 @@ var init_copy = __esm({
|
|
|
15998
16103
|
}
|
|
15999
16104
|
});
|
|
16000
16105
|
|
|
16001
|
-
// src/reader/fill.js
|
|
16106
|
+
// packages/pdf/src/reader/fill.js
|
|
16002
16107
|
function utf162(s) {
|
|
16003
16108
|
const b = new Uint8Array(2 + s.length * 2);
|
|
16004
16109
|
b[0] = 254;
|
|
@@ -16166,7 +16271,7 @@ async function fillReplacements(self, o) {
|
|
|
16166
16271
|
}
|
|
16167
16272
|
var ALIAS;
|
|
16168
16273
|
var init_fill = __esm({
|
|
16169
|
-
"src/reader/fill.js"() {
|
|
16274
|
+
"packages/pdf/src/reader/fill.js"() {
|
|
16170
16275
|
init_index();
|
|
16171
16276
|
init_standard();
|
|
16172
16277
|
init_lexer();
|
|
@@ -16178,7 +16283,7 @@ var init_fill = __esm({
|
|
|
16178
16283
|
}
|
|
16179
16284
|
});
|
|
16180
16285
|
|
|
16181
|
-
// src/reader/save.js
|
|
16286
|
+
// packages/pdf/src/reader/save.js
|
|
16182
16287
|
var save_exports = {};
|
|
16183
16288
|
__export(save_exports, {
|
|
16184
16289
|
MAX_OPEN: () => MAX_OPEN,
|
|
@@ -16605,7 +16710,7 @@ function sameBytes(a, b) {
|
|
|
16605
16710
|
}
|
|
16606
16711
|
var MAX_OPEN, KEYS2, OWN;
|
|
16607
16712
|
var init_save = __esm({
|
|
16608
|
-
"src/reader/save.js"() {
|
|
16713
|
+
"packages/pdf/src/reader/save.js"() {
|
|
16609
16714
|
init_index();
|
|
16610
16715
|
init_page();
|
|
16611
16716
|
init_annot();
|
|
@@ -16623,7 +16728,7 @@ var init_save = __esm({
|
|
|
16623
16728
|
}
|
|
16624
16729
|
});
|
|
16625
16730
|
|
|
16626
|
-
// src/reader/active.js
|
|
16731
|
+
// packages/pdf/src/reader/active.js
|
|
16627
16732
|
function findActive(self, each) {
|
|
16628
16733
|
const found = /* @__PURE__ */ new Map();
|
|
16629
16734
|
const audit = createCopier({
|
|
@@ -16649,12 +16754,12 @@ function findActive(self, each) {
|
|
|
16649
16754
|
return [...found].map(([what, count]) => ({ what, count }));
|
|
16650
16755
|
}
|
|
16651
16756
|
var init_active = __esm({
|
|
16652
|
-
"src/reader/active.js"() {
|
|
16757
|
+
"packages/pdf/src/reader/active.js"() {
|
|
16653
16758
|
init_copy();
|
|
16654
16759
|
}
|
|
16655
16760
|
});
|
|
16656
16761
|
|
|
16657
|
-
// src/reader/incremental.js
|
|
16762
|
+
// packages/pdf/src/reader/incremental.js
|
|
16658
16763
|
var incremental_exports = {};
|
|
16659
16764
|
__export(incremental_exports, {
|
|
16660
16765
|
MAX_WIDGET_SHARE: () => MAX_WIDGET_SHARE,
|
|
@@ -16923,8 +17028,8 @@ ${xrefAt}
|
|
|
16923
17028
|
const H = hasher(sig.hash);
|
|
16924
17029
|
H.update(bytes.subarray(0, a));
|
|
16925
17030
|
H.update(bytes.subarray(b));
|
|
16926
|
-
const
|
|
16927
|
-
const cms = await Promise.resolve().then(() => sig.signer({ digest, hash: sig.hash, subFilter: sig.subFilter, date: sig.date, timestamp: sig.timestamp ?? void 0 }));
|
|
17031
|
+
const digest2 = await H.digest();
|
|
17032
|
+
const cms = await Promise.resolve().then(() => sig.signer({ digest: digest2, hash: sig.hash, subFilter: sig.subFilter, date: sig.date, timestamp: sig.timestamp ?? void 0 }));
|
|
16928
17033
|
checkContentInfo(cms, size, `${who}: the signer's CMS`);
|
|
16929
17034
|
if (sig.timestamp && !has(cms, TST_OID)) throw new Error(`${who}: a timestamp was asked for but the signer's CMS has no id-aa-timeStampToken`);
|
|
16930
17035
|
bytes.set(latin1(hex(cms).padEnd(2 * size, "0")), a + 1);
|
|
@@ -17158,7 +17263,7 @@ function checkSigned(self, sig, o, objects, who) {
|
|
|
17158
17263
|
}
|
|
17159
17264
|
var SIGN_KEYS, MAX_WIDGET_SHARE, TRANSFORMS, isSigDict;
|
|
17160
17265
|
var init_incremental = __esm({
|
|
17161
|
-
"src/reader/incremental.js"() {
|
|
17266
|
+
"packages/pdf/src/reader/incremental.js"() {
|
|
17162
17267
|
init_lexer();
|
|
17163
17268
|
init_copy();
|
|
17164
17269
|
init_active();
|
|
@@ -17178,7 +17283,7 @@ var init_incremental = __esm({
|
|
|
17178
17283
|
}
|
|
17179
17284
|
});
|
|
17180
17285
|
|
|
17181
|
-
// src/reader/pdf.js
|
|
17286
|
+
// packages/pdf/src/reader/pdf.js
|
|
17182
17287
|
function internal(v, who) {
|
|
17183
17288
|
const d = v !== null && typeof v === "object" ? inside2.get(v) : void 0;
|
|
17184
17289
|
if (!d) throw new TypeError(`${who}: not a document from loadPdf`);
|
|
@@ -17885,7 +17990,7 @@ function checkValue(f, v) {
|
|
|
17885
17990
|
}
|
|
17886
17991
|
var MAX_PAGES, MAX_OUTLINE, MAX_FIELDS2, MAX_NAMES2, inside2, ACTIVE_FT;
|
|
17887
17992
|
var init_pdf = __esm({
|
|
17888
|
-
"src/reader/pdf.js"() {
|
|
17993
|
+
"packages/pdf/src/reader/pdf.js"() {
|
|
17889
17994
|
init_budget();
|
|
17890
17995
|
init_source();
|
|
17891
17996
|
init_lexer();
|
|
@@ -17900,7 +18005,7 @@ var init_pdf = __esm({
|
|
|
17900
18005
|
}
|
|
17901
18006
|
});
|
|
17902
18007
|
|
|
17903
|
-
// src/index.js
|
|
18008
|
+
// packages/pdf/src/index.js
|
|
17904
18009
|
async function mergePdfs(docs, o) {
|
|
17905
18010
|
if (!Array.isArray(docs) || !docs.length) throw new TypeError("mergePdfs: an array of documents from loadPdf");
|
|
17906
18011
|
return docs[0].fork().merge(docs.slice(1)).save(o);
|
|
@@ -18090,7 +18195,7 @@ async function toBytes2(build, options2) {
|
|
|
18090
18195
|
return all;
|
|
18091
18196
|
}
|
|
18092
18197
|
var init_index = __esm({
|
|
18093
|
-
"src/index.js"() {
|
|
18198
|
+
"packages/pdf/src/index.js"() {
|
|
18094
18199
|
init_sink();
|
|
18095
18200
|
init_document();
|
|
18096
18201
|
init_brand();
|