@lexmata/micropdf 0.4.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/LICENSE +191 -0
- package/README.md +985 -0
- package/binding.gyp +73 -0
- package/dist/annot.d.ts +458 -0
- package/dist/annot.d.ts.map +1 -0
- package/dist/annot.js +697 -0
- package/dist/annot.js.map +1 -0
- package/dist/archive.d.ts +128 -0
- package/dist/archive.d.ts.map +1 -0
- package/dist/archive.js +268 -0
- package/dist/archive.js.map +1 -0
- package/dist/buffer.d.ts +572 -0
- package/dist/buffer.d.ts.map +1 -0
- package/dist/buffer.js +971 -0
- package/dist/buffer.js.map +1 -0
- package/dist/colorspace.d.ts +287 -0
- package/dist/colorspace.d.ts.map +1 -0
- package/dist/colorspace.js +542 -0
- package/dist/colorspace.js.map +1 -0
- package/dist/context.d.ts +184 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +320 -0
- package/dist/context.js.map +1 -0
- package/dist/cookie.d.ts +164 -0
- package/dist/cookie.d.ts.map +1 -0
- package/dist/cookie.js +306 -0
- package/dist/cookie.js.map +1 -0
- package/dist/device.d.ts +169 -0
- package/dist/device.d.ts.map +1 -0
- package/dist/device.js +350 -0
- package/dist/device.js.map +1 -0
- package/dist/display-list.d.ts +202 -0
- package/dist/display-list.d.ts.map +1 -0
- package/dist/display-list.js +410 -0
- package/dist/display-list.js.map +1 -0
- package/dist/document.d.ts +637 -0
- package/dist/document.d.ts.map +1 -0
- package/dist/document.js +902 -0
- package/dist/document.js.map +1 -0
- package/dist/easy.d.ts +423 -0
- package/dist/easy.d.ts.map +1 -0
- package/dist/easy.js +644 -0
- package/dist/easy.js.map +1 -0
- package/dist/enhanced.d.ts +226 -0
- package/dist/enhanced.d.ts.map +1 -0
- package/dist/enhanced.js +368 -0
- package/dist/enhanced.js.map +1 -0
- package/dist/filter.d.ts +51 -0
- package/dist/filter.d.ts.map +1 -0
- package/dist/filter.js +381 -0
- package/dist/filter.js.map +1 -0
- package/dist/font.d.ts +222 -0
- package/dist/font.d.ts.map +1 -0
- package/dist/font.js +381 -0
- package/dist/font.js.map +1 -0
- package/dist/form.d.ts +214 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/form.js +497 -0
- package/dist/form.js.map +1 -0
- package/dist/geometry.d.ts +469 -0
- package/dist/geometry.d.ts.map +1 -0
- package/dist/geometry.js +780 -0
- package/dist/geometry.js.map +1 -0
- package/dist/image.d.ts +172 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +348 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +171 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +339 -0
- package/dist/index.js.map +1 -0
- package/dist/link.d.ts +168 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +343 -0
- package/dist/link.js.map +1 -0
- package/dist/micropdf.d.ts +40 -0
- package/dist/micropdf.d.ts.map +1 -0
- package/dist/micropdf.js +45 -0
- package/dist/micropdf.js.map +1 -0
- package/dist/nanopdf.d.ts +40 -0
- package/dist/nanopdf.d.ts.map +1 -0
- package/dist/nanopdf.js +45 -0
- package/dist/nanopdf.js.map +1 -0
- package/dist/native.d.ts +242 -0
- package/dist/native.d.ts.map +1 -0
- package/dist/native.js +509 -0
- package/dist/native.js.map +1 -0
- package/dist/output.d.ts +166 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +365 -0
- package/dist/output.js.map +1 -0
- package/dist/path.d.ts +420 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +687 -0
- package/dist/path.js.map +1 -0
- package/dist/pdf/object.d.ts +489 -0
- package/dist/pdf/object.d.ts.map +1 -0
- package/dist/pdf/object.js +1045 -0
- package/dist/pdf/object.js.map +1 -0
- package/dist/pixmap.d.ts +315 -0
- package/dist/pixmap.d.ts.map +1 -0
- package/dist/pixmap.js +590 -0
- package/dist/pixmap.js.map +1 -0
- package/dist/profiler.d.ts +159 -0
- package/dist/profiler.d.ts.map +1 -0
- package/dist/profiler.js +380 -0
- package/dist/profiler.js.map +1 -0
- package/dist/render-options.d.ts +227 -0
- package/dist/render-options.d.ts.map +1 -0
- package/dist/render-options.js +130 -0
- package/dist/render-options.js.map +1 -0
- package/dist/resource-tracking.d.ts +332 -0
- package/dist/resource-tracking.d.ts.map +1 -0
- package/dist/resource-tracking.js +653 -0
- package/dist/resource-tracking.js.map +1 -0
- package/dist/simple.d.ts +276 -0
- package/dist/simple.d.ts.map +1 -0
- package/dist/simple.js +343 -0
- package/dist/simple.js.map +1 -0
- package/dist/stext.d.ts +290 -0
- package/dist/stext.d.ts.map +1 -0
- package/dist/stext.js +312 -0
- package/dist/stext.js.map +1 -0
- package/dist/stream.d.ts +174 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +476 -0
- package/dist/stream.js.map +1 -0
- package/dist/text.d.ts +337 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +454 -0
- package/dist/text.js.map +1 -0
- package/dist/typed-arrays.d.ts +127 -0
- package/dist/typed-arrays.d.ts.map +1 -0
- package/dist/typed-arrays.js +410 -0
- package/dist/typed-arrays.js.map +1 -0
- package/dist/types.d.ts +358 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +216 -0
- package/dist/types.js.map +1 -0
- package/native/annot.cc +557 -0
- package/native/buffer.cc +204 -0
- package/native/colorspace.cc +166 -0
- package/native/context.cc +84 -0
- package/native/cookie.cc +179 -0
- package/native/device.cc +179 -0
- package/native/display_list.cc +179 -0
- package/native/document.cc +268 -0
- package/native/enhanced.cc +70 -0
- package/native/font.cc +282 -0
- package/native/form.cc +523 -0
- package/native/geometry.cc +255 -0
- package/native/image.cc +216 -0
- package/native/include/micropdf/enhanced.h +38 -0
- package/native/include/micropdf/types.h +36 -0
- package/native/include/micropdf.h +106 -0
- package/native/include/mupdf-ffi.h +39 -0
- package/native/include/mupdf.h +11 -0
- package/native/include/mupdf_minimal.h +381 -0
- package/native/lib/linux-x64/libmicropdf.a +0 -0
- package/native/link.cc +234 -0
- package/native/micropdf.cc +71 -0
- package/native/output.cc +229 -0
- package/native/page.cc +572 -0
- package/native/path.cc +259 -0
- package/native/pixmap.cc +240 -0
- package/native/stext.cc +610 -0
- package/native/stream.cc +239 -0
- package/package.json +120 -0
- package/scripts/build-from-rust.js +97 -0
- package/scripts/install.js +184 -0
package/dist/font.js
ADDED
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Font - PDF font handling
|
|
3
|
+
*
|
|
4
|
+
* This module provides 100% API compatibility with MuPDF's font operations.
|
|
5
|
+
* Handles font loading, glyph encoding, metrics, and rendering.
|
|
6
|
+
*/
|
|
7
|
+
import { getDefaultContext } from './context.js';
|
|
8
|
+
import { Rect } from './geometry.js';
|
|
9
|
+
import { native } from './native.js';
|
|
10
|
+
/**
|
|
11
|
+
* Font flags
|
|
12
|
+
*/
|
|
13
|
+
export var FontFlags;
|
|
14
|
+
(function (FontFlags) {
|
|
15
|
+
FontFlags[FontFlags["Bold"] = 1] = "Bold";
|
|
16
|
+
FontFlags[FontFlags["Italic"] = 2] = "Italic";
|
|
17
|
+
FontFlags[FontFlags["Serif"] = 4] = "Serif";
|
|
18
|
+
FontFlags[FontFlags["Monospaced"] = 8] = "Monospaced";
|
|
19
|
+
FontFlags[FontFlags["Embedded"] = 16] = "Embedded";
|
|
20
|
+
})(FontFlags || (FontFlags = {}));
|
|
21
|
+
/**
|
|
22
|
+
* A PDF font
|
|
23
|
+
*/
|
|
24
|
+
export class Font {
|
|
25
|
+
_ctx;
|
|
26
|
+
_font;
|
|
27
|
+
_name;
|
|
28
|
+
_flags = 0;
|
|
29
|
+
_bbox = Rect.EMPTY;
|
|
30
|
+
_ascender = 1000;
|
|
31
|
+
_descender = -200;
|
|
32
|
+
_refCount = 1;
|
|
33
|
+
_glyphs = new Map();
|
|
34
|
+
_encoding = new Map(); // unicode -> glyph
|
|
35
|
+
constructor(name, flags) {
|
|
36
|
+
this._name = name;
|
|
37
|
+
if (flags !== undefined) {
|
|
38
|
+
this._flags = flags;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @internal Check if FFI bindings are available
|
|
43
|
+
*/
|
|
44
|
+
get hasNativeHandle() {
|
|
45
|
+
return this._ctx !== undefined && this._font !== undefined;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create a new font
|
|
49
|
+
*/
|
|
50
|
+
static create(name, flags) {
|
|
51
|
+
return new Font(name, flags);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Create font from memory buffer using FFI
|
|
55
|
+
* @throws Error when native bindings are not available
|
|
56
|
+
*/
|
|
57
|
+
static createFromMemory(name, data) {
|
|
58
|
+
const ctx = getDefaultContext()?._nativeCtx;
|
|
59
|
+
if (!ctx) {
|
|
60
|
+
throw new Error('Font creation from memory requires native FFI bindings (fz_new_font_from_memory)');
|
|
61
|
+
}
|
|
62
|
+
const font = new Font(name);
|
|
63
|
+
font._ctx = ctx;
|
|
64
|
+
font._font = native.loadFontFromMemory(ctx, Buffer.from(data), 0);
|
|
65
|
+
return font;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create font from file using FFI
|
|
69
|
+
* @throws Error when native bindings are not available
|
|
70
|
+
*/
|
|
71
|
+
static createFromFile(path) {
|
|
72
|
+
const ctx = getDefaultContext()?._nativeCtx;
|
|
73
|
+
if (!ctx) {
|
|
74
|
+
throw new Error('Font loading from file requires native FFI bindings (fz_new_font_from_file)');
|
|
75
|
+
}
|
|
76
|
+
const name = path
|
|
77
|
+
.split('/')
|
|
78
|
+
.pop()
|
|
79
|
+
?.replace(/\.[^.]+$/, '') || 'Unknown';
|
|
80
|
+
const font = new Font(name);
|
|
81
|
+
font._ctx = ctx;
|
|
82
|
+
font._font = native.loadFontFromFile(ctx, path, 0);
|
|
83
|
+
return font;
|
|
84
|
+
}
|
|
85
|
+
// ============================================================================
|
|
86
|
+
// Reference Counting
|
|
87
|
+
// ============================================================================
|
|
88
|
+
keep() {
|
|
89
|
+
this._refCount++;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
drop() {
|
|
93
|
+
if (this._refCount > 0) {
|
|
94
|
+
this._refCount--;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Clone this font
|
|
99
|
+
*/
|
|
100
|
+
clone() {
|
|
101
|
+
const cloned = new Font(this._name, this._flags);
|
|
102
|
+
cloned._bbox = this._bbox;
|
|
103
|
+
cloned._ascender = this._ascender;
|
|
104
|
+
cloned._descender = this._descender;
|
|
105
|
+
cloned._glyphs = new Map(this._glyphs);
|
|
106
|
+
cloned._encoding = new Map(this._encoding);
|
|
107
|
+
return cloned;
|
|
108
|
+
}
|
|
109
|
+
// ============================================================================
|
|
110
|
+
// Properties
|
|
111
|
+
// ============================================================================
|
|
112
|
+
get name() {
|
|
113
|
+
return this._name;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Check if font is bold
|
|
117
|
+
*/
|
|
118
|
+
isBold() {
|
|
119
|
+
return (this._flags & FontFlags.Bold) !== 0;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Check if font is italic
|
|
123
|
+
*/
|
|
124
|
+
isItalic() {
|
|
125
|
+
return (this._flags & FontFlags.Italic) !== 0;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Check if font is serif
|
|
129
|
+
*/
|
|
130
|
+
isSerif() {
|
|
131
|
+
return (this._flags & FontFlags.Serif) !== 0;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Check if font is monospaced
|
|
135
|
+
*/
|
|
136
|
+
isMonospaced() {
|
|
137
|
+
return (this._flags & FontFlags.Monospaced) !== 0;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Check if font is embedded
|
|
141
|
+
*/
|
|
142
|
+
isEmbedded() {
|
|
143
|
+
return (this._flags & FontFlags.Embedded) !== 0;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get font flags
|
|
147
|
+
*/
|
|
148
|
+
get flags() {
|
|
149
|
+
return this._flags;
|
|
150
|
+
}
|
|
151
|
+
// ============================================================================
|
|
152
|
+
// Metrics
|
|
153
|
+
// ============================================================================
|
|
154
|
+
/**
|
|
155
|
+
* Get font bounding box
|
|
156
|
+
*/
|
|
157
|
+
getBBox() {
|
|
158
|
+
return this._bbox;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Set font bounding box
|
|
162
|
+
*/
|
|
163
|
+
setBBox(bbox) {
|
|
164
|
+
this._bbox = Rect.from(bbox);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get font ascender (distance above baseline)
|
|
168
|
+
*/
|
|
169
|
+
getAscender() {
|
|
170
|
+
return this._ascender;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Set font ascender
|
|
174
|
+
*/
|
|
175
|
+
setAscender(ascender) {
|
|
176
|
+
this._ascender = ascender;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Get font descender (distance below baseline)
|
|
180
|
+
*/
|
|
181
|
+
getDescender() {
|
|
182
|
+
return this._descender;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Set font descender
|
|
186
|
+
*/
|
|
187
|
+
setDescender(descender) {
|
|
188
|
+
this._descender = descender;
|
|
189
|
+
}
|
|
190
|
+
// ============================================================================
|
|
191
|
+
// Character Encoding
|
|
192
|
+
// ============================================================================
|
|
193
|
+
/**
|
|
194
|
+
* Encode a Unicode character to a glyph ID
|
|
195
|
+
*/
|
|
196
|
+
encodeCharacter(unicode) {
|
|
197
|
+
return this._encoding.get(unicode) || 0;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Encode character with fallback
|
|
201
|
+
*/
|
|
202
|
+
encodeCharacterWithFallback(unicode, fallback = 0) {
|
|
203
|
+
return this._encoding.get(unicode) || fallback;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Set character encoding
|
|
207
|
+
*/
|
|
208
|
+
setEncoding(unicode, glyph) {
|
|
209
|
+
this._encoding.set(unicode, glyph);
|
|
210
|
+
}
|
|
211
|
+
// ============================================================================
|
|
212
|
+
// Glyph Operations
|
|
213
|
+
// ============================================================================
|
|
214
|
+
/**
|
|
215
|
+
* Get glyph advance width
|
|
216
|
+
*/
|
|
217
|
+
advanceGlyph(glyph, wmode = 0) {
|
|
218
|
+
const info = this._glyphs.get(glyph);
|
|
219
|
+
if (info) {
|
|
220
|
+
return wmode === 0 ? info.advanceX : info.advanceY;
|
|
221
|
+
}
|
|
222
|
+
// Default advance for unknown glyphs
|
|
223
|
+
return 500;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Get glyph bounding box
|
|
227
|
+
*/
|
|
228
|
+
boundGlyph(glyph) {
|
|
229
|
+
const info = this._glyphs.get(glyph);
|
|
230
|
+
return info?.bbox || Rect.EMPTY;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Get glyph outline as a path
|
|
234
|
+
*/
|
|
235
|
+
outlineGlyph(glyph) {
|
|
236
|
+
const info = this._glyphs.get(glyph);
|
|
237
|
+
return info?.outline || null;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Get glyph name
|
|
241
|
+
*/
|
|
242
|
+
glyphName(glyph) {
|
|
243
|
+
const info = this._glyphs.get(glyph);
|
|
244
|
+
return info?.name || `.notdef`;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Add glyph info
|
|
248
|
+
*/
|
|
249
|
+
addGlyph(glyph, info) {
|
|
250
|
+
this._glyphs.set(glyph, info);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get glyph info
|
|
254
|
+
*/
|
|
255
|
+
getGlyphInfo(glyph) {
|
|
256
|
+
return this._glyphs.get(glyph);
|
|
257
|
+
}
|
|
258
|
+
// ============================================================================
|
|
259
|
+
// Validation
|
|
260
|
+
// ============================================================================
|
|
261
|
+
/**
|
|
262
|
+
* Check if font is valid
|
|
263
|
+
*/
|
|
264
|
+
isValid() {
|
|
265
|
+
return this._name.length > 0;
|
|
266
|
+
}
|
|
267
|
+
// ============================================================================
|
|
268
|
+
// Text Measurement
|
|
269
|
+
// ============================================================================
|
|
270
|
+
/**
|
|
271
|
+
* Measure text width
|
|
272
|
+
*/
|
|
273
|
+
measureText(text, size = 12) {
|
|
274
|
+
let width = 0;
|
|
275
|
+
for (let i = 0; i < text.length; i++) {
|
|
276
|
+
const unicode = text.charCodeAt(i);
|
|
277
|
+
const glyph = this.encodeCharacter(unicode);
|
|
278
|
+
const advance = this.advanceGlyph(glyph);
|
|
279
|
+
width += advance;
|
|
280
|
+
}
|
|
281
|
+
return (width * size) / 1000; // Scale from font units to points
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Get text bounding box
|
|
285
|
+
*/
|
|
286
|
+
measureTextBounds(text, size = 12) {
|
|
287
|
+
let width = 0;
|
|
288
|
+
let minY = 0;
|
|
289
|
+
let maxY = 0;
|
|
290
|
+
for (let i = 0; i < text.length; i++) {
|
|
291
|
+
const unicode = text.charCodeAt(i);
|
|
292
|
+
const glyph = this.encodeCharacter(unicode);
|
|
293
|
+
const advance = this.advanceGlyph(glyph);
|
|
294
|
+
const bbox = this.boundGlyph(glyph);
|
|
295
|
+
minY = Math.min(minY, bbox.y0);
|
|
296
|
+
maxY = Math.max(maxY, bbox.y1);
|
|
297
|
+
width += advance;
|
|
298
|
+
}
|
|
299
|
+
const scale = size / 1000;
|
|
300
|
+
return new Rect(0, minY * scale, width * scale, maxY * scale);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Font manager for loading and caching fonts
|
|
305
|
+
*/
|
|
306
|
+
export class FontManager {
|
|
307
|
+
_fonts = new Map();
|
|
308
|
+
_defaultFont = null;
|
|
309
|
+
constructor() {
|
|
310
|
+
// Create default font
|
|
311
|
+
this._defaultFont = Font.create('Helvetica');
|
|
312
|
+
this._fonts.set('Helvetica', this._defaultFont);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Get the singleton instance
|
|
316
|
+
*/
|
|
317
|
+
static _instance = null;
|
|
318
|
+
static getInstance() {
|
|
319
|
+
if (!FontManager._instance) {
|
|
320
|
+
FontManager._instance = new FontManager();
|
|
321
|
+
}
|
|
322
|
+
return FontManager._instance;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Load a font by name
|
|
326
|
+
*/
|
|
327
|
+
loadFont(name) {
|
|
328
|
+
return this._fonts.get(name) || null;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Register a font
|
|
332
|
+
*/
|
|
333
|
+
registerFont(name, font) {
|
|
334
|
+
this._fonts.set(name, font);
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Get default font
|
|
338
|
+
*/
|
|
339
|
+
getDefaultFont() {
|
|
340
|
+
return this._defaultFont;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Set default font
|
|
344
|
+
*/
|
|
345
|
+
setDefaultFont(font) {
|
|
346
|
+
this._defaultFont = font;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Get all registered font names
|
|
350
|
+
*/
|
|
351
|
+
getFontNames() {
|
|
352
|
+
return [...this._fonts.keys()];
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Clear all fonts
|
|
356
|
+
*/
|
|
357
|
+
clear() {
|
|
358
|
+
this._fonts.clear();
|
|
359
|
+
this._defaultFont = null;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Standard PDF font names
|
|
364
|
+
*/
|
|
365
|
+
export const StandardFonts = {
|
|
366
|
+
TimesRoman: 'Times-Roman',
|
|
367
|
+
TimesBold: 'Times-Bold',
|
|
368
|
+
TimesItalic: 'Times-Italic',
|
|
369
|
+
TimesBoldItalic: 'Times-BoldItalic',
|
|
370
|
+
Helvetica: 'Helvetica',
|
|
371
|
+
HelveticaBold: 'Helvetica-Bold',
|
|
372
|
+
HelveticaOblique: 'Helvetica-Oblique',
|
|
373
|
+
HelveticaBoldOblique: 'Helvetica-BoldOblique',
|
|
374
|
+
Courier: 'Courier',
|
|
375
|
+
CourierBold: 'Courier-Bold',
|
|
376
|
+
CourierOblique: 'Courier-Oblique',
|
|
377
|
+
CourierBoldOblique: 'Courier-BoldOblique',
|
|
378
|
+
Symbol: 'Symbol',
|
|
379
|
+
ZapfDingbats: 'ZapfDingbats'
|
|
380
|
+
};
|
|
381
|
+
//# sourceMappingURL=font.js.map
|
package/dist/font.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font.js","sourceRoot":"","sources":["../src/font.ts"],"names":[],"mappings":"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"}
|
package/dist/form.d.ts
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form - PDF form/AcroForm handling
|
|
3
|
+
*
|
|
4
|
+
* This module provides 100% API compatibility with MuPDF's form operations.
|
|
5
|
+
* Supports text fields, checkboxes, radio buttons, combo boxes, and signatures.
|
|
6
|
+
*/
|
|
7
|
+
import { Rect, type RectLike } from './geometry.js';
|
|
8
|
+
/**
|
|
9
|
+
* PDF form field types
|
|
10
|
+
*/
|
|
11
|
+
export declare enum FieldType {
|
|
12
|
+
Unknown = 0,
|
|
13
|
+
PushButton = 1,
|
|
14
|
+
CheckBox = 2,
|
|
15
|
+
RadioButton = 3,
|
|
16
|
+
Text = 4,
|
|
17
|
+
Choice = 5,
|
|
18
|
+
Signature = 6
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Field alignment values
|
|
22
|
+
*/
|
|
23
|
+
export declare enum FieldAlignment {
|
|
24
|
+
Left = 0,
|
|
25
|
+
Center = 1,
|
|
26
|
+
Right = 2
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Field flags (bit flags)
|
|
30
|
+
*/
|
|
31
|
+
export declare enum FieldFlags {
|
|
32
|
+
ReadOnly = 1,
|
|
33
|
+
Required = 2,
|
|
34
|
+
NoExport = 4,
|
|
35
|
+
Multiline = 4096,
|
|
36
|
+
Password = 8192,
|
|
37
|
+
NoToggleToOff = 16384,
|
|
38
|
+
Radio = 32768,
|
|
39
|
+
Pushbutton = 65536,
|
|
40
|
+
Combo = 131072,
|
|
41
|
+
Edit = 262144,
|
|
42
|
+
Sort = 524288,
|
|
43
|
+
FileSelect = 1048576,
|
|
44
|
+
MultiSelect = 2097152,
|
|
45
|
+
DoNotSpellCheck = 4194304,
|
|
46
|
+
DoNotScroll = 8388608,
|
|
47
|
+
Comb = 16777216,
|
|
48
|
+
RadiosInUnison = 33554432,
|
|
49
|
+
CommitOnSelChange = 67108864
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Choice option for combo box or list box
|
|
53
|
+
*/
|
|
54
|
+
export interface ChoiceOption {
|
|
55
|
+
label: string;
|
|
56
|
+
value: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A form field (widget annotation)
|
|
60
|
+
*/
|
|
61
|
+
export declare class FormField {
|
|
62
|
+
private _name;
|
|
63
|
+
private _type;
|
|
64
|
+
private _value;
|
|
65
|
+
private _defaultValue;
|
|
66
|
+
private _rect;
|
|
67
|
+
private _flags;
|
|
68
|
+
private _maxLen;
|
|
69
|
+
private _choices;
|
|
70
|
+
private _selectedIndex;
|
|
71
|
+
private _borderWidth;
|
|
72
|
+
private _borderColor;
|
|
73
|
+
private _bgColor;
|
|
74
|
+
private _fontSize;
|
|
75
|
+
private _alignment;
|
|
76
|
+
private _refCount;
|
|
77
|
+
private _valid;
|
|
78
|
+
constructor(name: string, type: FieldType, rect: RectLike);
|
|
79
|
+
keep(): this;
|
|
80
|
+
drop(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Clone this field
|
|
83
|
+
*/
|
|
84
|
+
clone(): FormField;
|
|
85
|
+
get name(): string;
|
|
86
|
+
get type(): FieldType;
|
|
87
|
+
get rect(): Rect;
|
|
88
|
+
set rect(r: RectLike);
|
|
89
|
+
get value(): string;
|
|
90
|
+
set value(val: string);
|
|
91
|
+
get defaultValue(): string;
|
|
92
|
+
set defaultValue(val: string);
|
|
93
|
+
get flags(): number;
|
|
94
|
+
set flags(f: number);
|
|
95
|
+
hasFlag(flag: FieldFlags): boolean;
|
|
96
|
+
setFlag(flag: FieldFlags, value: boolean): void;
|
|
97
|
+
get isReadOnly(): boolean;
|
|
98
|
+
set isReadOnly(value: boolean);
|
|
99
|
+
get isRequired(): boolean;
|
|
100
|
+
set isRequired(value: boolean);
|
|
101
|
+
get isMultiline(): boolean;
|
|
102
|
+
set isMultiline(value: boolean);
|
|
103
|
+
get isPassword(): boolean;
|
|
104
|
+
set isPassword(value: boolean);
|
|
105
|
+
get maxLength(): number;
|
|
106
|
+
set maxLength(len: number);
|
|
107
|
+
get textFormat(): string;
|
|
108
|
+
get isChecked(): boolean;
|
|
109
|
+
set isChecked(checked: boolean);
|
|
110
|
+
get isCombo(): boolean;
|
|
111
|
+
get isEdit(): boolean;
|
|
112
|
+
get isMultiSelect(): boolean;
|
|
113
|
+
get choiceCount(): number;
|
|
114
|
+
getChoiceLabel(index: number): string;
|
|
115
|
+
getChoiceValue(index: number): string;
|
|
116
|
+
addChoice(label: string, value?: string): void;
|
|
117
|
+
removeChoice(index: number): void;
|
|
118
|
+
get selectedIndex(): number;
|
|
119
|
+
set selectedIndex(index: number);
|
|
120
|
+
clearSelection(): void;
|
|
121
|
+
get isSigned(): boolean;
|
|
122
|
+
get borderWidth(): number;
|
|
123
|
+
set borderWidth(width: number);
|
|
124
|
+
get borderColor(): number[];
|
|
125
|
+
set borderColor(color: number[]);
|
|
126
|
+
get backgroundColor(): number[];
|
|
127
|
+
set backgroundColor(color: number[]);
|
|
128
|
+
get fontSize(): number;
|
|
129
|
+
set fontSize(size: number);
|
|
130
|
+
get alignment(): FieldAlignment;
|
|
131
|
+
set alignment(align: FieldAlignment);
|
|
132
|
+
isValid(): boolean;
|
|
133
|
+
validate(): boolean;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* PDF interactive form (AcroForm)
|
|
137
|
+
*/
|
|
138
|
+
export declare class Form {
|
|
139
|
+
private _fields;
|
|
140
|
+
private _fieldMap;
|
|
141
|
+
private _refCount;
|
|
142
|
+
constructor();
|
|
143
|
+
/**
|
|
144
|
+
* Create a form from a PDF document
|
|
145
|
+
*/
|
|
146
|
+
static create(): Form;
|
|
147
|
+
keep(): this;
|
|
148
|
+
drop(): void;
|
|
149
|
+
/**
|
|
150
|
+
* Create a text field
|
|
151
|
+
*/
|
|
152
|
+
createTextField(name: string, rect: RectLike): FormField;
|
|
153
|
+
/**
|
|
154
|
+
* Create a checkbox
|
|
155
|
+
*/
|
|
156
|
+
createCheckBox(name: string, rect: RectLike): FormField;
|
|
157
|
+
/**
|
|
158
|
+
* Create a push button
|
|
159
|
+
*/
|
|
160
|
+
createPushButton(name: string, rect: RectLike): FormField;
|
|
161
|
+
/**
|
|
162
|
+
* Create a combo box
|
|
163
|
+
*/
|
|
164
|
+
createComboBox(name: string, rect: RectLike): FormField;
|
|
165
|
+
/**
|
|
166
|
+
* Create a signature field
|
|
167
|
+
*/
|
|
168
|
+
createSignatureField(name: string, rect: RectLike): FormField;
|
|
169
|
+
/**
|
|
170
|
+
* Add a field to the form
|
|
171
|
+
*/
|
|
172
|
+
private addField;
|
|
173
|
+
/**
|
|
174
|
+
* Get field count
|
|
175
|
+
*/
|
|
176
|
+
get fieldCount(): number;
|
|
177
|
+
/**
|
|
178
|
+
* Look up a field by name
|
|
179
|
+
*/
|
|
180
|
+
lookupField(name: string): FormField | undefined;
|
|
181
|
+
/**
|
|
182
|
+
* Get field by index
|
|
183
|
+
*/
|
|
184
|
+
getField(index: number): FormField | undefined;
|
|
185
|
+
/**
|
|
186
|
+
* Get first widget (field)
|
|
187
|
+
*/
|
|
188
|
+
firstWidget(): FormField | undefined;
|
|
189
|
+
/**
|
|
190
|
+
* Get next widget after a given field
|
|
191
|
+
*/
|
|
192
|
+
nextWidget(current: FormField): FormField | undefined;
|
|
193
|
+
/**
|
|
194
|
+
* Delete a field
|
|
195
|
+
*/
|
|
196
|
+
deleteField(nameOrField: string | FormField): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* Reset all fields to their default values
|
|
199
|
+
*/
|
|
200
|
+
reset(): void;
|
|
201
|
+
/**
|
|
202
|
+
* Validate all fields
|
|
203
|
+
*/
|
|
204
|
+
validate(): boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Get all fields
|
|
207
|
+
*/
|
|
208
|
+
getAllFields(): FormField[];
|
|
209
|
+
/**
|
|
210
|
+
* Iterate over all fields
|
|
211
|
+
*/
|
|
212
|
+
[Symbol.iterator](): Generator<FormField>;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../src/form.ts"],"names":[],"mappings":"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"}
|