quickwin 2026.5.2-3.145209

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.
Files changed (83) hide show
  1. package/README.md +6 -0
  2. package/examples/pdf_preview.js +440 -0
  3. package/examples/pdf_preview.ts +470 -0
  4. package/examples/preact_demo.js +35 -0
  5. package/examples/preact_demo.tsx +49 -0
  6. package/examples/tray_demo.js +75 -0
  7. package/examples/tray_demo.tsx +79 -0
  8. package/lib/fetch.js +746 -0
  9. package/lib/fetch.ts +811 -0
  10. package/lib/polyfill.js +500 -0
  11. package/lib/polyfill.ts +454 -0
  12. package/lib/preact/hooks.js +287 -0
  13. package/lib/preact/hooks.ts +330 -0
  14. package/lib/preact/jsx-runtime.js +1 -0
  15. package/lib/preact/jsx-runtime.ts +2 -0
  16. package/lib/preact/jsx.d.ts +36 -0
  17. package/lib/preact/layout.js +153 -0
  18. package/lib/preact/layout.ts +183 -0
  19. package/lib/preact/preact.js +54 -0
  20. package/lib/preact/preact.ts +133 -0
  21. package/lib/preact/props.js +99 -0
  22. package/lib/preact/props.ts +119 -0
  23. package/lib/preact/render.js +320 -0
  24. package/lib/preact/render.ts +353 -0
  25. package/lib/websocket.js +540 -0
  26. package/lib/websocket.ts +574 -0
  27. package/package.json +32 -0
  28. package/quickwin.d.ts +657 -0
  29. package/test/add.wasm +0 -0
  30. package/test/complex.wasm +0 -0
  31. package/test/complex_imports.wasm +0 -0
  32. package/test/global_imports.wasm +0 -0
  33. package/test/import_func.wasm +0 -0
  34. package/test/imports.wasm +0 -0
  35. package/test/run.js +86 -0
  36. package/test/run.ts +90 -0
  37. package/test/sjlj.wasm +0 -0
  38. package/test/test_basic.js +7 -0
  39. package/test/test_basic.ts +9 -0
  40. package/test/test_brotli.js +48 -0
  41. package/test/test_brotli.ts +52 -0
  42. package/test/test_fetch_cache.js +131 -0
  43. package/test/test_fetch_cache.ts +141 -0
  44. package/test/test_ffi.js +157 -0
  45. package/test/test_ffi.ts +174 -0
  46. package/test/test_frame_encoding.js +128 -0
  47. package/test/test_frame_encoding.ts +132 -0
  48. package/test/test_helper.js +84 -0
  49. package/test/test_helper.ts +80 -0
  50. package/test/test_http_import.js +78 -0
  51. package/test/test_http_import.ts +74 -0
  52. package/test/test_mupdf_render.js +69 -0
  53. package/test/test_mupdf_render.ts +74 -0
  54. package/test/test_mupdf_twice.js +77 -0
  55. package/test/test_mupdf_twice.ts +81 -0
  56. package/test/test_mupdf_wasm.js +33 -0
  57. package/test/test_mupdf_wasm.ts +30 -0
  58. package/test/test_net_event.js +63 -0
  59. package/test/test_net_event.ts +59 -0
  60. package/test/test_net_fetch.js +153 -0
  61. package/test/test_net_fetch.ts +131 -0
  62. package/test/test_net_websocket.js +158 -0
  63. package/test/test_net_websocket.ts +144 -0
  64. package/test/test_polyfill.js +58 -0
  65. package/test/test_polyfill.ts +60 -0
  66. package/test/test_url.js +173 -0
  67. package/test/test_url.ts +183 -0
  68. package/test/test_wasm_basic.js +82 -0
  69. package/test/test_wasm_basic.ts +70 -0
  70. package/test/test_wasm_import_global.js +41 -0
  71. package/test/test_wasm_import_global.ts +39 -0
  72. package/test/test_wasm_sjlj.js +153 -0
  73. package/test/test_wasm_sjlj.ts +134 -0
  74. package/test/test_wasm_types.js +96 -0
  75. package/test/test_wasm_types.ts +108 -0
  76. package/test/types.wasm +0 -0
  77. package/tsconfig.json +18 -0
  78. package/vendor/mupdf-wasm/mupdf-wasm.d.ts +571 -0
  79. package/vendor/mupdf-wasm/mupdf-wasm.js +2749 -0
  80. package/vendor/mupdf-wasm/mupdf-wasm.wasm +0 -0
  81. package/vendor/mupdf-wasm/mupdf.d.ts +939 -0
  82. package/vendor/mupdf-wasm/mupdf.js +3317 -0
  83. package/win-mingw64.exe +0 -0
@@ -0,0 +1,939 @@
1
+ import { Pointer } from "./mupdf-wasm.js";
2
+ declare global {
3
+ var $libmupdf_wasm_Module: any;
4
+ }
5
+ export declare const memento: {
6
+ listBlocks(): void;
7
+ checkAllMemory(): void;
8
+ };
9
+ export type Matrix = [number, number, number, number, number, number];
10
+ export type Rect = [number, number, number, number];
11
+ export type Quad = [number, number, number, number, number, number, number, number];
12
+ export type Point = [number, number];
13
+ export type Color = [number] | [number, number, number] | [number, number, number, number];
14
+ export type AnnotColor = [] | Color;
15
+ export type Rotate = 0 | 90 | 180 | 270;
16
+ export declare const Matrix: {
17
+ identity: Matrix;
18
+ scale(sx: number, sy: number): Matrix;
19
+ translate(tx: number, ty: number): Matrix;
20
+ rotate(d: number): Matrix;
21
+ invert(m: Matrix): Matrix;
22
+ concat(one: Matrix, two: Matrix): Matrix;
23
+ };
24
+ export declare const Rect: {
25
+ MIN_INF_RECT: number;
26
+ MAX_INF_RECT: number;
27
+ empty: number[];
28
+ invalid: number[];
29
+ infinite: number[];
30
+ isEmpty: (rect: Rect) => boolean;
31
+ isValid: (rect: Rect) => boolean;
32
+ isInfinite: (rect: Rect) => boolean;
33
+ transform: (rect: Rect, matrix: Matrix) => Rect;
34
+ };
35
+ export declare function enableICC(): void;
36
+ export declare function disableICC(): void;
37
+ export declare function setUserCSS(text: string): void;
38
+ export declare function emptyStore(): void;
39
+ export declare function shrinkStore(percent: number): boolean;
40
+ export declare function installLoadFontFunction(f: (name: string, script: string, bold: boolean, italic: boolean) => Font | null): void;
41
+ interface Log {
42
+ error?(message: string): void;
43
+ warning?(message: string): void;
44
+ }
45
+ declare global {
46
+ function $libmupdf_log_error(message: Pointer<"char">): void;
47
+ function $libmupdf_log_warning(message: Pointer<"char">): void;
48
+ }
49
+ export declare function setLog(log: Log | ((message: string) => void) | null): void;
50
+ /** The types that can be automatically converted into a Buffer object */
51
+ type AnyBuffer = Buffer | ArrayBuffer | Uint8Array | string;
52
+ declare abstract class Userdata<B> {
53
+ private static _finalizer;
54
+ static readonly _drop: (pointer: any) => void;
55
+ pointer: Pointer<B>;
56
+ constructor(pointer: Pointer<B>);
57
+ destroy(): void;
58
+ toString(): string;
59
+ valueOf(): void;
60
+ }
61
+ export declare class Buffer extends Userdata<"fz_buffer"> {
62
+ static readonly _drop: (p: Pointer<"fz_buffer">) => void;
63
+ /** New empty Buffer. */
64
+ constructor();
65
+ /** New Buffer initialized with string contents as UTF-8. */
66
+ constructor(data: string);
67
+ /** New Buffer initialized with typed array contents. */
68
+ constructor(data: ArrayBuffer | Uint8Array);
69
+ /** PRIVATE */
70
+ constructor(pointer: Pointer<"fz_buffer">);
71
+ get length(): number;
72
+ set length(_: number);
73
+ getLength(): number;
74
+ readByte(at: number): number;
75
+ write(s: string): void;
76
+ writeByte(b: number): void;
77
+ writeLine(s: string): void;
78
+ writeBuffer(other: AnyBuffer): void;
79
+ asUint8Array(): Uint8Array<ArrayBufferLike>;
80
+ slice(start: number, end?: number): Buffer;
81
+ asString(): string;
82
+ save(filename: string): void;
83
+ }
84
+ export type ColorSpaceType = "None" | "Gray" | "RGB" | "BGR" | "CMYK" | "Lab" | "Indexed" | "Separation";
85
+ export declare class ColorSpace extends Userdata<"fz_colorspace"> {
86
+ static readonly _drop: (p: Pointer<"fz_colorspace">) => void;
87
+ static readonly COLORSPACE_TYPES: ColorSpaceType[];
88
+ constructor(profile: AnyBuffer, name: string);
89
+ constructor(pointer: Pointer<"fz_colorspace">);
90
+ getName(): string;
91
+ getType(): ColorSpaceType;
92
+ getNumberOfComponents(): number;
93
+ isGray(): boolean;
94
+ isRGB(): boolean;
95
+ isCMYK(): boolean;
96
+ isIndexed(): boolean;
97
+ isLab(): boolean;
98
+ isDeviceN(): boolean;
99
+ isSubtractive(): boolean;
100
+ toString(): string;
101
+ static readonly DeviceGray: ColorSpace;
102
+ static readonly DeviceRGB: ColorSpace;
103
+ static readonly DeviceBGR: ColorSpace;
104
+ static readonly DeviceCMYK: ColorSpace;
105
+ static readonly Lab: ColorSpace;
106
+ }
107
+ export type FontSimpleEncoding = "Latin" | "Greek" | "Cyrillic";
108
+ export type FontCJKOrdering = 0 | 1 | 2 | 3;
109
+ export type FontCJKLanguage = "Adobe-CNS1" | "Adobe-GB1" | "Adobe-Japan1" | "Adobe-Korea1" | "zh-Hant" | "zh-TW" | "zh-HK" | "zh-Hans" | "zh-CN" | "ja" | "ko";
110
+ export declare class Font extends Userdata<"fz_font"> {
111
+ static readonly _drop: (p: Pointer<"fz_font">) => void;
112
+ static readonly SIMPLE_ENCODING: FontSimpleEncoding[];
113
+ static readonly SIMPLE_ENCODING_LATIN = "Latin";
114
+ static readonly SIMPLE_ENCODING_GREEK = "Greek";
115
+ static readonly SIMPLE_ENCODING_CYRILLIC = "Cyrillic";
116
+ static readonly ADOBE_CNS = 0;
117
+ static readonly ADOBE_GB = 1;
118
+ static readonly ADOBE_JAPAN = 2;
119
+ static readonly ADOBE_KOREA = 3;
120
+ static readonly CJK_ORDERING_BY_LANG: Record<FontCJKLanguage, FontCJKOrdering>;
121
+ constructor(name: string);
122
+ constructor(name: string, filename: string, subfont?: number);
123
+ constructor(name: string, data: AnyBuffer, subfont?: number);
124
+ constructor(pointer: Pointer<"fz_font">);
125
+ getName(): string;
126
+ encodeCharacter(uni: number | string): number;
127
+ advanceGlyph(gid: number, wmode?: number): number;
128
+ isMono(): boolean;
129
+ isSerif(): boolean;
130
+ isBold(): boolean;
131
+ isItalic(): boolean;
132
+ }
133
+ export declare class Image extends Userdata<"fz_image"> {
134
+ static readonly _drop: (p: Pointer<"fz_image">) => void;
135
+ constructor(pointer: Pointer<"fz_image">);
136
+ constructor(filename: string);
137
+ constructor(data: AnyBuffer);
138
+ constructor(pixmap: Pixmap, mask?: Image);
139
+ getWidth(): number;
140
+ getHeight(): number;
141
+ getNumberOfComponents(): number;
142
+ getBitsPerComponent(): number;
143
+ getXResolution(): number;
144
+ getYResolution(): number;
145
+ getImageMask(): boolean;
146
+ getColorSpace(): ColorSpace | null;
147
+ getMask(): Image | null;
148
+ toPixmap(): Pixmap;
149
+ }
150
+ export type LineCap = "Butt" | "Round" | "Square" | "Triangle";
151
+ export type LineJoin = "Miter" | "Round" | "Bevel" | "MiterXPS";
152
+ export type StrokeStateData = {
153
+ lineCap: LineCap;
154
+ lineJoin: LineJoin;
155
+ lineWidth: number;
156
+ miterLimit: number;
157
+ dashPhase?: number;
158
+ dashes?: number[];
159
+ };
160
+ export declare class StrokeState extends Userdata<"fz_stroke_state"> {
161
+ static readonly _drop: (p: Pointer<"fz_stroke_state">) => void;
162
+ static readonly LINE_CAP: LineCap[];
163
+ static readonly LINE_JOIN: LineJoin[];
164
+ constructor(data: Pointer<"fz_stroke_state"> | StrokeStateData);
165
+ getLineCap(): number;
166
+ getLineJoin(): number;
167
+ getLineWidth(): number;
168
+ getMiterLimit(): number;
169
+ getDashPhase(): number;
170
+ getDashes(): number[] | null;
171
+ }
172
+ interface PathWalker {
173
+ moveTo?(x: number, y: number): void;
174
+ lineTo?(x: number, y: number): void;
175
+ curveTo?(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
176
+ closePath?(): void;
177
+ }
178
+ export declare class Path extends Userdata<"fz_path"> {
179
+ static readonly _drop: (p: Pointer<"fz_path">) => void;
180
+ constructor(pointer?: Pointer<"fz_path">);
181
+ getBounds(strokeState: StrokeState, transform: Matrix): Rect;
182
+ moveTo(x: number, y: number): void;
183
+ lineTo(x: number, y: number): void;
184
+ curveTo(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): void;
185
+ curveToV(cx: number, cy: number, ex: number, ey: number): void;
186
+ curveToY(cx: number, cy: number, ex: number, ey: number): void;
187
+ closePath(): void;
188
+ rect(x1: number, y1: number, x2: number, y2: number): void;
189
+ transform(matrix: Matrix): void;
190
+ walk(walker: PathWalker): void;
191
+ }
192
+ interface TextWalker {
193
+ beginSpan?(font: Font, trm: Matrix, wmode: number, bidi: number, markupDirection: number, language: string): void;
194
+ showGlyph?(font: Font, trm: Matrix, glyph: number, unicode: number, wmode: number, bidi: number): void;
195
+ endSpan?(): void;
196
+ }
197
+ export declare class Text extends Userdata<"fz_text"> {
198
+ static readonly _drop: (p: Pointer<"fz_text">) => void;
199
+ constructor(pointer?: Pointer<"fz_text">);
200
+ getBounds(strokeState: StrokeState, transform: Matrix): Rect;
201
+ showGlyph(font: Font, trm: Matrix, gid: number, uni: number, wmode?: number): void;
202
+ showString(font: Font, trm: Matrix, str: string, wmode?: number): Matrix;
203
+ walk(walker: TextWalker): void;
204
+ }
205
+ export declare class DisplayList extends Userdata<"fz_display_list"> {
206
+ static readonly _drop: (p: Pointer<"fz_display_list">) => void;
207
+ constructor(pointer: Pointer<"fz_display_list">);
208
+ constructor(mediabox: Rect);
209
+ getBounds(): Rect;
210
+ toPixmap(matrix: Matrix, colorspace: ColorSpace, alpha?: boolean): Pixmap;
211
+ toStructuredText(options?: string): StructuredText;
212
+ run(device: Device, matrix: Matrix): void;
213
+ search(needle: string, max_hits?: number): Quad[][];
214
+ }
215
+ export declare class Pixmap extends Userdata<"fz_pixmap"> {
216
+ static readonly _drop: (p: Pointer<"fz_pixmap">) => void;
217
+ constructor(pointer: Pointer<"fz_pixmap">);
218
+ constructor(colorspace: ColorSpace, bbox: Rect, alpha: boolean);
219
+ getBounds(): number[];
220
+ clear(value?: number): void;
221
+ getWidth(): number;
222
+ getHeight(): number;
223
+ getX(): number;
224
+ getY(): number;
225
+ getStride(): number;
226
+ getNumberOfComponents(): number;
227
+ getAlpha(): number;
228
+ getXResolution(): number;
229
+ getYResolution(): number;
230
+ setResolution(x: number, y: number): void;
231
+ getColorSpace(): ColorSpace | null;
232
+ getPixels(): Uint8ClampedArray<ArrayBufferLike>;
233
+ asPNG(): Uint8Array<ArrayBufferLike>;
234
+ asPSD(): Uint8Array<ArrayBufferLike>;
235
+ asPAM(): Uint8Array<ArrayBufferLike>;
236
+ asJPEG(quality: number, invert_cmyk?: boolean): Uint8Array<ArrayBufferLike>;
237
+ invert(): void;
238
+ invertLuminance(): void;
239
+ gamma(p: number): void;
240
+ tint(black: number | Color, white: number | Color): void;
241
+ convertToColorSpace(colorspace: ColorSpace, keepAlpha?: boolean): Pixmap;
242
+ warp(points: Point[], width: number, height: number): Pixmap;
243
+ }
244
+ export declare class Shade extends Userdata<"fz_shade"> {
245
+ static readonly _drop: (p: Pointer<"fz_shade">) => void;
246
+ getBounds(): Rect;
247
+ }
248
+ interface StructuredTextWalker {
249
+ onImageBlock?(bbox: Rect, transform: Matrix, image: Image): void;
250
+ beginTextBlock?(bbox: Rect): void;
251
+ beginLine?(bbox: Rect, wmode: number, direction: Point): void;
252
+ onChar?(c: string, origin: Point, font: Font, size: number, quad: Quad, color: Color, bidi: number): void;
253
+ endLine?(): void;
254
+ endTextBlock?(): void;
255
+ onVector?(bbox: Rect, flags: any, color: Color): void;
256
+ }
257
+ type SelectMode = "chars" | "words" | "lines";
258
+ export declare class StructuredText extends Userdata<"fz_stext_page"> {
259
+ static readonly _drop: (p: Pointer<"fz_stext_page">) => void;
260
+ static readonly SELECT_MODE: SelectMode[];
261
+ static readonly SELECT_CHARS = "chars";
262
+ static readonly SELECT_WORDS = "words";
263
+ static readonly SELECT_LINES = "lines";
264
+ walk(walker: StructuredTextWalker): void;
265
+ asJSON(scale?: number): string;
266
+ asHTML(id: number): string;
267
+ asText(): string;
268
+ snap(p: Point, q: Point, mode: SelectMode): Quad;
269
+ copy(p: Point, q: Point): string;
270
+ highlight(p: Point, q: Point, max_hits?: number): Quad[];
271
+ search(needle: string, max_hits?: number): Quad[][];
272
+ }
273
+ export type BlendMode = "Normal" | "Multiply" | "Screen" | "Overlay" | "Darken" | "Lighten" | "ColorDodge" | "ColorBurn" | "HardLight" | "SoftLight" | "Difference" | "Exclusion" | "Hue" | "Saturation" | "Color" | "Luminosity";
274
+ export declare class Device extends Userdata<"fz_device"> {
275
+ static readonly _drop: (p: Pointer<"fz_device">) => void;
276
+ static readonly BLEND_MODES: BlendMode[];
277
+ static readonly BLEND_NORMAL = "Normal";
278
+ static readonly BLEND_MULTIPLY = "Multiply";
279
+ static readonly BLEND_SCREEN = "Screen";
280
+ static readonly BLEND_OVERLAY = "Overlay";
281
+ static readonly BLEND_DARKEN = "Darken";
282
+ static readonly BLEND_LIGHTEN = "Lighten";
283
+ static readonly BLEND_COLOR_DODGE = "ColorDodge";
284
+ static readonly BLEND_COLOR_BURN = "ColorBurn";
285
+ static readonly BLEND_HARD_LIGHT = "HardLight";
286
+ static readonly BLEND_SOFT_LIGHT = "SoftLight";
287
+ static readonly BLEND_DIFFERENCE = "Difference";
288
+ static readonly BLEND_EXCLUSION = "Exclusion";
289
+ static readonly BLEND_HUE = "Hue";
290
+ static readonly BLEND_SATURATION = "Saturation";
291
+ static readonly BLEND_COLOR = "Color";
292
+ static readonly BLEND_LUMINOSITY = "Luminosity";
293
+ constructor(callbacks: DeviceFunctions);
294
+ constructor(pointer: Pointer<"fz_device">);
295
+ fillPath(path: Path, evenOdd: boolean, ctm: Matrix, colorspace: ColorSpace, color: Color, alpha: number): void;
296
+ strokePath(path: Path, stroke: StrokeState, ctm: Matrix, colorspace: ColorSpace, color: Color, alpha: number): void;
297
+ clipPath(path: Path, evenOdd: boolean, ctm: Matrix): void;
298
+ clipStrokePath(path: Path, stroke: StrokeState, ctm: Matrix): void;
299
+ fillText(text: Text, ctm: Matrix, colorspace: ColorSpace, color: Color, alpha: number): void;
300
+ strokeText(text: Text, stroke: StrokeState, ctm: Matrix, colorspace: ColorSpace, color: Color, alpha: number): void;
301
+ clipText(text: Text, ctm: Matrix): void;
302
+ clipStrokeText(text: Text, stroke: StrokeState, ctm: Matrix): void;
303
+ ignoreText(text: Text, ctm: Matrix): void;
304
+ fillShade(shade: Shade, ctm: Matrix, alpha: number): void;
305
+ fillImage(image: Image, ctm: Matrix, alpha: number): void;
306
+ fillImageMask(image: Image, ctm: Matrix, colorspace: ColorSpace, color: Color, alpha: number): void;
307
+ clipImageMask(image: Image, ctm: Matrix): void;
308
+ popClip(): void;
309
+ beginMask(area: Rect, luminosity: boolean, colorspace: ColorSpace, color: Color): void;
310
+ endMask(): void;
311
+ beginGroup(area: Rect, colorspace: ColorSpace, isolated: boolean, knockout: boolean, blendmode: BlendMode, alpha: number): void;
312
+ endGroup(): void;
313
+ beginTile(area: Rect, view: Rect, xstep: number, ystep: number, ctm: Matrix, id: number, doc_id: number): number;
314
+ endTile(): void;
315
+ beginLayer(name: string): void;
316
+ endLayer(): void;
317
+ close(): void;
318
+ }
319
+ export declare class DrawDevice extends Device {
320
+ constructor(matrix: Matrix, pixmap: Pixmap);
321
+ }
322
+ export declare class DisplayListDevice extends Device {
323
+ constructor(displayList: DisplayList);
324
+ }
325
+ export declare class DocumentWriter extends Userdata<"fz_document_writer"> {
326
+ static readonly _drop: (p: Pointer<"fz_document_writer">) => void;
327
+ constructor(buffer: Buffer, format: string, options: string);
328
+ beginPage(mediabox: Rect): Device;
329
+ endPage(): void;
330
+ close(): void;
331
+ }
332
+ export type DocumentPermission = "print" | "copy" | "edit" | "annotate" | "form" | "accessibility" | "assemble" | "print-hq";
333
+ export declare class LinkDestination {
334
+ static readonly LINK_DEST: LinkDestType[];
335
+ static readonly FIT = "Fit";
336
+ static readonly FIT_B = "FitB";
337
+ static readonly FIT_H = "FitH";
338
+ static readonly FIT_BH = "FitBH";
339
+ static readonly FIT_V = "FitV";
340
+ static readonly FIT_BV = "FitBV";
341
+ static readonly FIT_R = "FitR";
342
+ static readonly XYZ = "XYZ";
343
+ type: LinkDestType;
344
+ chapter: number;
345
+ page: number;
346
+ x: number;
347
+ y: number;
348
+ width: number;
349
+ height: number;
350
+ zoom: number;
351
+ constructor(chapter?: number, page?: number, type?: LinkDestType, x?: number, y?: number, width?: number, height?: number, zoom?: number);
352
+ }
353
+ export declare class Document extends Userdata<"any_document"> {
354
+ static readonly _drop: (p: Pointer<"any_document">) => void;
355
+ static readonly META_FORMAT = "format";
356
+ static readonly META_ENCRYPTION = "encryption";
357
+ static readonly META_INFO_AUTHOR = "info:Author";
358
+ static readonly META_INFO_TITLE = "info:Title";
359
+ static readonly META_INFO_SUBJECT = "info:Subject";
360
+ static readonly META_INFO_KEYWORDS = "info:Keywords";
361
+ static readonly META_INFO_CREATOR = "info:Creator";
362
+ static readonly META_INFO_PRODUCER = "info:Producer";
363
+ static readonly META_INFO_CREATIONDATE = "info:CreationDate";
364
+ static readonly META_INFO_MODIFICATIONDATE = "info:ModDate";
365
+ static readonly PERMISSION_PRINT = "print";
366
+ static readonly PERMISSION_COPY = "copy";
367
+ static readonly PERMISSION_EDIT = "eedit";
368
+ static readonly PERMISSION_ANNOTATE = "annotate";
369
+ static readonly PERMISSION_FORM = "form";
370
+ static readonly PERMISSION_ACCESSIBILITY = "accessibility";
371
+ static readonly PERMISSION_ASSEMBLE = "assemble";
372
+ static readonly PERMISSION_PRINT_HQ = "print-hq";
373
+ static readonly PERMISSION: Record<DocumentPermission, number>;
374
+ static openDocument(from: Buffer | ArrayBuffer | Uint8Array | Stream | string, magic?: string): Document;
375
+ formatLinkURI(dest: LinkDest): string;
376
+ asPDF(): (this & PDFDocument) | null;
377
+ isPDF(): boolean;
378
+ needsPassword(): boolean;
379
+ authenticatePassword(password: string): number;
380
+ hasPermission(perm: DocumentPermission): boolean;
381
+ getMetaData(key: string): string | undefined;
382
+ setMetaData(key: string, value: string): void;
383
+ countPages(): number;
384
+ isReflowable(): void;
385
+ layout(w: number, h: number, em: number): void;
386
+ loadPage(index: number): PDFPage | Page;
387
+ loadOutline(): OutlineItem[] | null;
388
+ resolveLink(link: string | Link): number;
389
+ resolveLinkDestination(link: string | Link): LinkDest;
390
+ outlineIterator(): OutlineIterator;
391
+ }
392
+ interface OutlineItem {
393
+ title: string | undefined;
394
+ uri: string | undefined;
395
+ open: boolean;
396
+ down?: OutlineItem[];
397
+ page?: number;
398
+ }
399
+ export declare class OutlineIterator extends Userdata<"fz_outline_iterator"> {
400
+ static readonly _drop: (p: Pointer<"fz_outline_iterator">) => void;
401
+ static readonly ITERATOR_DID_NOT_MOVE = -1;
402
+ static readonly ITERATOR_AT_ITEM = 0;
403
+ static readonly ITERATOR_AT_EMPTY = 1;
404
+ static readonly FLAG_BOLD = 1;
405
+ static readonly FLAG_ITALIC = 2;
406
+ item(): OutlineItem | null;
407
+ next(): number;
408
+ prev(): number;
409
+ up(): number;
410
+ down(): number;
411
+ delete(): number;
412
+ insert(item: OutlineItem): number;
413
+ update(item: OutlineItem): void;
414
+ }
415
+ export type LinkDestType = "Fit" | "FitB" | "FitH" | "FitBH" | "FitV" | "FitBV" | "FitR" | "XYZ";
416
+ interface LinkDest {
417
+ type: LinkDestType;
418
+ chapter: number;
419
+ page: number;
420
+ x: number;
421
+ y: number;
422
+ width: number;
423
+ height: number;
424
+ zoom: number;
425
+ }
426
+ export declare class Link extends Userdata<"fz_link"> {
427
+ static readonly _drop: (p: Pointer<"fz_link">) => void;
428
+ getBounds(): Rect;
429
+ setBounds(rect: Rect): void;
430
+ getURI(): string;
431
+ setURI(uri: string): void;
432
+ isExternal(): boolean;
433
+ }
434
+ export type PageBox = "MediaBox" | "CropBox" | "BleedBox" | "TrimBox" | "ArtBox";
435
+ export declare class Page extends Userdata<"any_page"> {
436
+ static readonly _drop: (p: Pointer<"any_page">) => void;
437
+ static readonly BOXES: PageBox[];
438
+ static readonly MEDIA_BOX = "MediaBox";
439
+ static readonly CROP_BOX = "CropBox";
440
+ static readonly BLEED_BOX = "BleedBox";
441
+ static readonly TRIM_BOX = "TrimBox";
442
+ static readonly ART_BOX = "ArtBox";
443
+ isPDF(): boolean;
444
+ getBounds(box?: PageBox): Rect;
445
+ getLabel(): string;
446
+ run(device: Device, matrix: Matrix): void;
447
+ runPageContents(device: Device, matrix: Matrix): void;
448
+ runPageAnnots(device: Device, matrix: Matrix): void;
449
+ runPageWidgets(device: Device, matrix: Matrix): void;
450
+ toPixmap(matrix: Matrix, colorspace: ColorSpace, alpha?: boolean, showExtras?: boolean): Pixmap;
451
+ toDisplayList(showExtras?: boolean): DisplayList;
452
+ toStructuredText(options?: string): StructuredText;
453
+ getLinks(): Link[];
454
+ createLink(bbox: Rect, uri: string): Link;
455
+ deleteLink(link: Link): void;
456
+ search(needle: string, max_hits?: number): Quad[][];
457
+ }
458
+ export declare class PDFDocument extends Document {
459
+ constructor();
460
+ constructor(filename: string);
461
+ constructor(data: Buffer | ArrayBuffer | Uint8Array | Stream);
462
+ constructor(clone: PDFDocument);
463
+ constructor(pointer: Pointer<"any_document">);
464
+ loadPage(index: number): PDFPage;
465
+ _fromPDFObjectNew(ptr: Pointer<"pdf_obj">): PDFObject;
466
+ _fromPDFObjectKeep(ptr: Pointer<"pdf_obj">): PDFObject;
467
+ _toPDFObject(obj: any): PDFObject;
468
+ _PDFOBJ(obj: any): Pointer<"pdf_obj">;
469
+ getVersion(): number;
470
+ getLanguage(): string | null;
471
+ setLanguage(lang: string): void;
472
+ countObjects(): number;
473
+ getTrailer(): PDFObject;
474
+ createObject(): PDFObject;
475
+ newNull(): PDFObject;
476
+ newBoolean(v: boolean): PDFObject;
477
+ newInteger(v: number): PDFObject;
478
+ newReal(v: number): PDFObject;
479
+ newName(v: string): PDFObject;
480
+ newString(v: string): PDFObject;
481
+ newByteString(v: Uint8Array | number[]): PDFObject;
482
+ newIndirect(v: number): PDFObject;
483
+ newArray(): PDFObject;
484
+ newDictionary(): PDFObject;
485
+ deleteObject(num: number | PDFObject): void;
486
+ addObject(obj: any): PDFObject;
487
+ addStream(buf: AnyBuffer, obj: any): PDFObject;
488
+ addRawStream(buf: AnyBuffer, obj: any): PDFObject;
489
+ newGraftMap(): PDFGraftMap;
490
+ graftObject(obj: PDFObject): PDFObject;
491
+ graftPage(to: number, srcDoc: PDFDocument, srcPage: number): void;
492
+ addSimpleFont(font: Font, encoding?: FontSimpleEncoding): PDFObject;
493
+ addCJKFont(font: Font, lang: FontCJKOrdering | FontCJKLanguage, wmode?: number, serif?: boolean): PDFObject;
494
+ addFont(font: Font): PDFObject;
495
+ addImage(image: Image): PDFObject;
496
+ loadImage(ref: PDFObject): Image;
497
+ findPage(index: number): PDFObject;
498
+ setPageTreeCache(enabled: boolean): void;
499
+ addPage(mediabox: Rect, rotate: Rotate, resources: any, contents: AnyBuffer): PDFObject;
500
+ insertPage(at: number, obj: PDFObject): void;
501
+ deletePage(at: number): void;
502
+ isEmbeddedFile(ref: PDFObject): boolean;
503
+ addEmbeddedFile(filename: string, mimetype: string, contents: AnyBuffer, created: Date, modified: Date, checksum?: boolean): PDFObject;
504
+ getFilespecParams(ref: PDFObject): {
505
+ filename: string;
506
+ mimetype: string;
507
+ size: Pointer<"char">;
508
+ creationDate: Date;
509
+ modificationDate: Date;
510
+ };
511
+ getEmbeddedFileContents(ref: PDFObject): Buffer | null;
512
+ getEmbeddedFiles(): Record<string, PDFObject>;
513
+ loadNameTree(treeName: string): Record<string, PDFObject>;
514
+ insertEmbeddedFile(filename: string, filespec: PDFObject): void;
515
+ deleteEmbeddedFile(filename: string): void;
516
+ _rewriteEmbeddedFiles(efs: Record<string, PDFObject>): void;
517
+ saveToBuffer(options?: string | Record<string, any>): Buffer;
518
+ save(filename: string, options?: string | Record<string, any>): void;
519
+ static readonly PAGE_LABEL_NONE = "\0";
520
+ static readonly PAGE_LABEL_DECIMAL = "D";
521
+ static readonly PAGE_LABEL_ROMAN_UC = "R";
522
+ static readonly PAGE_LABEL_ROMAN_LC = "r";
523
+ static readonly PAGE_LABEL_ALPHA_UC = "A";
524
+ static readonly PAGE_LABEL_ALPHA_LC = "a";
525
+ setPageLabels(index: number, style?: string, prefix?: string, start?: number): void;
526
+ deletePageLabels(index: number): void;
527
+ wasRepaired(): boolean;
528
+ hasUnsavedChanges(): boolean;
529
+ countVersions(): number;
530
+ countUnsavedVersions(): number;
531
+ validateChangeHistory(): number;
532
+ canBeSavedIncrementally(): boolean;
533
+ enableJournal(): void;
534
+ getJournal(): {
535
+ position: number;
536
+ steps: string[];
537
+ };
538
+ beginOperation(op: string): void;
539
+ beginImplicitOperation(): void;
540
+ endOperation(): void;
541
+ abandonOperation(): void;
542
+ canUndo(): boolean;
543
+ canRedo(): boolean;
544
+ undo(): void;
545
+ redo(): void;
546
+ isJSSupported(): boolean;
547
+ enableJS(): void;
548
+ disableJS(): void;
549
+ setJSEventListener(_listener: any): void;
550
+ rearrangePages(pages: number[]): void;
551
+ subsetFonts(): void;
552
+ bake(bakeAnnots?: boolean, bakeWidgets?: boolean): void;
553
+ countLayerConfigs(): number;
554
+ getLayerConfigCreator(config: number): string;
555
+ getLayerConfigName(config: number): string;
556
+ selectLayerConfig(config: number): void;
557
+ countLayerConfigUIs(): number;
558
+ getLayerConfigUIInfo(configui: number): Object;
559
+ countLayers(): number;
560
+ isLayerVisible(layer: number): boolean;
561
+ setLayerVisible(layer: number, visible: boolean): void;
562
+ getLayerName(layer: number): string;
563
+ resetForm(fields: PDFObject, exclude: boolean): void;
564
+ }
565
+ export declare class PDFPage extends Page {
566
+ _doc: PDFDocument;
567
+ _annots: PDFAnnotation[] | null;
568
+ _widgets: PDFWidget[] | null;
569
+ constructor(doc: PDFDocument, pointer: Pointer<"any_page">);
570
+ getObject(): PDFObject;
571
+ getTransform(): Matrix;
572
+ setPageBox(box: PageBox, rect: Rect): void;
573
+ toPixmap(matrix: Matrix, colorspace: ColorSpace, alpha?: boolean, showExtras?: boolean, usage?: string, box?: PageBox): Pixmap;
574
+ getWidgets(): PDFWidget[];
575
+ getAnnotations(): PDFAnnotation[];
576
+ createAnnotation(type: PDFAnnotationType): PDFAnnotation;
577
+ deleteAnnotation(annot: PDFAnnotation): void;
578
+ static readonly REDACT_IMAGE_NONE = 0;
579
+ static readonly REDACT_IMAGE_REMOVE = 1;
580
+ static readonly REDACT_IMAGE_PIXELS = 2;
581
+ static readonly REDACT_IMAGE_UNLESS_INVISIBLE = 3;
582
+ static readonly REDACT_LINE_ART_NONE = 0;
583
+ static readonly REDACT_LINE_ART_REMOVE_IF_COVERED = 1;
584
+ static readonly REDACT_LINE_ART_REMOVE_IF_TOUCHED = 2;
585
+ static readonly REDACT_TEXT_REMOVE = 0;
586
+ static readonly REDACT_TEXT_NONE = 1;
587
+ applyRedactions(black_boxes?: boolean, image_method?: number, line_art_method?: number, text_method?: number): void;
588
+ update(): boolean;
589
+ }
590
+ type PDFObjectPath = Array<number | string | PDFObject>;
591
+ export declare class PDFObject extends Userdata<"pdf_obj"> {
592
+ static readonly _drop: (p: Pointer<"pdf_obj">) => void;
593
+ static readonly Null: PDFObject;
594
+ _doc: PDFDocument;
595
+ constructor(doc: PDFDocument, pointer: Pointer<"pdf_obj">);
596
+ isNull(): boolean;
597
+ isIndirect(): boolean;
598
+ isBoolean(): boolean;
599
+ isInteger(): boolean;
600
+ isReal(): boolean;
601
+ isNumber(): boolean;
602
+ isName(): boolean;
603
+ isString(): boolean;
604
+ isArray(): boolean;
605
+ isDictionary(): boolean;
606
+ isStream(): boolean;
607
+ asIndirect(): number;
608
+ asBoolean(): boolean;
609
+ asNumber(): number;
610
+ asName(): string;
611
+ asString(): string;
612
+ asByteString(): Uint8Array<ArrayBuffer>;
613
+ readStream(): Buffer;
614
+ readRawStream(): Buffer;
615
+ writeObject(obj: any): void;
616
+ writeStream(buf: AnyBuffer): void;
617
+ writeRawStream(buf: AnyBuffer): void;
618
+ resolve(): PDFObject;
619
+ get length(): number;
620
+ set length(_: number);
621
+ _get(path: PDFObjectPath): Pointer<"pdf_obj">;
622
+ get(...path: PDFObjectPath): PDFObject;
623
+ getInheritable(key: string | PDFObject): PDFObject;
624
+ put(key: number | string | PDFObject, value: any): any;
625
+ push(value: any): any;
626
+ delete(key: number | string | PDFObject): void;
627
+ valueOf(): string | number | boolean | this | null;
628
+ toString(tight?: boolean, ascii?: boolean): string;
629
+ forEach(fn: (val: PDFObject, key: number | string, self: PDFObject) => void): void;
630
+ asJS(seen?: Record<number, PDFObject>): any;
631
+ }
632
+ export declare class PDFGraftMap extends Userdata<"pdf_graft_map"> {
633
+ static readonly _drop: (p: Pointer<"pdf_graft_map">) => void;
634
+ _doc: PDFDocument;
635
+ constructor(doc: PDFDocument, pointer: Pointer<"pdf_graft_map">);
636
+ graftObject(obj: PDFObject): PDFObject;
637
+ graftPage(to: number, srcDoc: PDFDocument, srcPage: number): void;
638
+ }
639
+ export type PDFAnnotationType = "Text" | "Link" | "FreeText" | "Line" | "Square" | "Circle" | "Polygon" | "PolyLine" | "Highlight" | "Underline" | "Squiggly" | "StrikeOut" | "Redact" | "Stamp" | "Caret" | "Ink" | "Popup" | "FileAttachment" | "Sound" | "Movie" | "RichMedia" | "Widget" | "Screen" | "PrinterMark" | "TrapNet" | "Watermark" | "3D" | "Projection";
640
+ export type PDFAnnotationLineEndingStyle = "None" | "Square" | "Circle" | "Diamond" | "OpenArrow" | "ClosedArrow" | "Butt" | "ROpenArrow" | "RClosedArrow" | "Slash";
641
+ export type PDFAnnotationBorderStyle = "Solid" | "Dashed" | "Beveled" | "Inset" | "Underline";
642
+ export type PDFAnnotationBorderEffect = "None" | "Cloudy";
643
+ export type PDFAnnotationIntent = null | "FreeTextCallout" | "FreeTextTypeWriter" | "LineArrow" | "LineDimension" | "PloyLine" | "PolygonCloud" | "PolygonDimension" | "StampImage" | "StampSnapshot";
644
+ export declare class PDFAnnotation extends Userdata<"pdf_annot"> {
645
+ static readonly _drop: (p: Pointer<"pdf_annot">) => void;
646
+ _doc: PDFDocument;
647
+ static readonly ANNOT_TYPES: PDFAnnotationType[];
648
+ static readonly LINE_ENDING: PDFAnnotationLineEndingStyle[];
649
+ static readonly BORDER_STYLE: PDFAnnotationBorderStyle[];
650
+ static readonly BORDER_EFFECT: PDFAnnotationBorderEffect[];
651
+ static readonly INTENT: PDFAnnotationIntent[];
652
+ static readonly IS_INVISIBLE: number;
653
+ static readonly IS_HIDDEN: number;
654
+ static readonly IS_PRINT: number;
655
+ static readonly IS_NO_ZOOM: number;
656
+ static readonly IS_NO_ROTATE: number;
657
+ static readonly IS_NO_VIEW: number;
658
+ static readonly IS_READ_ONLY: number;
659
+ static readonly IS_LOCKED: number;
660
+ static readonly IS_TOGGLE_NO_VIEW: number;
661
+ static readonly IS_LOCKED_CONTENTS: number;
662
+ constructor(doc: PDFDocument, pointer: Pointer<"pdf_annot">);
663
+ getObject(): PDFObject;
664
+ getBounds(): Rect;
665
+ run(device: Device, matrix: Matrix): void;
666
+ toPixmap(matrix: Matrix, colorspace: ColorSpace, alpha?: boolean): Pixmap;
667
+ toDisplayList(): DisplayList;
668
+ update(): boolean;
669
+ getType(): PDFAnnotationType;
670
+ getLanguage(): string | null;
671
+ setLanguage(lang: string): void;
672
+ getFlags(): number;
673
+ setFlags(flags: number): void;
674
+ getContents(): string;
675
+ setContents(text: string): void;
676
+ getName(): string;
677
+ setName(text: string): void;
678
+ getAuthor(): string;
679
+ setAuthor(text: string): void;
680
+ getSubject(): string;
681
+ setSubject(text: string): void;
682
+ getCreationDate(): Date;
683
+ setCreationDate(date: Date): void;
684
+ getModificationDate(): Date;
685
+ setModificationDate(date: Date): void;
686
+ hasRect(): boolean;
687
+ hasInkList(): boolean;
688
+ hasQuadPoints(): boolean;
689
+ hasVertices(): boolean;
690
+ hasLine(): boolean;
691
+ hasInteriorColor(): boolean;
692
+ hasLineEndingStyles(): boolean;
693
+ hasBorder(): boolean;
694
+ hasBorderEffect(): boolean;
695
+ hasIcon(): boolean;
696
+ hasOpen(): boolean;
697
+ hasAuthor(): boolean;
698
+ hasSubject(): boolean;
699
+ hasFilespec(): boolean;
700
+ hasCallout(): boolean;
701
+ hasRichContents(): boolean;
702
+ getRect(): Rect;
703
+ setRect(rect: Rect): void;
704
+ getPopup(): Rect;
705
+ setPopup(rect: Rect): void;
706
+ getIsOpen(): boolean;
707
+ setIsOpen(isOpen: boolean): void;
708
+ getHiddenForEditing(): boolean;
709
+ setHiddenForEditing(isHidden: boolean): void;
710
+ getIcon(): string;
711
+ setIcon(text: string): void;
712
+ getOpacity(): number;
713
+ setOpacity(opacity: number): void;
714
+ getQuadding(): number;
715
+ setQuadding(quadding: number): void;
716
+ getLine(): Point[];
717
+ setLine(a: Point, b: Point): void;
718
+ getLineEndingStyles(): {
719
+ start: PDFAnnotationLineEndingStyle;
720
+ end: PDFAnnotationLineEndingStyle;
721
+ };
722
+ setLineEndingStyles(start: PDFAnnotationLineEndingStyle, end: PDFAnnotationLineEndingStyle): void;
723
+ getLineCaption(): boolean;
724
+ setLineCaption(on: boolean): void;
725
+ getLineCaptionOffset(): Point;
726
+ setLineCaptionOffset(p: Point): void;
727
+ getLineLeader(): number;
728
+ getLineLeaderExtension(): number;
729
+ getLineLeaderOffset(): number;
730
+ setLineLeader(v: number): void;
731
+ setLineLeaderExtension(v: number): void;
732
+ setLineLeaderOffset(v: number): void;
733
+ getCalloutStyle(): PDFAnnotationLineEndingStyle;
734
+ setCalloutStyle(style: PDFAnnotationLineEndingStyle): void;
735
+ getCalloutLine(): Point[] | null;
736
+ setCalloutLine(line: Point[]): void;
737
+ getCalloutPoint(): Point | undefined;
738
+ setCalloutPoint(p: Point): void;
739
+ getColor(): AnnotColor;
740
+ getInteriorColor(): AnnotColor;
741
+ setColor(color: AnnotColor): void;
742
+ setInteriorColor(color: AnnotColor): void;
743
+ getBorderWidth(): number;
744
+ setBorderWidth(value: number): void;
745
+ getBorderStyle(): PDFAnnotationBorderStyle;
746
+ setBorderStyle(value: PDFAnnotationBorderStyle): void;
747
+ getBorderEffect(): PDFAnnotationBorderEffect;
748
+ setBorderEffect(value: PDFAnnotationBorderEffect): void;
749
+ getBorderEffectIntensity(): number;
750
+ setBorderEffectIntensity(value: number): void;
751
+ getBorderDashCount(): number;
752
+ getBorderDashItem(idx: number): number;
753
+ clearBorderDash(): void;
754
+ addBorderDashItem(v: number): void;
755
+ getBorderDashPattern(): any[];
756
+ setBorderDashPattern(list: number[]): void;
757
+ getIntent(): PDFAnnotationIntent;
758
+ setIntent(value: PDFAnnotationIntent): void;
759
+ setDefaultAppearance(fontName: string, size: number, color: AnnotColor): void;
760
+ getDefaultAppearance(): {
761
+ font: string;
762
+ size: number;
763
+ color: AnnotColor;
764
+ };
765
+ getFileSpec(): PDFObject;
766
+ setFileSpec(fs: PDFObject): void;
767
+ getQuadPoints(): Quad[];
768
+ clearQuadPoints(): void;
769
+ addQuadPoint(quad: Quad): void;
770
+ setQuadPoints(quadlist: Quad[]): void;
771
+ getVertices(): Point[];
772
+ clearVertices(): void;
773
+ addVertex(vertex: Point): void;
774
+ setVertices(vertexlist: Point[]): void;
775
+ getInkList(): Point[][];
776
+ clearInkList(): void;
777
+ addInkListStroke(): void;
778
+ addInkListStrokeVertex(v: Point): void;
779
+ setInkList(inklist: Point[][]): void;
780
+ getRichContents(): string;
781
+ setRichContents(plain: string, html: string): void;
782
+ getRichDefaults(): string;
783
+ setRichDefaults(style: string): void;
784
+ setStampImage(image: Image): void;
785
+ setAppearanceFromDisplayList(appearance: string | null, state: string | null, transform: Matrix, list: DisplayList): void;
786
+ setAppearance(appearance: string | null, state: string | null, transform: Matrix, bbox: Rect, resources: any, contents: AnyBuffer): void;
787
+ applyRedaction(black_boxes?: number, image_method?: number, line_art_method?: number, text_method?: number): void;
788
+ }
789
+ export declare class PDFWidget extends PDFAnnotation {
790
+ static readonly WIDGET_TYPES: string[];
791
+ static readonly FIELD_IS_READ_ONLY = 1;
792
+ static readonly FIELD_IS_REQUIRED: number;
793
+ static readonly FIELD_IS_NO_EXPORT: number;
794
+ static readonly TX_FIELD_IS_MULTILINE: number;
795
+ static readonly TX_FIELD_IS_PASSWORD: number;
796
+ static readonly TX_FIELD_IS_FILE_SELECT: number;
797
+ static readonly TX_FIELD_IS_DO_NOT_SPELL_CHECK: number;
798
+ static readonly TX_FIELD_IS_DO_NOT_SCROLL: number;
799
+ static readonly TX_FIELD_IS_COMB: number;
800
+ static readonly TX_FIELD_IS_RICH_TEXT: number;
801
+ static readonly BTN_FIELD_IS_NO_TOGGLE_TO_OFF: number;
802
+ static readonly BTN_FIELD_IS_RADIO: number;
803
+ static readonly BTN_FIELD_IS_PUSHBUTTON: number;
804
+ static readonly BTN_FIELD_IS_RADIOS_IN_UNISON: number;
805
+ static readonly CH_FIELD_IS_COMBO: number;
806
+ static readonly CH_FIELD_IS_EDIT: number;
807
+ static readonly CH_FIELD_IS_SORT: number;
808
+ static readonly CH_FIELD_IS_MULTI_SELECT: number;
809
+ static readonly CH_FIELD_IS_DO_NOT_SPELL_CHECK: number;
810
+ static readonly CH_FIELD_IS_COMMIT_ON_SEL_CHANGE: number;
811
+ getFieldType(): string;
812
+ isButton(): boolean;
813
+ isPushButton(): boolean;
814
+ isCheckbox(): boolean;
815
+ isRadioButton(): boolean;
816
+ isText(): boolean;
817
+ isChoice(): boolean;
818
+ isListBox(): boolean;
819
+ isComboBox(): boolean;
820
+ getFieldFlags(): number;
821
+ isMultiline(): boolean;
822
+ isPassword(): boolean;
823
+ isComb(): boolean;
824
+ isReadOnly(): boolean;
825
+ getLabel(): string;
826
+ getName(): string;
827
+ setName(): void;
828
+ getValue(): string;
829
+ setTextValue(value: string): number;
830
+ getMaxLen(): number;
831
+ setChoiceValue(value: string): number;
832
+ getOptions(isExport?: boolean): string[];
833
+ toggle(): number;
834
+ }
835
+ declare global {
836
+ function $libmupdf_stm_close(ptr: number): void;
837
+ function $libmupdf_stm_seek(ptr: number, pos: number, offset: number, whence: number): number;
838
+ function $libmupdf_stm_read(ptr: number, pos: number, addr: number, size: number): number;
839
+ }
840
+ interface StreamHandle {
841
+ fileSize(): number;
842
+ read(memory: Uint8Array, offset: number, length: number, position: number): number;
843
+ close(): void;
844
+ }
845
+ export declare class Stream extends Userdata<"fz_stream"> {
846
+ static readonly _drop: (p: Pointer<"fz_stream">) => void;
847
+ constructor(handle: StreamHandle);
848
+ }
849
+ declare global {
850
+ function $libmupdf_load_font_file(name: Pointer<"char">, script: Pointer<"char">, bold: boolean, italic: boolean): Pointer<"fz_font">;
851
+ }
852
+ interface DeviceFunctions {
853
+ drop?(): void;
854
+ close?(): void;
855
+ fillPath?(path: Path, evenOdd: boolean, ctm: Matrix, colorspace: ColorSpace, color: number[], alpha: number): void;
856
+ strokePath?(path: Path, stroke: StrokeState, ctm: Matrix, colorspace: ColorSpace, color: number[], alpha: number): void;
857
+ clipPath?(path: Path, evenOdd: boolean, ctm: Matrix): void;
858
+ clipStrokePath?(path: Path, stroke: StrokeState, ctm: Matrix): void;
859
+ fillText?(text: Text, ctm: Matrix, colorspace: ColorSpace, color: number[], alpha: number): void;
860
+ strokeText?(text: Text, stroke: StrokeState, ctm: Matrix, colorspace: ColorSpace, color: number[], alpha: number): void;
861
+ clipText?(text: Text, ctm: Matrix): void;
862
+ clipStrokeText?(text: Text, stroke: StrokeState, ctm: Matrix): void;
863
+ ignoreText?(text: Text, ctm: Matrix): void;
864
+ fillShade?(shade: Shade, ctm: Matrix, alpha: number): void;
865
+ fillImage?(image: Image, ctm: Matrix, alpha: number): void;
866
+ fillImageMask?(image: Image, ctm: Matrix, colorspace: ColorSpace, color: number[], alpha: number): void;
867
+ clipImageMask?(image: Image, ctm: Matrix): void;
868
+ popClip?(): void;
869
+ beginMask?(bbox: Rect, luminosity: boolean, colorspace: ColorSpace, color: number[]): void;
870
+ endMask?(): void;
871
+ beginGroup?(bbox: Rect, colorspace: ColorSpace, isolated: boolean, knockout: boolean, blendmode: BlendMode, alpha: number): void;
872
+ endGroup?(): void;
873
+ beginTile?(area: Rect, view: Rect, xstep: number, ystep: number, ctm: Matrix, id: number, doc_id: number): number;
874
+ endTile?(): void;
875
+ beginLayer?(name: string): void;
876
+ endLayer?(): void;
877
+ }
878
+ declare global {
879
+ var $libmupdf_path_walk: any;
880
+ var $libmupdf_text_walk: any;
881
+ var $libmupdf_device: any;
882
+ }
883
+ declare const _default: {
884
+ Matrix: {
885
+ identity: Matrix;
886
+ scale(sx: number, sy: number): Matrix;
887
+ translate(tx: number, ty: number): Matrix;
888
+ rotate(d: number): Matrix;
889
+ invert(m: Matrix): Matrix;
890
+ concat(one: Matrix, two: Matrix): Matrix;
891
+ };
892
+ Rect: {
893
+ MIN_INF_RECT: number;
894
+ MAX_INF_RECT: number;
895
+ empty: number[];
896
+ invalid: number[];
897
+ infinite: number[];
898
+ isEmpty: (rect: Rect) => boolean;
899
+ isValid: (rect: Rect) => boolean;
900
+ isInfinite: (rect: Rect) => boolean;
901
+ transform: (rect: Rect, matrix: Matrix) => Rect;
902
+ };
903
+ enableICC: typeof enableICC;
904
+ disableICC: typeof disableICC;
905
+ setUserCSS: typeof setUserCSS;
906
+ installLoadFontFunction: typeof installLoadFontFunction;
907
+ setLog: typeof setLog;
908
+ Buffer: typeof Buffer;
909
+ ColorSpace: typeof ColorSpace;
910
+ Font: typeof Font;
911
+ Image: typeof Image;
912
+ StrokeState: typeof StrokeState;
913
+ Path: typeof Path;
914
+ Text: typeof Text;
915
+ DisplayList: typeof DisplayList;
916
+ Pixmap: typeof Pixmap;
917
+ Shade: typeof Shade;
918
+ StructuredText: typeof StructuredText;
919
+ Device: typeof Device;
920
+ DrawDevice: typeof DrawDevice;
921
+ DisplayListDevice: typeof DisplayListDevice;
922
+ DocumentWriter: typeof DocumentWriter;
923
+ Document: typeof Document;
924
+ OutlineIterator: typeof OutlineIterator;
925
+ Link: typeof Link;
926
+ Page: typeof Page;
927
+ PDFDocument: typeof PDFDocument;
928
+ PDFPage: typeof PDFPage;
929
+ PDFObject: typeof PDFObject;
930
+ PDFGraftMap: typeof PDFGraftMap;
931
+ PDFAnnotation: typeof PDFAnnotation;
932
+ PDFWidget: typeof PDFWidget;
933
+ Stream: typeof Stream;
934
+ memento: {
935
+ listBlocks(): void;
936
+ checkAllMemory(): void;
937
+ };
938
+ };
939
+ export default _default;