documents.js 1.72.0 → 1.74.0
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/dist/edit/docx/table.cjs +32 -0
- package/dist/edit/docx/table.d.cts +2 -0
- package/dist/edit/docx/table.d.ts +2 -0
- package/dist/edit/docx/table.js +32 -0
- package/dist/edit/odp/slide.d.cts +1 -1
- package/dist/edit/odp/slide.d.ts +1 -1
- package/dist/edit/odt/content.d.cts +1 -1
- package/dist/edit/odt/content.d.ts +1 -1
- package/dist/edit/odt/editor.d.cts +1 -1
- package/dist/edit/odt/editor.d.ts +1 -1
- package/dist/edit/odt/table.cjs +47 -0
- package/dist/edit/odt/table.d.cts +1 -1
- package/dist/edit/odt/table.d.ts +1 -1
- package/dist/edit/odt/table.js +47 -0
- package/dist/edit/pdf/editor.cjs +63 -0
- package/dist/edit/pdf/editor.d.cts +26 -0
- package/dist/edit/pdf/editor.d.ts +26 -0
- package/dist/edit/pdf/editor.js +60 -0
- package/dist/edit/pdf/item.cjs +483 -0
- package/dist/edit/pdf/item.d.cts +2 -0
- package/dist/edit/pdf/item.d.ts +2 -0
- package/dist/edit/pdf/item.js +468 -0
- package/dist/edit/pdf/page.cjs +178 -0
- package/dist/edit/pdf/page.d.cts +49 -0
- package/dist/edit/pdf/page.d.ts +49 -0
- package/dist/edit/pdf/page.js +176 -0
- package/dist/edit/pdf/util.cjs +38 -0
- package/dist/edit/pdf/util.d.cts +6 -0
- package/dist/edit/pdf/util.d.ts +6 -0
- package/dist/edit/pdf/util.js +36 -0
- package/dist/index.cjs +14 -0
- package/dist/index.d.cts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +4 -1
- package/dist/item-CNEgqooo.d.ts +227 -0
- package/dist/item-DhYRoAvM.d.cts +227 -0
- package/dist/{table-kvclAXS5.d.ts → table-AT4t4VUy.d.ts} +4 -0
- package/dist/{table-sEo1Jf8c.d.cts → table-DSFcqJ7C.d.cts} +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
import { registerImageBytes, spliceOut } from "./util.js";
|
|
2
|
+
//#region src/edit/pdf/item.ts
|
|
3
|
+
var PdfItemBase = class {
|
|
4
|
+
container;
|
|
5
|
+
node;
|
|
6
|
+
typeName;
|
|
7
|
+
removed = false;
|
|
8
|
+
constructor(container, node, typeName) {
|
|
9
|
+
this.container = container;
|
|
10
|
+
this.node = node;
|
|
11
|
+
this.typeName = typeName;
|
|
12
|
+
}
|
|
13
|
+
live() {
|
|
14
|
+
if (this.removed) throw new Error(`this ${this.typeName} has been removed from its page and can no longer be used`);
|
|
15
|
+
return this.node;
|
|
16
|
+
}
|
|
17
|
+
get sourcePath() {
|
|
18
|
+
return this.live().sourcePath;
|
|
19
|
+
}
|
|
20
|
+
remove() {
|
|
21
|
+
const node = this.live();
|
|
22
|
+
spliceOut(this.container, node);
|
|
23
|
+
this.removed = true;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
function requirePositive(value, field) {
|
|
27
|
+
if (!(value > 0)) throw new Error(`${field} must be a positive number, got ${value}`);
|
|
28
|
+
}
|
|
29
|
+
function requireNonNegative(value, field) {
|
|
30
|
+
if (!(value >= 0)) throw new Error(`${field} must be a nonnegative number, got ${value}`);
|
|
31
|
+
}
|
|
32
|
+
function setOrDelete(node, key, value) {
|
|
33
|
+
if (value === void 0) {
|
|
34
|
+
delete node[key];
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
node[key] = value;
|
|
38
|
+
}
|
|
39
|
+
function buildTextItem(init) {
|
|
40
|
+
requirePositive(init.sizePt, "sizePt");
|
|
41
|
+
return {
|
|
42
|
+
kind: "text",
|
|
43
|
+
xPt: init.xPt,
|
|
44
|
+
yPt: init.yPt,
|
|
45
|
+
text: init.text,
|
|
46
|
+
font: init.font,
|
|
47
|
+
sizePt: init.sizePt,
|
|
48
|
+
color: init.color,
|
|
49
|
+
rotationDeg: init.rotationDeg,
|
|
50
|
+
underline: init.underline
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
var PdfTextItem = class extends PdfItemBase {
|
|
54
|
+
kind = "text";
|
|
55
|
+
constructor(container, node) {
|
|
56
|
+
super(container, node, "PdfTextItem");
|
|
57
|
+
}
|
|
58
|
+
get xPt() {
|
|
59
|
+
return this.live().xPt;
|
|
60
|
+
}
|
|
61
|
+
set xPt(value) {
|
|
62
|
+
this.live().xPt = value;
|
|
63
|
+
}
|
|
64
|
+
get yPt() {
|
|
65
|
+
return this.live().yPt;
|
|
66
|
+
}
|
|
67
|
+
set yPt(value) {
|
|
68
|
+
this.live().yPt = value;
|
|
69
|
+
}
|
|
70
|
+
get text() {
|
|
71
|
+
return this.live().text;
|
|
72
|
+
}
|
|
73
|
+
set text(value) {
|
|
74
|
+
this.live().text = value;
|
|
75
|
+
}
|
|
76
|
+
get font() {
|
|
77
|
+
return this.live().font;
|
|
78
|
+
}
|
|
79
|
+
set font(value) {
|
|
80
|
+
this.live().font = value;
|
|
81
|
+
}
|
|
82
|
+
get sizePt() {
|
|
83
|
+
return this.live().sizePt;
|
|
84
|
+
}
|
|
85
|
+
set sizePt(value) {
|
|
86
|
+
requirePositive(value, "sizePt");
|
|
87
|
+
this.live().sizePt = value;
|
|
88
|
+
}
|
|
89
|
+
get color() {
|
|
90
|
+
return this.live().color;
|
|
91
|
+
}
|
|
92
|
+
set color(value) {
|
|
93
|
+
this.live().color = value;
|
|
94
|
+
}
|
|
95
|
+
get widthPt() {
|
|
96
|
+
return this.live().widthPt;
|
|
97
|
+
}
|
|
98
|
+
set widthPt(value) {
|
|
99
|
+
if (value !== void 0) requireNonNegative(value, "widthPt");
|
|
100
|
+
setOrDelete(this.live(), "widthPt", value);
|
|
101
|
+
}
|
|
102
|
+
get rotationDeg() {
|
|
103
|
+
return this.live().rotationDeg;
|
|
104
|
+
}
|
|
105
|
+
set rotationDeg(value) {
|
|
106
|
+
setOrDelete(this.live(), "rotationDeg", value);
|
|
107
|
+
}
|
|
108
|
+
get underline() {
|
|
109
|
+
return this.live().underline;
|
|
110
|
+
}
|
|
111
|
+
set underline(value) {
|
|
112
|
+
setOrDelete(this.live(), "underline", value);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
function requireValidStroke(stroke) {
|
|
116
|
+
if (stroke !== void 0) requirePositive(stroke.widthPt, "stroke.widthPt");
|
|
117
|
+
}
|
|
118
|
+
function buildRectItem(init) {
|
|
119
|
+
requireNonNegative(init.widthPt, "widthPt");
|
|
120
|
+
requireNonNegative(init.heightPt, "heightPt");
|
|
121
|
+
requireValidStroke(init.stroke);
|
|
122
|
+
return {
|
|
123
|
+
kind: "rect",
|
|
124
|
+
xPt: init.xPt,
|
|
125
|
+
yPt: init.yPt,
|
|
126
|
+
widthPt: init.widthPt,
|
|
127
|
+
heightPt: init.heightPt,
|
|
128
|
+
fill: init.fill,
|
|
129
|
+
stroke: init.stroke
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function buildEllipseItem(init) {
|
|
133
|
+
requirePositive(init.widthPt, "widthPt");
|
|
134
|
+
requirePositive(init.heightPt, "heightPt");
|
|
135
|
+
requireValidStroke(init.stroke);
|
|
136
|
+
return {
|
|
137
|
+
kind: "ellipse",
|
|
138
|
+
xPt: init.xPt,
|
|
139
|
+
yPt: init.yPt,
|
|
140
|
+
widthPt: init.widthPt,
|
|
141
|
+
heightPt: init.heightPt,
|
|
142
|
+
fill: init.fill,
|
|
143
|
+
stroke: init.stroke
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
var PdfRectItem = class extends PdfItemBase {
|
|
147
|
+
kind = "rect";
|
|
148
|
+
constructor(container, node) {
|
|
149
|
+
super(container, node, "PdfRectItem");
|
|
150
|
+
}
|
|
151
|
+
get xPt() {
|
|
152
|
+
return this.live().xPt;
|
|
153
|
+
}
|
|
154
|
+
set xPt(value) {
|
|
155
|
+
this.live().xPt = value;
|
|
156
|
+
}
|
|
157
|
+
get yPt() {
|
|
158
|
+
return this.live().yPt;
|
|
159
|
+
}
|
|
160
|
+
set yPt(value) {
|
|
161
|
+
this.live().yPt = value;
|
|
162
|
+
}
|
|
163
|
+
get widthPt() {
|
|
164
|
+
return this.live().widthPt;
|
|
165
|
+
}
|
|
166
|
+
set widthPt(value) {
|
|
167
|
+
requireNonNegative(value, "widthPt");
|
|
168
|
+
this.live().widthPt = value;
|
|
169
|
+
}
|
|
170
|
+
get heightPt() {
|
|
171
|
+
return this.live().heightPt;
|
|
172
|
+
}
|
|
173
|
+
set heightPt(value) {
|
|
174
|
+
requireNonNegative(value, "heightPt");
|
|
175
|
+
this.live().heightPt = value;
|
|
176
|
+
}
|
|
177
|
+
get fill() {
|
|
178
|
+
return this.live().fill;
|
|
179
|
+
}
|
|
180
|
+
set fill(value) {
|
|
181
|
+
setOrDelete(this.live(), "fill", value);
|
|
182
|
+
}
|
|
183
|
+
get stroke() {
|
|
184
|
+
return this.live().stroke;
|
|
185
|
+
}
|
|
186
|
+
set stroke(value) {
|
|
187
|
+
requireValidStroke(value);
|
|
188
|
+
setOrDelete(this.live(), "stroke", value);
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
var PdfEllipseItem = class extends PdfItemBase {
|
|
192
|
+
kind = "ellipse";
|
|
193
|
+
constructor(container, node) {
|
|
194
|
+
super(container, node, "PdfEllipseItem");
|
|
195
|
+
}
|
|
196
|
+
get xPt() {
|
|
197
|
+
return this.live().xPt;
|
|
198
|
+
}
|
|
199
|
+
set xPt(value) {
|
|
200
|
+
this.live().xPt = value;
|
|
201
|
+
}
|
|
202
|
+
get yPt() {
|
|
203
|
+
return this.live().yPt;
|
|
204
|
+
}
|
|
205
|
+
set yPt(value) {
|
|
206
|
+
this.live().yPt = value;
|
|
207
|
+
}
|
|
208
|
+
get widthPt() {
|
|
209
|
+
return this.live().widthPt;
|
|
210
|
+
}
|
|
211
|
+
set widthPt(value) {
|
|
212
|
+
requirePositive(value, "widthPt");
|
|
213
|
+
this.live().widthPt = value;
|
|
214
|
+
}
|
|
215
|
+
get heightPt() {
|
|
216
|
+
return this.live().heightPt;
|
|
217
|
+
}
|
|
218
|
+
set heightPt(value) {
|
|
219
|
+
requirePositive(value, "heightPt");
|
|
220
|
+
this.live().heightPt = value;
|
|
221
|
+
}
|
|
222
|
+
get fill() {
|
|
223
|
+
return this.live().fill;
|
|
224
|
+
}
|
|
225
|
+
set fill(value) {
|
|
226
|
+
setOrDelete(this.live(), "fill", value);
|
|
227
|
+
}
|
|
228
|
+
get stroke() {
|
|
229
|
+
return this.live().stroke;
|
|
230
|
+
}
|
|
231
|
+
set stroke(value) {
|
|
232
|
+
requireValidStroke(value);
|
|
233
|
+
setOrDelete(this.live(), "stroke", value);
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
function buildLineItem(init) {
|
|
237
|
+
requirePositive(init.widthPt, "widthPt");
|
|
238
|
+
return {
|
|
239
|
+
kind: "line",
|
|
240
|
+
x1Pt: init.x1Pt,
|
|
241
|
+
y1Pt: init.y1Pt,
|
|
242
|
+
x2Pt: init.x2Pt,
|
|
243
|
+
y2Pt: init.y2Pt,
|
|
244
|
+
color: init.color,
|
|
245
|
+
widthPt: init.widthPt,
|
|
246
|
+
style: init.style
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
var PdfLineItem = class extends PdfItemBase {
|
|
250
|
+
kind = "line";
|
|
251
|
+
constructor(container, node) {
|
|
252
|
+
super(container, node, "PdfLineItem");
|
|
253
|
+
}
|
|
254
|
+
get x1Pt() {
|
|
255
|
+
return this.live().x1Pt;
|
|
256
|
+
}
|
|
257
|
+
set x1Pt(value) {
|
|
258
|
+
this.live().x1Pt = value;
|
|
259
|
+
}
|
|
260
|
+
get y1Pt() {
|
|
261
|
+
return this.live().y1Pt;
|
|
262
|
+
}
|
|
263
|
+
set y1Pt(value) {
|
|
264
|
+
this.live().y1Pt = value;
|
|
265
|
+
}
|
|
266
|
+
get x2Pt() {
|
|
267
|
+
return this.live().x2Pt;
|
|
268
|
+
}
|
|
269
|
+
set x2Pt(value) {
|
|
270
|
+
this.live().x2Pt = value;
|
|
271
|
+
}
|
|
272
|
+
get y2Pt() {
|
|
273
|
+
return this.live().y2Pt;
|
|
274
|
+
}
|
|
275
|
+
set y2Pt(value) {
|
|
276
|
+
this.live().y2Pt = value;
|
|
277
|
+
}
|
|
278
|
+
get color() {
|
|
279
|
+
return this.live().color;
|
|
280
|
+
}
|
|
281
|
+
set color(value) {
|
|
282
|
+
this.live().color = value;
|
|
283
|
+
}
|
|
284
|
+
get widthPt() {
|
|
285
|
+
return this.live().widthPt;
|
|
286
|
+
}
|
|
287
|
+
set widthPt(value) {
|
|
288
|
+
requirePositive(value, "widthPt");
|
|
289
|
+
this.live().widthPt = value;
|
|
290
|
+
}
|
|
291
|
+
get style() {
|
|
292
|
+
return this.live().style;
|
|
293
|
+
}
|
|
294
|
+
set style(value) {
|
|
295
|
+
setOrDelete(this.live(), "style", value);
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
function buildPathItem(init) {
|
|
299
|
+
requireValidStroke(init.stroke);
|
|
300
|
+
return {
|
|
301
|
+
kind: "path",
|
|
302
|
+
subpaths: [...init.subpaths],
|
|
303
|
+
fill: init.fill,
|
|
304
|
+
fillRule: init.fillRule,
|
|
305
|
+
stroke: init.stroke,
|
|
306
|
+
style: init.style
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
var PdfPathItem = class extends PdfItemBase {
|
|
310
|
+
kind = "path";
|
|
311
|
+
constructor(container, node) {
|
|
312
|
+
super(container, node, "PdfPathItem");
|
|
313
|
+
}
|
|
314
|
+
get subpaths() {
|
|
315
|
+
return this.live().subpaths;
|
|
316
|
+
}
|
|
317
|
+
set subpaths(value) {
|
|
318
|
+
this.live().subpaths = [...value];
|
|
319
|
+
}
|
|
320
|
+
get fill() {
|
|
321
|
+
return this.live().fill;
|
|
322
|
+
}
|
|
323
|
+
set fill(value) {
|
|
324
|
+
setOrDelete(this.live(), "fill", value);
|
|
325
|
+
}
|
|
326
|
+
get fillRule() {
|
|
327
|
+
return this.live().fillRule;
|
|
328
|
+
}
|
|
329
|
+
set fillRule(value) {
|
|
330
|
+
setOrDelete(this.live(), "fillRule", value);
|
|
331
|
+
}
|
|
332
|
+
get stroke() {
|
|
333
|
+
return this.live().stroke;
|
|
334
|
+
}
|
|
335
|
+
set stroke(value) {
|
|
336
|
+
requireValidStroke(value);
|
|
337
|
+
setOrDelete(this.live(), "stroke", value);
|
|
338
|
+
}
|
|
339
|
+
get style() {
|
|
340
|
+
return this.live().style;
|
|
341
|
+
}
|
|
342
|
+
set style(value) {
|
|
343
|
+
setOrDelete(this.live(), "style", value);
|
|
344
|
+
}
|
|
345
|
+
};
|
|
346
|
+
function buildImageItem(init, images) {
|
|
347
|
+
requirePositive(init.widthPt, "widthPt");
|
|
348
|
+
requirePositive(init.heightPt, "heightPt");
|
|
349
|
+
return {
|
|
350
|
+
kind: "image",
|
|
351
|
+
imageId: registerImageBytes(init.bytes, init.format, images),
|
|
352
|
+
xPt: init.xPt,
|
|
353
|
+
yPt: init.yPt,
|
|
354
|
+
widthPt: init.widthPt,
|
|
355
|
+
heightPt: init.heightPt,
|
|
356
|
+
rotationDeg: init.rotationDeg
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
var PdfImageItem = class extends PdfItemBase {
|
|
360
|
+
kind = "image";
|
|
361
|
+
images;
|
|
362
|
+
constructor(container, node, images) {
|
|
363
|
+
super(container, node, "PdfImageItem");
|
|
364
|
+
this.images = images;
|
|
365
|
+
}
|
|
366
|
+
get imageId() {
|
|
367
|
+
return this.live().imageId;
|
|
368
|
+
}
|
|
369
|
+
get xPt() {
|
|
370
|
+
return this.live().xPt;
|
|
371
|
+
}
|
|
372
|
+
set xPt(value) {
|
|
373
|
+
this.live().xPt = value;
|
|
374
|
+
}
|
|
375
|
+
get yPt() {
|
|
376
|
+
return this.live().yPt;
|
|
377
|
+
}
|
|
378
|
+
set yPt(value) {
|
|
379
|
+
this.live().yPt = value;
|
|
380
|
+
}
|
|
381
|
+
get widthPt() {
|
|
382
|
+
return this.live().widthPt;
|
|
383
|
+
}
|
|
384
|
+
set widthPt(value) {
|
|
385
|
+
requirePositive(value, "widthPt");
|
|
386
|
+
this.live().widthPt = value;
|
|
387
|
+
}
|
|
388
|
+
get heightPt() {
|
|
389
|
+
return this.live().heightPt;
|
|
390
|
+
}
|
|
391
|
+
set heightPt(value) {
|
|
392
|
+
requirePositive(value, "heightPt");
|
|
393
|
+
this.live().heightPt = value;
|
|
394
|
+
}
|
|
395
|
+
get rotationDeg() {
|
|
396
|
+
return this.live().rotationDeg;
|
|
397
|
+
}
|
|
398
|
+
set rotationDeg(value) {
|
|
399
|
+
setOrDelete(this.live(), "rotationDeg", value);
|
|
400
|
+
}
|
|
401
|
+
setImage(bytes, format) {
|
|
402
|
+
const node = this.live();
|
|
403
|
+
node.imageId = registerImageBytes(bytes, format, this.images);
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
function buildLinkItem(init) {
|
|
407
|
+
requireNonNegative(init.widthPt, "widthPt");
|
|
408
|
+
requireNonNegative(init.heightPt, "heightPt");
|
|
409
|
+
return {
|
|
410
|
+
kind: "link",
|
|
411
|
+
uri: init.uri,
|
|
412
|
+
xPt: init.xPt,
|
|
413
|
+
yPt: init.yPt,
|
|
414
|
+
widthPt: init.widthPt,
|
|
415
|
+
heightPt: init.heightPt
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
var PdfLinkItem = class extends PdfItemBase {
|
|
419
|
+
kind = "link";
|
|
420
|
+
constructor(container, node) {
|
|
421
|
+
super(container, node, "PdfLinkItem");
|
|
422
|
+
}
|
|
423
|
+
get uri() {
|
|
424
|
+
return this.live().uri;
|
|
425
|
+
}
|
|
426
|
+
set uri(value) {
|
|
427
|
+
this.live().uri = value;
|
|
428
|
+
}
|
|
429
|
+
get xPt() {
|
|
430
|
+
return this.live().xPt;
|
|
431
|
+
}
|
|
432
|
+
set xPt(value) {
|
|
433
|
+
this.live().xPt = value;
|
|
434
|
+
}
|
|
435
|
+
get yPt() {
|
|
436
|
+
return this.live().yPt;
|
|
437
|
+
}
|
|
438
|
+
set yPt(value) {
|
|
439
|
+
this.live().yPt = value;
|
|
440
|
+
}
|
|
441
|
+
get widthPt() {
|
|
442
|
+
return this.live().widthPt;
|
|
443
|
+
}
|
|
444
|
+
set widthPt(value) {
|
|
445
|
+
requireNonNegative(value, "widthPt");
|
|
446
|
+
this.live().widthPt = value;
|
|
447
|
+
}
|
|
448
|
+
get heightPt() {
|
|
449
|
+
return this.live().heightPt;
|
|
450
|
+
}
|
|
451
|
+
set heightPt(value) {
|
|
452
|
+
requireNonNegative(value, "heightPt");
|
|
453
|
+
this.live().heightPt = value;
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
function wrapItem(container, node, images) {
|
|
457
|
+
switch (node.kind) {
|
|
458
|
+
case "text": return new PdfTextItem(container, node);
|
|
459
|
+
case "image": return new PdfImageItem(container, node, images);
|
|
460
|
+
case "rect": return new PdfRectItem(container, node);
|
|
461
|
+
case "ellipse": return new PdfEllipseItem(container, node);
|
|
462
|
+
case "line": return new PdfLineItem(container, node);
|
|
463
|
+
case "path": return new PdfPathItem(container, node);
|
|
464
|
+
case "link": return new PdfLinkItem(container, node);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
//#endregion
|
|
468
|
+
export { PdfEllipseItem, PdfImageItem, PdfLineItem, PdfLinkItem, PdfPathItem, PdfRectItem, PdfTextItem, buildEllipseItem, buildImageItem, buildLineItem, buildLinkItem, buildPathItem, buildRectItem, buildTextItem, wrapItem };
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_edit_pdf_util = require("./util.cjs");
|
|
3
|
+
const require_edit_pdf_item = require("./item.cjs");
|
|
4
|
+
//#region src/edit/pdf/page.ts
|
|
5
|
+
const DEFAULT_PAGE_WIDTH_PT = 612;
|
|
6
|
+
const DEFAULT_PAGE_HEIGHT_PT = 792;
|
|
7
|
+
function buildPage(init = {}) {
|
|
8
|
+
const widthPt = init.widthPt ?? DEFAULT_PAGE_WIDTH_PT;
|
|
9
|
+
const heightPt = init.heightPt ?? DEFAULT_PAGE_HEIGHT_PT;
|
|
10
|
+
if (!(widthPt > 0)) throw new Error(`widthPt must be a positive number, got ${widthPt}`);
|
|
11
|
+
if (!(heightPt > 0)) throw new Error(`heightPt must be a positive number, got ${heightPt}`);
|
|
12
|
+
return {
|
|
13
|
+
widthPt,
|
|
14
|
+
heightPt,
|
|
15
|
+
items: [],
|
|
16
|
+
notes: init.notes
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var PdfPage = class {
|
|
20
|
+
container;
|
|
21
|
+
node;
|
|
22
|
+
images;
|
|
23
|
+
removed = false;
|
|
24
|
+
constructor(container, node, images) {
|
|
25
|
+
this.container = container;
|
|
26
|
+
this.node = node;
|
|
27
|
+
this.images = images;
|
|
28
|
+
}
|
|
29
|
+
live() {
|
|
30
|
+
if (this.removed) throw new Error("this PdfPage has been removed from its document and can no longer be used");
|
|
31
|
+
return this.node;
|
|
32
|
+
}
|
|
33
|
+
get widthPt() {
|
|
34
|
+
return this.live().widthPt;
|
|
35
|
+
}
|
|
36
|
+
set widthPt(value) {
|
|
37
|
+
if (!(value > 0)) throw new Error(`widthPt must be a positive number, got ${value}`);
|
|
38
|
+
this.live().widthPt = value;
|
|
39
|
+
}
|
|
40
|
+
get heightPt() {
|
|
41
|
+
return this.live().heightPt;
|
|
42
|
+
}
|
|
43
|
+
set heightPt(value) {
|
|
44
|
+
if (!(value > 0)) throw new Error(`heightPt must be a positive number, got ${value}`);
|
|
45
|
+
this.live().heightPt = value;
|
|
46
|
+
}
|
|
47
|
+
get notes() {
|
|
48
|
+
return this.live().notes;
|
|
49
|
+
}
|
|
50
|
+
set notes(value) {
|
|
51
|
+
const node = this.live();
|
|
52
|
+
if (value === void 0) {
|
|
53
|
+
delete node.notes;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
node.notes = value;
|
|
57
|
+
}
|
|
58
|
+
items() {
|
|
59
|
+
const node = this.live();
|
|
60
|
+
return node.items.map((item) => require_edit_pdf_item.wrapItem(node.items, item, this.images));
|
|
61
|
+
}
|
|
62
|
+
textItems() {
|
|
63
|
+
return this.items().filter((item) => item.kind === "text");
|
|
64
|
+
}
|
|
65
|
+
imageItems() {
|
|
66
|
+
return this.items().filter((item) => item.kind === "image");
|
|
67
|
+
}
|
|
68
|
+
rectItems() {
|
|
69
|
+
return this.items().filter((item) => item.kind === "rect");
|
|
70
|
+
}
|
|
71
|
+
ellipseItems() {
|
|
72
|
+
return this.items().filter((item) => item.kind === "ellipse");
|
|
73
|
+
}
|
|
74
|
+
lineItems() {
|
|
75
|
+
return this.items().filter((item) => item.kind === "line");
|
|
76
|
+
}
|
|
77
|
+
pathItems() {
|
|
78
|
+
return this.items().filter((item) => item.kind === "path");
|
|
79
|
+
}
|
|
80
|
+
linkItems() {
|
|
81
|
+
return this.items().filter((item) => item.kind === "link");
|
|
82
|
+
}
|
|
83
|
+
clampIndex(index) {
|
|
84
|
+
return Math.min(Math.max(index, 0), this.live().items.length);
|
|
85
|
+
}
|
|
86
|
+
appendText(init) {
|
|
87
|
+
const node = this.live();
|
|
88
|
+
const item = require_edit_pdf_item.buildTextItem(init);
|
|
89
|
+
node.items.push(item);
|
|
90
|
+
return new require_edit_pdf_item.PdfTextItem(node.items, item);
|
|
91
|
+
}
|
|
92
|
+
insertTextAt(index, init) {
|
|
93
|
+
const node = this.live();
|
|
94
|
+
const item = require_edit_pdf_item.buildTextItem(init);
|
|
95
|
+
node.items.splice(this.clampIndex(index), 0, item);
|
|
96
|
+
return new require_edit_pdf_item.PdfTextItem(node.items, item);
|
|
97
|
+
}
|
|
98
|
+
appendRect(init) {
|
|
99
|
+
const node = this.live();
|
|
100
|
+
const item = require_edit_pdf_item.buildRectItem(init);
|
|
101
|
+
node.items.push(item);
|
|
102
|
+
return new require_edit_pdf_item.PdfRectItem(node.items, item);
|
|
103
|
+
}
|
|
104
|
+
insertRectAt(index, init) {
|
|
105
|
+
const node = this.live();
|
|
106
|
+
const item = require_edit_pdf_item.buildRectItem(init);
|
|
107
|
+
node.items.splice(this.clampIndex(index), 0, item);
|
|
108
|
+
return new require_edit_pdf_item.PdfRectItem(node.items, item);
|
|
109
|
+
}
|
|
110
|
+
appendEllipse(init) {
|
|
111
|
+
const node = this.live();
|
|
112
|
+
const item = require_edit_pdf_item.buildEllipseItem(init);
|
|
113
|
+
node.items.push(item);
|
|
114
|
+
return new require_edit_pdf_item.PdfEllipseItem(node.items, item);
|
|
115
|
+
}
|
|
116
|
+
insertEllipseAt(index, init) {
|
|
117
|
+
const node = this.live();
|
|
118
|
+
const item = require_edit_pdf_item.buildEllipseItem(init);
|
|
119
|
+
node.items.splice(this.clampIndex(index), 0, item);
|
|
120
|
+
return new require_edit_pdf_item.PdfEllipseItem(node.items, item);
|
|
121
|
+
}
|
|
122
|
+
appendLine(init) {
|
|
123
|
+
const node = this.live();
|
|
124
|
+
const item = require_edit_pdf_item.buildLineItem(init);
|
|
125
|
+
node.items.push(item);
|
|
126
|
+
return new require_edit_pdf_item.PdfLineItem(node.items, item);
|
|
127
|
+
}
|
|
128
|
+
insertLineAt(index, init) {
|
|
129
|
+
const node = this.live();
|
|
130
|
+
const item = require_edit_pdf_item.buildLineItem(init);
|
|
131
|
+
node.items.splice(this.clampIndex(index), 0, item);
|
|
132
|
+
return new require_edit_pdf_item.PdfLineItem(node.items, item);
|
|
133
|
+
}
|
|
134
|
+
appendPath(init) {
|
|
135
|
+
const node = this.live();
|
|
136
|
+
const item = require_edit_pdf_item.buildPathItem(init);
|
|
137
|
+
node.items.push(item);
|
|
138
|
+
return new require_edit_pdf_item.PdfPathItem(node.items, item);
|
|
139
|
+
}
|
|
140
|
+
insertPathAt(index, init) {
|
|
141
|
+
const node = this.live();
|
|
142
|
+
const item = require_edit_pdf_item.buildPathItem(init);
|
|
143
|
+
node.items.splice(this.clampIndex(index), 0, item);
|
|
144
|
+
return new require_edit_pdf_item.PdfPathItem(node.items, item);
|
|
145
|
+
}
|
|
146
|
+
appendImage(init) {
|
|
147
|
+
const node = this.live();
|
|
148
|
+
const item = require_edit_pdf_item.buildImageItem(init, this.images);
|
|
149
|
+
node.items.push(item);
|
|
150
|
+
return new require_edit_pdf_item.PdfImageItem(node.items, item, this.images);
|
|
151
|
+
}
|
|
152
|
+
insertImageAt(index, init) {
|
|
153
|
+
const node = this.live();
|
|
154
|
+
const item = require_edit_pdf_item.buildImageItem(init, this.images);
|
|
155
|
+
node.items.splice(this.clampIndex(index), 0, item);
|
|
156
|
+
return new require_edit_pdf_item.PdfImageItem(node.items, item, this.images);
|
|
157
|
+
}
|
|
158
|
+
appendLink(init) {
|
|
159
|
+
const node = this.live();
|
|
160
|
+
const item = require_edit_pdf_item.buildLinkItem(init);
|
|
161
|
+
node.items.push(item);
|
|
162
|
+
return new require_edit_pdf_item.PdfLinkItem(node.items, item);
|
|
163
|
+
}
|
|
164
|
+
insertLinkAt(index, init) {
|
|
165
|
+
const node = this.live();
|
|
166
|
+
const item = require_edit_pdf_item.buildLinkItem(init);
|
|
167
|
+
node.items.splice(this.clampIndex(index), 0, item);
|
|
168
|
+
return new require_edit_pdf_item.PdfLinkItem(node.items, item);
|
|
169
|
+
}
|
|
170
|
+
remove() {
|
|
171
|
+
const node = this.live();
|
|
172
|
+
require_edit_pdf_util.spliceOut(this.container, node);
|
|
173
|
+
this.removed = true;
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
//#endregion
|
|
177
|
+
exports.PdfPage = PdfPage;
|
|
178
|
+
exports.buildPage = buildPage;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { a as PdfItem, c as PdfLinkInit, d as PdfPathItem, f as PdfRectInit, h as PdfTextItem, i as PdfImageItem, l as PdfLinkItem, m as PdfTextInit, n as PdfEllipseItem, o as PdfLineInit, p as PdfRectItem, r as PdfImageInit, s as PdfLineItem, t as PdfEllipseInit, u as PdfPathInit } from "../../item-DhYRoAvM.cjs";
|
|
2
|
+
import { LayoutImageAsset, LayoutPage } from "document-schema.js";
|
|
3
|
+
//#region src/edit/pdf/page.d.ts
|
|
4
|
+
interface PageInit {
|
|
5
|
+
readonly widthPt?: number;
|
|
6
|
+
readonly heightPt?: number;
|
|
7
|
+
readonly notes?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function buildPage(init?: PageInit): LayoutPage;
|
|
10
|
+
declare class PdfPage {
|
|
11
|
+
private readonly container;
|
|
12
|
+
private readonly node;
|
|
13
|
+
private readonly images;
|
|
14
|
+
private removed;
|
|
15
|
+
constructor(container: LayoutPage[], node: LayoutPage, images: Record<string, LayoutImageAsset>);
|
|
16
|
+
private live;
|
|
17
|
+
get widthPt(): number;
|
|
18
|
+
set widthPt(value: number);
|
|
19
|
+
get heightPt(): number;
|
|
20
|
+
set heightPt(value: number);
|
|
21
|
+
get notes(): string | undefined;
|
|
22
|
+
set notes(value: string | undefined);
|
|
23
|
+
items(): PdfItem[];
|
|
24
|
+
textItems(): PdfTextItem[];
|
|
25
|
+
imageItems(): PdfImageItem[];
|
|
26
|
+
rectItems(): PdfRectItem[];
|
|
27
|
+
ellipseItems(): PdfEllipseItem[];
|
|
28
|
+
lineItems(): PdfLineItem[];
|
|
29
|
+
pathItems(): PdfPathItem[];
|
|
30
|
+
linkItems(): PdfLinkItem[];
|
|
31
|
+
private clampIndex;
|
|
32
|
+
appendText(init: PdfTextInit): PdfTextItem;
|
|
33
|
+
insertTextAt(index: number, init: PdfTextInit): PdfTextItem;
|
|
34
|
+
appendRect(init: PdfRectInit): PdfRectItem;
|
|
35
|
+
insertRectAt(index: number, init: PdfRectInit): PdfRectItem;
|
|
36
|
+
appendEllipse(init: PdfEllipseInit): PdfEllipseItem;
|
|
37
|
+
insertEllipseAt(index: number, init: PdfEllipseInit): PdfEllipseItem;
|
|
38
|
+
appendLine(init: PdfLineInit): PdfLineItem;
|
|
39
|
+
insertLineAt(index: number, init: PdfLineInit): PdfLineItem;
|
|
40
|
+
appendPath(init: PdfPathInit): PdfPathItem;
|
|
41
|
+
insertPathAt(index: number, init: PdfPathInit): PdfPathItem;
|
|
42
|
+
appendImage(init: PdfImageInit): PdfImageItem;
|
|
43
|
+
insertImageAt(index: number, init: PdfImageInit): PdfImageItem;
|
|
44
|
+
appendLink(init: PdfLinkInit): PdfLinkItem;
|
|
45
|
+
insertLinkAt(index: number, init: PdfLinkInit): PdfLinkItem;
|
|
46
|
+
remove(): void;
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { PageInit, PdfPage, buildPage };
|