@2018kguo/recto 0.0.0-stage → 0.3.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.
Files changed (53) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +25 -2
  3. package/dist/assets.d.ts +19 -0
  4. package/dist/assets.js +250 -0
  5. package/dist/document.d.ts +307 -0
  6. package/dist/document.js +405 -0
  7. package/dist/engine.d.ts +62 -0
  8. package/dist/engine.js +383 -0
  9. package/dist/errors.d.ts +36 -0
  10. package/dist/errors.js +14 -0
  11. package/dist/index.d.ts +18 -0
  12. package/dist/index.js +23 -0
  13. package/dist/page-measures.d.ts +34 -0
  14. package/dist/page-measures.js +166 -0
  15. package/dist/pool-worker.d.ts +14 -0
  16. package/dist/pool-worker.js +65 -0
  17. package/dist/pool.d.ts +36 -0
  18. package/dist/pool.js +287 -0
  19. package/dist/ranged.d.ts +98 -0
  20. package/dist/ranged.js +497 -0
  21. package/dist/reading-order.d.ts +14 -0
  22. package/dist/reading-order.js +173 -0
  23. package/dist/sha256.d.ts +1 -0
  24. package/dist/sha256.js +78 -0
  25. package/dist/text-items.d.ts +49 -0
  26. package/dist/text-items.js +272 -0
  27. package/package.json +48 -4
  28. package/wasm/FoxitDingbats.pfb +0 -0
  29. package/wasm/FoxitFixed.pfb +0 -0
  30. package/wasm/FoxitFixedBold.pfb +0 -0
  31. package/wasm/FoxitFixedBoldItalic.pfb +0 -0
  32. package/wasm/FoxitFixedItalic.pfb +0 -0
  33. package/wasm/FoxitSans.pfb +0 -0
  34. package/wasm/FoxitSansBold.pfb +0 -0
  35. package/wasm/FoxitSansBoldItalic.pfb +0 -0
  36. package/wasm/FoxitSansItalic.pfb +0 -0
  37. package/wasm/FoxitSerif.pfb +0 -0
  38. package/wasm/FoxitSerifBold.pfb +0 -0
  39. package/wasm/FoxitSerifBoldItalic.pfb +0 -0
  40. package/wasm/FoxitSerifItalic.pfb +0 -0
  41. package/wasm/FoxitSymbol.pfb +0 -0
  42. package/wasm/THIRD_PARTY_NOTICES +2362 -0
  43. package/wasm/cjk-fallback.ttf +0 -0
  44. package/wasm/cmaps.deflate +0 -0
  45. package/wasm/pins.d.mts +1 -0
  46. package/wasm/pins.mjs +23 -0
  47. package/wasm/recto-more.wasm +0 -0
  48. package/wasm/recto-rare.wasm +0 -0
  49. package/wasm/recto-render.wasm +0 -0
  50. package/wasm/recto.gen.d.mts +3 -0
  51. package/wasm/recto.gen.mjs +1203 -0
  52. package/wasm/recto.types.d.mts +295 -0
  53. package/wasm/recto.wasm +0 -0
@@ -0,0 +1,295 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+
4
+ /**
5
+ * `PdfAnnotation[]` as columns, entry `i` per annotation. `hasField[i]` is
6
+ * 0 where `field` is null.
7
+ */
8
+ export class Annotations {
9
+ private constructor();
10
+ free(): void;
11
+ [Symbol.dispose](): void;
12
+ readonly appearanceObjects: Uint32Array<ArrayBuffer>;
13
+ readonly appearanceTextObjects: Uint32Array<ArrayBuffer>;
14
+ readonly appearanceText: string[];
15
+ readonly boxes: Float32Array<ArrayBuffer>;
16
+ readonly contents: string[];
17
+ readonly count: number;
18
+ readonly fieldTypes: string[];
19
+ readonly fieldValues: string[];
20
+ readonly hasField: Uint8Array<ArrayBuffer>;
21
+ readonly subtypes: Uint8Array<ArrayBuffer>;
22
+ }
23
+
24
+ export class Document {
25
+ free(): void;
26
+ [Symbol.dispose](): void;
27
+ annotations(index: number): Annotations;
28
+ fileLength(): number;
29
+ /**
30
+ * Where the file is in this instance's memory, to reopen it on the full engine without a copy.
31
+ */
32
+ filePointer(): number;
33
+ objects(index: number): PageObjects;
34
+ /**
35
+ * A file of `length` bytes read by range. `read(offset, length)`
36
+ * returns those bytes (a Uint8Array), or undefined when it could not
37
+ * read them; it is called synchronously, chunk-aligned, at most 1 MiB.
38
+ */
39
+ static openRanged(length: number, chunk: number, read: (offset: number, length: number) => Uint8Array | undefined, password?: string | null): Document;
40
+ constructor(bytes: Uint8Array, password?: string | null);
41
+ /**
42
+ * Flat, in order: `[title, url or "", level, page]` per item.
43
+ */
44
+ outline(): Array<any>;
45
+ /**
46
+ * [width, height, rotation]
47
+ */
48
+ pageInfo(index: number): Float32Array<ArrayBuffer>;
49
+ /**
50
+ * One string per page, or null if the file gives no labels.
51
+ */
52
+ pageLabels(): any;
53
+ /**
54
+ * `PdfPageText` columns.
55
+ */
56
+ pageText(index: number): PageText;
57
+ /**
58
+ * A render that returns to its caller between slices, for as long as it's asked to run.
59
+ */
60
+ renderTask(index: number, width: number, max_height: number): RenderTask;
61
+ render(index: number, width: number, max_height: number): RenderedPage;
62
+ /**
63
+ * Text, objects and annotations from one interpretation of the page.
64
+ */
65
+ scan(index: number): PageScan;
66
+ /**
67
+ * `[pages, pageLabels, outline]`: whether a limit cut each short.
68
+ */
69
+ structureTruncated(): Uint8Array<ArrayBuffer>;
70
+ /**
71
+ * Text and annotations (no objects).
72
+ */
73
+ textAndAnnotations(index: number): PageScan;
74
+ readonly pageCount: number;
75
+ }
76
+
77
+ /**
78
+ * `PdfPageObjects` as columns: `images.boxes` is `imageBoxes`, and so on.
79
+ */
80
+ export class PageObjects {
81
+ private constructor();
82
+ free(): void;
83
+ [Symbol.dispose](): void;
84
+ readonly imageBoxes: Float32Array<ArrayBuffer>;
85
+ readonly imagePixels: Uint32Array<ArrayBuffer>;
86
+ readonly pathBoxes: Float32Array<ArrayBuffer>;
87
+ readonly pathFlags: Uint8Array<ArrayBuffer>;
88
+ readonly pathStart: Uint32Array<ArrayBuffer>;
89
+ readonly segmentKinds: Uint8Array<ArrayBuffer>;
90
+ readonly segmentPoints: Float32Array<ArrayBuffer>;
91
+ readonly textObjects: number;
92
+ readonly truncated: boolean;
93
+ }
94
+
95
+ /**
96
+ * `scan`'s result: take each part once.
97
+ */
98
+ export class PageScan {
99
+ private constructor();
100
+ free(): void;
101
+ [Symbol.dispose](): void;
102
+ takeAnnotations(): Annotations | undefined;
103
+ takeObjects(): PageObjects | undefined;
104
+ takeText(): PageText | undefined;
105
+ }
106
+
107
+ /**
108
+ * `PdfPageText` as columns: one entry per Unicode code
109
+ * point (a ligature's chars share its box). `fonts`, `words` and `runs` are
110
+ * flattened into `font*`, `word*` and `run*` columns.
111
+ */
112
+ export class PageText {
113
+ private constructor();
114
+ free(): void;
115
+ [Symbol.dispose](): void;
116
+ readonly angles: Float32Array<ArrayBuffer>;
117
+ readonly boxes: Float32Array<ArrayBuffer>;
118
+ readonly codepoints: Uint32Array<ArrayBuffer>;
119
+ readonly count: number;
120
+ readonly fills: Uint32Array<ArrayBuffer>;
121
+ readonly flags: Uint8Array<ArrayBuffer>;
122
+ readonly fontAscents: Float32Array<ArrayBuffer>;
123
+ readonly fontDescents: Float32Array<ArrayBuffer>;
124
+ readonly fontEmbedded: Uint8Array<ArrayBuffer>;
125
+ readonly fontFlags: Uint32Array<ArrayBuffer>;
126
+ readonly fontIds: Int32Array<ArrayBuffer>;
127
+ readonly fontNames: string[];
128
+ readonly fontSizes: Float32Array<ArrayBuffer>;
129
+ readonly fontWeights: Uint32Array<ArrayBuffer>;
130
+ readonly runEms: Float32Array<ArrayBuffer>;
131
+ readonly runIds: Int32Array<ArrayBuffer>;
132
+ readonly runOrigins: Float32Array<ArrayBuffer>;
133
+ readonly text: string;
134
+ readonly tfSizes: Float32Array<ArrayBuffer>;
135
+ readonly truncated: boolean;
136
+ readonly wordBoxes: Float32Array<ArrayBuffer>;
137
+ readonly wordFirstChar: Uint32Array<ArrayBuffer>;
138
+ readonly wordLastChar: Uint32Array<ArrayBuffer>;
139
+ }
140
+
141
+ export class RenderTask {
142
+ private constructor();
143
+ free(): void;
144
+ [Symbol.dispose](): void;
145
+ /**
146
+ * Rasterizes what `step` drew: the rest of the page, in one call.
147
+ */
148
+ finish(): RenderedPage;
149
+ /**
150
+ * Runs for about `budget_ms`; true once the page's content is done.
151
+ */
152
+ step(budget_ms: number): boolean;
153
+ }
154
+
155
+ export class RenderedPage {
156
+ private constructor();
157
+ free(): void;
158
+ [Symbol.dispose](): void;
159
+ /**
160
+ * Moves the pixels out; call once.
161
+ */
162
+ takeRgba(): Uint8Array<ArrayBuffer>;
163
+ height: number;
164
+ truncated: boolean;
165
+ width: number;
166
+ }
167
+
168
+ /**
169
+ * The host's asset loader: `(index) => Uint8Array | undefined`, called
170
+ * synchronously the first time a document needs a built-in font (0..13,
171
+ * `STANDARD_FONTS` order), the CJK fallback (14) or the predefined CMaps (15).
172
+ * Fonts are kept per instance; the CMaps are decompressed once and kept.
173
+ */
174
+ export function setAssetLoader(loader: (index: number) => Uint8Array | undefined): void;
175
+
176
+ /**
177
+ * SHA-256, for the JavaScript side's checks on large assets it read synchronously.
178
+ */
179
+ export function sha256(bytes: Uint8Array): Uint8Array<ArrayBuffer>;
180
+
181
+ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
182
+
183
+ export interface InitOutput {
184
+ readonly memory: WebAssembly.Memory;
185
+ readonly __wbg_annotations_free: (a: number, b: number) => void;
186
+ readonly __wbg_document_free: (a: number, b: number) => void;
187
+ readonly __wbg_get_renderedpage_height: (a: number) => number;
188
+ readonly __wbg_get_renderedpage_truncated: (a: number) => number;
189
+ readonly __wbg_get_renderedpage_width: (a: number) => number;
190
+ readonly __wbg_pageobjects_free: (a: number, b: number) => void;
191
+ readonly __wbg_pagescan_free: (a: number, b: number) => void;
192
+ readonly __wbg_pagetext_free: (a: number, b: number) => void;
193
+ readonly __wbg_renderedpage_free: (a: number, b: number) => void;
194
+ readonly __wbg_rendertask_free: (a: number, b: number) => void;
195
+ readonly __wbg_set_renderedpage_height: (a: number, b: number) => void;
196
+ readonly __wbg_set_renderedpage_truncated: (a: number, b: number) => void;
197
+ readonly __wbg_set_renderedpage_width: (a: number, b: number) => void;
198
+ readonly annotations_appearanceObjects: (a: number) => [number, number];
199
+ readonly annotations_appearanceText: (a: number) => [number, number];
200
+ readonly annotations_appearanceTextObjects: (a: number) => [number, number];
201
+ readonly annotations_boxes: (a: number) => [number, number];
202
+ readonly annotations_contents: (a: number) => [number, number];
203
+ readonly annotations_count: (a: number) => number;
204
+ readonly annotations_fieldTypes: (a: number) => [number, number];
205
+ readonly annotations_fieldValues: (a: number) => [number, number];
206
+ readonly annotations_hasField: (a: number) => [number, number];
207
+ readonly annotations_subtypes: (a: number) => [number, number];
208
+ readonly document_annotations: (a: number, b: number) => [number, number, number];
209
+ readonly document_fileLength: (a: number) => number;
210
+ readonly document_filePointer: (a: number) => number;
211
+ readonly document_objects: (a: number, b: number) => [number, number, number];
212
+ readonly document_open: (a: number, b: number, c: number, d: number) => [number, number, number];
213
+ readonly document_openRanged: (a: number, b: number, c: any, d: number, e: number) => [number, number, number];
214
+ readonly document_outline: (a: number) => any;
215
+ readonly document_pageCount: (a: number) => number;
216
+ readonly document_pageInfo: (a: number, b: number) => [number, number, number, number];
217
+ readonly document_pageLabels: (a: number) => any;
218
+ readonly document_pageText: (a: number, b: number) => [number, number, number];
219
+ readonly document_render: (a: number, b: number, c: number, d: number) => [number, number, number];
220
+ readonly document_renderTask: (a: number, b: number, c: number, d: number) => [number, number, number];
221
+ readonly document_scan: (a: number, b: number) => [number, number, number];
222
+ readonly document_structureTruncated: (a: number) => [number, number];
223
+ readonly document_textAndAnnotations: (a: number, b: number) => [number, number, number];
224
+ readonly pageobjects_imageBoxes: (a: number) => [number, number];
225
+ readonly pageobjects_imagePixels: (a: number) => [number, number];
226
+ readonly pageobjects_pathBoxes: (a: number) => [number, number];
227
+ readonly pageobjects_pathFlags: (a: number) => [number, number];
228
+ readonly pageobjects_pathStart: (a: number) => [number, number];
229
+ readonly pageobjects_segmentKinds: (a: number) => [number, number];
230
+ readonly pageobjects_segmentPoints: (a: number) => [number, number];
231
+ readonly pageobjects_textObjects: (a: number) => number;
232
+ readonly pageobjects_truncated: (a: number) => number;
233
+ readonly pagescan_takeAnnotations: (a: number) => number;
234
+ readonly pagescan_takeObjects: (a: number) => number;
235
+ readonly pagescan_takeText: (a: number) => number;
236
+ readonly pagetext_angles: (a: number) => [number, number];
237
+ readonly pagetext_boxes: (a: number) => [number, number];
238
+ readonly pagetext_codepoints: (a: number) => [number, number];
239
+ readonly pagetext_count: (a: number) => number;
240
+ readonly pagetext_fills: (a: number) => [number, number];
241
+ readonly pagetext_flags: (a: number) => [number, number];
242
+ readonly pagetext_fontAscents: (a: number) => [number, number];
243
+ readonly pagetext_fontDescents: (a: number) => [number, number];
244
+ readonly pagetext_fontEmbedded: (a: number) => [number, number];
245
+ readonly pagetext_fontFlags: (a: number) => [number, number];
246
+ readonly pagetext_fontIds: (a: number) => [number, number];
247
+ readonly pagetext_fontNames: (a: number) => [number, number];
248
+ readonly pagetext_fontSizes: (a: number) => [number, number];
249
+ readonly pagetext_fontWeights: (a: number) => [number, number];
250
+ readonly pagetext_runEms: (a: number) => [number, number];
251
+ readonly pagetext_runIds: (a: number) => [number, number];
252
+ readonly pagetext_runOrigins: (a: number) => [number, number];
253
+ readonly pagetext_text: (a: number) => [number, number];
254
+ readonly pagetext_tfSizes: (a: number) => [number, number];
255
+ readonly pagetext_truncated: (a: number) => number;
256
+ readonly pagetext_wordBoxes: (a: number) => [number, number];
257
+ readonly pagetext_wordFirstChar: (a: number) => [number, number];
258
+ readonly pagetext_wordLastChar: (a: number) => [number, number];
259
+ readonly renderedpage_takeRgba: (a: number) => [number, number];
260
+ readonly rendertask_finish: (a: number) => number;
261
+ readonly rendertask_step: (a: number, b: number) => number;
262
+ readonly setAssetLoader: (a: any) => void;
263
+ readonly sha256: (a: number, b: number) => [number, number];
264
+ readonly __wbindgen_exn_store: (a: number) => void;
265
+ readonly __externref_table_alloc: () => number;
266
+ readonly __wbindgen_externrefs: WebAssembly.Table;
267
+ readonly __wbindgen_free: (a: number, b: number, c: number) => void;
268
+ readonly __externref_drop_slice: (a: number, b: number) => void;
269
+ readonly __externref_table_dealloc: (a: number) => void;
270
+ readonly __wbindgen_malloc: (a: number, b: number) => number;
271
+ readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
272
+ readonly __wbindgen_start: () => void;
273
+ }
274
+
275
+ export type SyncInitInput = BufferSource | WebAssembly.Module;
276
+
277
+ /**
278
+ * Instantiates the given `module`, which can either be bytes or
279
+ * a precompiled `WebAssembly.Module`.
280
+ *
281
+ * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
282
+ *
283
+ * @returns {InitOutput}
284
+ */
285
+ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
286
+
287
+ /**
288
+ * If `module_or_path` is {RequestInfo} or {URL}, makes a request and
289
+ * for everything else, calls `WebAssembly.instantiate` directly.
290
+ *
291
+ * @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
292
+ *
293
+ * @returns {Promise<InitOutput>}
294
+ */
295
+ export default function __wbg_init (module_or_path: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
Binary file