@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/text.d.ts
ADDED
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text - PDF text object handling and layout
|
|
3
|
+
*
|
|
4
|
+
* This module provides comprehensive support for working with text in PDF documents,
|
|
5
|
+
* including text layout, glyph positioning, font management, and structured text extraction.
|
|
6
|
+
*
|
|
7
|
+
* This module provides 100% API compatibility with MuPDF's text operations.
|
|
8
|
+
*
|
|
9
|
+
* @module text
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { Text, Language, Matrix } from 'micropdf';
|
|
13
|
+
*
|
|
14
|
+
* // Create a text object
|
|
15
|
+
* const text = Text.create();
|
|
16
|
+
*
|
|
17
|
+
* // Set language for text processing
|
|
18
|
+
* text.setLanguage(Language.en);
|
|
19
|
+
*
|
|
20
|
+
* // Add glyphs (from font)
|
|
21
|
+
* text.showGlyph('Arial', 12, Matrix.identity(), 65, 0x0041, 0); // 'A'
|
|
22
|
+
*
|
|
23
|
+
* // Get bounding box
|
|
24
|
+
* const bounds = text.getBounds();
|
|
25
|
+
* console.log(`Text spans ${bounds.width} x ${bounds.height}`);
|
|
26
|
+
*
|
|
27
|
+
* // Walk through text structure
|
|
28
|
+
* text.walk({
|
|
29
|
+
* beginSpan(font, size, wmode, trm) {
|
|
30
|
+
* console.log(`Span: ${font} @ ${size}pt`);
|
|
31
|
+
* },
|
|
32
|
+
* showGlyph(x, y, glyph, unicode) {
|
|
33
|
+
* console.log(`Glyph ${glyph} at (${x}, ${y})`);
|
|
34
|
+
* }
|
|
35
|
+
* });
|
|
36
|
+
*
|
|
37
|
+
* // Clean up
|
|
38
|
+
* text.drop();
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
import { Rect, Matrix, type MatrixLike } from './geometry.js';
|
|
42
|
+
/**
|
|
43
|
+
* Language codes for text handling.
|
|
44
|
+
*
|
|
45
|
+
* These language codes are used to assist with text extraction, hyphenation,
|
|
46
|
+
* and language-specific text processing in PDF documents.
|
|
47
|
+
*
|
|
48
|
+
* @enum {number}
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const text = Text.create();
|
|
52
|
+
*
|
|
53
|
+
* // Set English
|
|
54
|
+
* text.setLanguage(Language.en);
|
|
55
|
+
*
|
|
56
|
+
* // Set Spanish
|
|
57
|
+
* text.setLanguage(Language.es);
|
|
58
|
+
*
|
|
59
|
+
* // Set Chinese
|
|
60
|
+
* text.setLanguage(Language.zh);
|
|
61
|
+
*
|
|
62
|
+
* // Check current language
|
|
63
|
+
* if (text.getLanguage() === Language.ja) {
|
|
64
|
+
* console.log('Japanese text');
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare enum Language {
|
|
69
|
+
/** No language set or unknown language */
|
|
70
|
+
UNSET = 0,
|
|
71
|
+
/** English (en) */
|
|
72
|
+
en = 1,
|
|
73
|
+
/** Spanish (es) */
|
|
74
|
+
es = 2,
|
|
75
|
+
/** Chinese (zh) */
|
|
76
|
+
zh = 3,
|
|
77
|
+
/** French (fr) */
|
|
78
|
+
fr = 4,
|
|
79
|
+
/** German (de) */
|
|
80
|
+
de = 5,
|
|
81
|
+
/** Japanese (ja) */
|
|
82
|
+
ja = 6,
|
|
83
|
+
/** Korean (ko) */
|
|
84
|
+
ko = 7,
|
|
85
|
+
/** Russian (ru) */
|
|
86
|
+
ru = 8,
|
|
87
|
+
/** Arabic (ar) */
|
|
88
|
+
ar = 9,
|
|
89
|
+
/** Portuguese (pt) */
|
|
90
|
+
pt = 10,
|
|
91
|
+
/** Italian (it) */
|
|
92
|
+
it = 11,
|
|
93
|
+
/** Dutch (nl) */
|
|
94
|
+
nl = 12,
|
|
95
|
+
/** Swedish (sv) */
|
|
96
|
+
sv = 13,
|
|
97
|
+
/** Polish (pl) */
|
|
98
|
+
pl = 14,
|
|
99
|
+
/** Turkish (tr) */
|
|
100
|
+
tr = 15
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A text span representing a run of text with consistent formatting.
|
|
104
|
+
*
|
|
105
|
+
* Text spans group glyphs that share the same font, size, and rendering properties.
|
|
106
|
+
* They are the basic unit of text layout in PDF documents.
|
|
107
|
+
*
|
|
108
|
+
* @interface TextSpan
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* const span: TextSpan = {
|
|
112
|
+
* font: 'Arial',
|
|
113
|
+
* size: 12,
|
|
114
|
+
* wmode: 0, // Horizontal
|
|
115
|
+
* trm: Matrix.identity(),
|
|
116
|
+
* items: [
|
|
117
|
+
* { x: 10, y: 20, glyph: 65, unicode: 0x0041 }, // 'A'
|
|
118
|
+
* { x: 20, y: 20, glyph: 66, unicode: 0x0042 } // 'B'
|
|
119
|
+
* ]
|
|
120
|
+
* };
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export interface TextSpan {
|
|
124
|
+
/** The font name (e.g., "Arial", "Times-Roman") */
|
|
125
|
+
font: string;
|
|
126
|
+
/** The font size in points */
|
|
127
|
+
size: number;
|
|
128
|
+
/** Writing mode: 0 = horizontal, 1 = vertical */
|
|
129
|
+
wmode: number;
|
|
130
|
+
/** Text rendering matrix for transformations */
|
|
131
|
+
trm: Matrix;
|
|
132
|
+
/** Individual glyphs/characters in this span */
|
|
133
|
+
items: TextItem[];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* A text item representing a single glyph or character.
|
|
137
|
+
*
|
|
138
|
+
* Text items contain the glyph identifier, Unicode codepoint, and position
|
|
139
|
+
* information for individual characters.
|
|
140
|
+
*
|
|
141
|
+
* @interface TextItem
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* const item: TextItem = {
|
|
145
|
+
* x: 100.5,
|
|
146
|
+
* y: 200.3,
|
|
147
|
+
* glyph: 65, // Glyph ID in the font
|
|
148
|
+
* unicode: 0x0041 // Unicode codepoint for 'A'
|
|
149
|
+
* };
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
export interface TextItem {
|
|
153
|
+
/** X-coordinate of the glyph position */
|
|
154
|
+
x: number;
|
|
155
|
+
/** Y-coordinate of the glyph position */
|
|
156
|
+
y: number;
|
|
157
|
+
/** Glyph identifier in the font */
|
|
158
|
+
glyph: number;
|
|
159
|
+
/** Unicode codepoint of the character */
|
|
160
|
+
unicode: number;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Text walker interface for iterating through text structure.
|
|
164
|
+
*
|
|
165
|
+
* Text walkers provide a callback-based API for traversing the hierarchical
|
|
166
|
+
* structure of text objects. This is useful for custom text processing,
|
|
167
|
+
* analysis, and rendering.
|
|
168
|
+
*
|
|
169
|
+
* @interface TextWalker
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const walker: TextWalker = {
|
|
173
|
+
* beginSpan(font, size, wmode, trm) {
|
|
174
|
+
* console.log(`Begin span: ${font} @ ${size}pt`);
|
|
175
|
+
* },
|
|
176
|
+
* endSpan() {
|
|
177
|
+
* console.log('End span');
|
|
178
|
+
* },
|
|
179
|
+
* showGlyph(x, y, glyph, unicode) {
|
|
180
|
+
* const char = String.fromCodePoint(unicode);
|
|
181
|
+
* console.log(`Glyph '${char}' at (${x}, ${y})`);
|
|
182
|
+
* }
|
|
183
|
+
* };
|
|
184
|
+
*
|
|
185
|
+
* text.walk(walker);
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export interface TextWalker {
|
|
189
|
+
/**
|
|
190
|
+
* Called when entering a new text span.
|
|
191
|
+
* @param font - The font name
|
|
192
|
+
* @param size - The font size in points
|
|
193
|
+
* @param wmode - Writing mode (0=horizontal, 1=vertical)
|
|
194
|
+
* @param trm - Text rendering matrix
|
|
195
|
+
*/
|
|
196
|
+
beginSpan?(font: string, size: number, wmode: number, trm: Matrix): void;
|
|
197
|
+
/**
|
|
198
|
+
* Called when leaving a text span.
|
|
199
|
+
*/
|
|
200
|
+
endSpan?(): void;
|
|
201
|
+
/**
|
|
202
|
+
* Called for each glyph in the text.
|
|
203
|
+
* @param x - X-coordinate
|
|
204
|
+
* @param y - Y-coordinate
|
|
205
|
+
* @param glyph - Glyph ID
|
|
206
|
+
* @param unicode - Unicode codepoint
|
|
207
|
+
*/
|
|
208
|
+
showGlyph(x: number, y: number, glyph: number, unicode: number): void;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* A PDF text object for structured text layout and rendering.
|
|
212
|
+
*
|
|
213
|
+
* Text objects provide low-level control over text positioning, font selection,
|
|
214
|
+
* and glyph rendering. They maintain a structured representation of text with
|
|
215
|
+
* spans and items for precise layout control.
|
|
216
|
+
*
|
|
217
|
+
* **Reference Counting**: Text objects use manual reference counting. Call `keep()`
|
|
218
|
+
* to increment the reference count and `drop()` to decrement it.
|
|
219
|
+
*
|
|
220
|
+
* @class Text
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* // Create and configure text object
|
|
224
|
+
* const text = Text.create();
|
|
225
|
+
* text.setLanguage(Language.en);
|
|
226
|
+
*
|
|
227
|
+
* // Add text with font and positioning
|
|
228
|
+
* const font = 'Arial';
|
|
229
|
+
* const size = 12;
|
|
230
|
+
* const matrix = Matrix.translate(100, 200);
|
|
231
|
+
*
|
|
232
|
+
* // Show individual glyphs
|
|
233
|
+
* 'Hello'.split('').forEach((char, i) => {
|
|
234
|
+
* const glyph = char.charCodeAt(0);
|
|
235
|
+
* const unicode = char.codePointAt(0)!;
|
|
236
|
+
* text.showGlyph(font, size, matrix, glyph, unicode);
|
|
237
|
+
* });
|
|
238
|
+
*
|
|
239
|
+
* // Get bounding box
|
|
240
|
+
* const bounds = text.getBounds();
|
|
241
|
+
* console.log(`Text size: ${bounds.width} x ${bounds.height}`);
|
|
242
|
+
*
|
|
243
|
+
* // Walk through structure
|
|
244
|
+
* text.walk({
|
|
245
|
+
* showGlyph(x, y, glyph, unicode) {
|
|
246
|
+
* console.log(`Character: ${String.fromCodePoint(unicode)}`);
|
|
247
|
+
* }
|
|
248
|
+
* });
|
|
249
|
+
*
|
|
250
|
+
* // Clean up
|
|
251
|
+
* text.drop();
|
|
252
|
+
* ```
|
|
253
|
+
*/
|
|
254
|
+
export declare class Text {
|
|
255
|
+
private _spans;
|
|
256
|
+
private _language;
|
|
257
|
+
private _refCount;
|
|
258
|
+
private _currentSpan;
|
|
259
|
+
constructor(_handle?: any);
|
|
260
|
+
/**
|
|
261
|
+
* Create a new text object
|
|
262
|
+
*/
|
|
263
|
+
static create(): Text;
|
|
264
|
+
keep(): this;
|
|
265
|
+
drop(): void;
|
|
266
|
+
/**
|
|
267
|
+
* Clone this text object
|
|
268
|
+
*/
|
|
269
|
+
clone(): Text;
|
|
270
|
+
get language(): number;
|
|
271
|
+
set language(lang: number);
|
|
272
|
+
/**
|
|
273
|
+
* Get the language code
|
|
274
|
+
*/
|
|
275
|
+
getLanguage(): number;
|
|
276
|
+
/**
|
|
277
|
+
* Set the language code
|
|
278
|
+
*/
|
|
279
|
+
setLanguage(lang: number): void;
|
|
280
|
+
/**
|
|
281
|
+
* Begin a new text span
|
|
282
|
+
*/
|
|
283
|
+
private beginSpan;
|
|
284
|
+
/**
|
|
285
|
+
* End the current text span
|
|
286
|
+
*/
|
|
287
|
+
private endSpan;
|
|
288
|
+
/**
|
|
289
|
+
* Show a single glyph
|
|
290
|
+
*/
|
|
291
|
+
showGlyph(font: string, size: number, trm: MatrixLike, glyph: number, unicode: number, wmode?: number): void;
|
|
292
|
+
/**
|
|
293
|
+
* Show a string of text
|
|
294
|
+
*/
|
|
295
|
+
showString(font: string, size: number, trm: MatrixLike, text: string, wmode?: number): void;
|
|
296
|
+
/**
|
|
297
|
+
* Calculate the bounding box of all text
|
|
298
|
+
*/
|
|
299
|
+
getBounds(ctm?: MatrixLike): Rect;
|
|
300
|
+
/**
|
|
301
|
+
* Count number of text spans
|
|
302
|
+
*/
|
|
303
|
+
countSpans(): number;
|
|
304
|
+
/**
|
|
305
|
+
* Count total number of items (glyphs/characters)
|
|
306
|
+
*/
|
|
307
|
+
countItems(): number;
|
|
308
|
+
/**
|
|
309
|
+
* Clear all text
|
|
310
|
+
*/
|
|
311
|
+
clear(): void;
|
|
312
|
+
/**
|
|
313
|
+
* Check if text object is valid
|
|
314
|
+
*/
|
|
315
|
+
isValid(): boolean;
|
|
316
|
+
/**
|
|
317
|
+
* Check if text is empty
|
|
318
|
+
*/
|
|
319
|
+
isEmpty(): boolean;
|
|
320
|
+
/**
|
|
321
|
+
* Walk through all text spans and items
|
|
322
|
+
*/
|
|
323
|
+
walk(walker: TextWalker): void;
|
|
324
|
+
/**
|
|
325
|
+
* Extract text content as plain string
|
|
326
|
+
*/
|
|
327
|
+
extractText(): string;
|
|
328
|
+
/**
|
|
329
|
+
* Get all spans
|
|
330
|
+
*/
|
|
331
|
+
getSpans(): TextSpan[];
|
|
332
|
+
/**
|
|
333
|
+
* Get span by index
|
|
334
|
+
*/
|
|
335
|
+
getSpan(index: number): TextSpan | undefined;
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
|