@docmentis/udoc-viewer 0.5.3 → 0.5.4

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 (211) hide show
  1. package/dist/package.json +56 -0
  2. package/dist/src/UDocClient.d.ts +383 -0
  3. package/dist/src/UDocClient.d.ts.map +1 -0
  4. package/dist/src/UDocClient.js +428 -0
  5. package/dist/src/UDocClient.js.map +1 -0
  6. package/dist/src/UDocViewer.d.ts +275 -0
  7. package/dist/src/UDocViewer.d.ts.map +1 -0
  8. package/dist/src/UDocViewer.js +796 -0
  9. package/dist/src/UDocViewer.js.map +1 -0
  10. package/dist/src/fonts.d.ts +29 -0
  11. package/dist/src/fonts.d.ts.map +1 -0
  12. package/dist/src/fonts.js +30 -0
  13. package/dist/src/fonts.js.map +1 -0
  14. package/dist/src/index.d.ts +9 -0
  15. package/dist/src/index.d.ts.map +1 -0
  16. package/dist/src/index.js +8 -0
  17. package/dist/src/index.js.map +1 -0
  18. package/dist/src/performance/PerformanceCounter.d.ts +132 -0
  19. package/dist/src/performance/PerformanceCounter.d.ts.map +1 -0
  20. package/dist/src/performance/PerformanceCounter.js +129 -0
  21. package/dist/src/performance/PerformanceCounter.js.map +1 -0
  22. package/dist/src/performance/index.d.ts +2 -0
  23. package/dist/src/performance/index.d.ts.map +1 -0
  24. package/dist/src/performance/index.js +2 -0
  25. package/dist/src/performance/index.js.map +1 -0
  26. package/dist/src/ui/framework/component.d.ts +68 -0
  27. package/dist/src/ui/framework/component.d.ts.map +1 -0
  28. package/dist/src/ui/framework/component.js +87 -0
  29. package/dist/src/ui/framework/component.js.map +1 -0
  30. package/dist/src/ui/framework/dom.d.ts +19 -0
  31. package/dist/src/ui/framework/dom.d.ts.map +1 -0
  32. package/dist/src/ui/framework/dom.js +29 -0
  33. package/dist/src/ui/framework/dom.js.map +1 -0
  34. package/dist/src/ui/framework/events.d.ts +18 -0
  35. package/dist/src/ui/framework/events.d.ts.map +1 -0
  36. package/dist/src/ui/framework/events.js +23 -0
  37. package/dist/src/ui/framework/events.js.map +1 -0
  38. package/dist/src/ui/framework/index.d.ts +15 -0
  39. package/dist/src/ui/framework/index.d.ts.map +1 -0
  40. package/dist/src/ui/framework/index.js +15 -0
  41. package/dist/src/ui/framework/index.js.map +1 -0
  42. package/dist/src/ui/framework/selectors.d.ts +51 -0
  43. package/dist/src/ui/framework/selectors.d.ts.map +1 -0
  44. package/dist/src/ui/framework/selectors.js +30 -0
  45. package/dist/src/ui/framework/selectors.js.map +1 -0
  46. package/dist/src/ui/framework/store.d.ts +37 -0
  47. package/dist/src/ui/framework/store.d.ts.map +1 -0
  48. package/dist/src/ui/framework/store.js +54 -0
  49. package/dist/src/ui/framework/store.js.map +1 -0
  50. package/dist/src/ui/viewer/actions.d.ts +132 -0
  51. package/dist/src/ui/viewer/actions.d.ts.map +1 -0
  52. package/dist/src/ui/viewer/actions.js +2 -0
  53. package/dist/src/ui/viewer/actions.js.map +1 -0
  54. package/dist/src/ui/viewer/annotation/LinkRenderer.d.ts +9 -0
  55. package/dist/src/ui/viewer/annotation/LinkRenderer.d.ts.map +1 -0
  56. package/dist/src/ui/viewer/annotation/LinkRenderer.js +17 -0
  57. package/dist/src/ui/viewer/annotation/LinkRenderer.js.map +1 -0
  58. package/dist/src/ui/viewer/annotation/MarkupRenderer.d.ts +21 -0
  59. package/dist/src/ui/viewer/annotation/MarkupRenderer.d.ts.map +1 -0
  60. package/dist/src/ui/viewer/annotation/MarkupRenderer.js +138 -0
  61. package/dist/src/ui/viewer/annotation/MarkupRenderer.js.map +1 -0
  62. package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts +33 -0
  63. package/dist/src/ui/viewer/annotation/ShapeRenderer.d.ts.map +1 -0
  64. package/dist/src/ui/viewer/annotation/ShapeRenderer.js +378 -0
  65. package/dist/src/ui/viewer/annotation/ShapeRenderer.js.map +1 -0
  66. package/dist/src/ui/viewer/annotation/TextRenderer.d.ts +23 -0
  67. package/dist/src/ui/viewer/annotation/TextRenderer.d.ts.map +1 -0
  68. package/dist/src/ui/viewer/annotation/TextRenderer.js +196 -0
  69. package/dist/src/ui/viewer/annotation/TextRenderer.js.map +1 -0
  70. package/dist/src/ui/viewer/annotation/index.d.ts +8 -0
  71. package/dist/src/ui/viewer/annotation/index.d.ts.map +1 -0
  72. package/dist/src/ui/viewer/annotation/index.js +8 -0
  73. package/dist/src/ui/viewer/annotation/index.js.map +1 -0
  74. package/dist/src/ui/viewer/annotation/render.d.ts +24 -0
  75. package/dist/src/ui/viewer/annotation/render.d.ts.map +1 -0
  76. package/dist/src/ui/viewer/annotation/render.js +184 -0
  77. package/dist/src/ui/viewer/annotation/render.js.map +1 -0
  78. package/dist/src/ui/viewer/annotation/types.d.ts +239 -0
  79. package/dist/src/ui/viewer/annotation/types.d.ts.map +1 -0
  80. package/dist/src/ui/viewer/annotation/types.js +7 -0
  81. package/dist/src/ui/viewer/annotation/types.js.map +1 -0
  82. package/dist/src/ui/viewer/annotation/utils.d.ts +37 -0
  83. package/dist/src/ui/viewer/annotation/utils.d.ts.map +1 -0
  84. package/dist/src/ui/viewer/annotation/utils.js +82 -0
  85. package/dist/src/ui/viewer/annotation/utils.js.map +1 -0
  86. package/dist/src/ui/viewer/components/AnnotationPanel.d.ts +19 -0
  87. package/dist/src/ui/viewer/components/AnnotationPanel.d.ts.map +1 -0
  88. package/dist/src/ui/viewer/components/AnnotationPanel.js +284 -0
  89. package/dist/src/ui/viewer/components/AnnotationPanel.js.map +1 -0
  90. package/dist/src/ui/viewer/components/FloatingToolbar.d.ts +9 -0
  91. package/dist/src/ui/viewer/components/FloatingToolbar.d.ts.map +1 -0
  92. package/dist/src/ui/viewer/components/FloatingToolbar.js +305 -0
  93. package/dist/src/ui/viewer/components/FloatingToolbar.js.map +1 -0
  94. package/dist/src/ui/viewer/components/LeftPanel.d.ts +10 -0
  95. package/dist/src/ui/viewer/components/LeftPanel.d.ts.map +1 -0
  96. package/dist/src/ui/viewer/components/LeftPanel.js +165 -0
  97. package/dist/src/ui/viewer/components/LeftPanel.js.map +1 -0
  98. package/dist/src/ui/viewer/components/LoadingOverlay.d.ts +12 -0
  99. package/dist/src/ui/viewer/components/LoadingOverlay.d.ts.map +1 -0
  100. package/dist/src/ui/viewer/components/LoadingOverlay.js +88 -0
  101. package/dist/src/ui/viewer/components/LoadingOverlay.js.map +1 -0
  102. package/dist/src/ui/viewer/components/OutlinePanel.d.ts +10 -0
  103. package/dist/src/ui/viewer/components/OutlinePanel.d.ts.map +1 -0
  104. package/dist/src/ui/viewer/components/OutlinePanel.js +169 -0
  105. package/dist/src/ui/viewer/components/OutlinePanel.js.map +1 -0
  106. package/dist/src/ui/viewer/components/PasswordDialog.d.ts +15 -0
  107. package/dist/src/ui/viewer/components/PasswordDialog.d.ts.map +1 -0
  108. package/dist/src/ui/viewer/components/PasswordDialog.js +143 -0
  109. package/dist/src/ui/viewer/components/PasswordDialog.js.map +1 -0
  110. package/dist/src/ui/viewer/components/RightPanel.d.ts +9 -0
  111. package/dist/src/ui/viewer/components/RightPanel.d.ts.map +1 -0
  112. package/dist/src/ui/viewer/components/RightPanel.js +102 -0
  113. package/dist/src/ui/viewer/components/RightPanel.js.map +1 -0
  114. package/dist/src/ui/viewer/components/Spread.d.ts +43 -0
  115. package/dist/src/ui/viewer/components/Spread.d.ts.map +1 -0
  116. package/dist/src/ui/viewer/components/Spread.js +345 -0
  117. package/dist/src/ui/viewer/components/Spread.js.map +1 -0
  118. package/dist/src/ui/viewer/components/ThumbnailPanel.d.ts +11 -0
  119. package/dist/src/ui/viewer/components/ThumbnailPanel.d.ts.map +1 -0
  120. package/dist/src/ui/viewer/components/ThumbnailPanel.js +240 -0
  121. package/dist/src/ui/viewer/components/ThumbnailPanel.js.map +1 -0
  122. package/dist/src/ui/viewer/components/Toolbar.d.ts +9 -0
  123. package/dist/src/ui/viewer/components/Toolbar.d.ts.map +1 -0
  124. package/dist/src/ui/viewer/components/Toolbar.js +93 -0
  125. package/dist/src/ui/viewer/components/Toolbar.js.map +1 -0
  126. package/dist/src/ui/viewer/components/ViewModeMenu.d.ts +9 -0
  127. package/dist/src/ui/viewer/components/ViewModeMenu.d.ts.map +1 -0
  128. package/dist/src/ui/viewer/components/ViewModeMenu.js +169 -0
  129. package/dist/src/ui/viewer/components/ViewModeMenu.js.map +1 -0
  130. package/dist/src/ui/viewer/components/Viewport.d.ts +10 -0
  131. package/dist/src/ui/viewer/components/Viewport.d.ts.map +1 -0
  132. package/dist/src/ui/viewer/components/Viewport.js +1076 -0
  133. package/dist/src/ui/viewer/components/Viewport.js.map +1 -0
  134. package/dist/src/ui/viewer/effects.d.ts +8 -0
  135. package/dist/src/ui/viewer/effects.d.ts.map +1 -0
  136. package/dist/src/ui/viewer/effects.js +207 -0
  137. package/dist/src/ui/viewer/effects.js.map +1 -0
  138. package/dist/src/ui/viewer/icons.d.ts +32 -0
  139. package/dist/src/ui/viewer/icons.d.ts.map +1 -0
  140. package/dist/src/ui/viewer/icons.js +44 -0
  141. package/dist/src/ui/viewer/icons.js.map +1 -0
  142. package/dist/src/ui/viewer/index.d.ts +6 -0
  143. package/dist/src/ui/viewer/index.d.ts.map +1 -0
  144. package/dist/src/ui/viewer/index.js +6 -0
  145. package/dist/src/ui/viewer/index.js.map +1 -0
  146. package/dist/src/ui/viewer/layout/index.d.ts +3 -0
  147. package/dist/src/ui/viewer/layout/index.d.ts.map +1 -0
  148. package/dist/src/ui/viewer/layout/index.js +3 -0
  149. package/dist/src/ui/viewer/layout/index.js.map +1 -0
  150. package/dist/src/ui/viewer/layout/pixelAlign.d.ts +7 -0
  151. package/dist/src/ui/viewer/layout/pixelAlign.d.ts.map +1 -0
  152. package/dist/src/ui/viewer/layout/pixelAlign.js +22 -0
  153. package/dist/src/ui/viewer/layout/pixelAlign.js.map +1 -0
  154. package/dist/src/ui/viewer/layout/spreadLayout.d.ts +93 -0
  155. package/dist/src/ui/viewer/layout/spreadLayout.d.ts.map +1 -0
  156. package/dist/src/ui/viewer/layout/spreadLayout.js +315 -0
  157. package/dist/src/ui/viewer/layout/spreadLayout.js.map +1 -0
  158. package/dist/src/ui/viewer/navigation.d.ts +80 -0
  159. package/dist/src/ui/viewer/navigation.d.ts.map +1 -0
  160. package/dist/src/ui/viewer/navigation.js +59 -0
  161. package/dist/src/ui/viewer/navigation.js.map +1 -0
  162. package/dist/src/ui/viewer/reducer.d.ts +4 -0
  163. package/dist/src/ui/viewer/reducer.d.ts.map +1 -0
  164. package/dist/src/ui/viewer/reducer.js +317 -0
  165. package/dist/src/ui/viewer/reducer.js.map +1 -0
  166. package/dist/src/ui/viewer/shell.d.ts +34 -0
  167. package/dist/src/ui/viewer/shell.d.ts.map +1 -0
  168. package/dist/src/ui/viewer/shell.js +93 -0
  169. package/dist/src/ui/viewer/shell.js.map +1 -0
  170. package/dist/src/ui/viewer/state.d.ts +105 -0
  171. package/dist/src/ui/viewer/state.d.ts.map +1 -0
  172. package/dist/src/ui/viewer/state.js +65 -0
  173. package/dist/src/ui/viewer/state.js.map +1 -0
  174. package/dist/src/ui/viewer/styles-inline.d.ts +2 -0
  175. package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -0
  176. package/dist/src/ui/viewer/styles-inline.js +1584 -0
  177. package/dist/src/ui/viewer/styles-inline.js.map +1 -0
  178. package/dist/src/ui/viewer/text/index.d.ts +7 -0
  179. package/dist/src/ui/viewer/text/index.d.ts.map +1 -0
  180. package/dist/src/ui/viewer/text/index.js +3 -0
  181. package/dist/src/ui/viewer/text/index.js.map +1 -0
  182. package/dist/src/ui/viewer/text/render.d.ts +19 -0
  183. package/dist/src/ui/viewer/text/render.d.ts.map +1 -0
  184. package/dist/src/ui/viewer/text/render.js +228 -0
  185. package/dist/src/ui/viewer/text/render.js.map +1 -0
  186. package/dist/src/ui/viewer/text/selection.d.ts +12 -0
  187. package/dist/src/ui/viewer/text/selection.d.ts.map +1 -0
  188. package/dist/src/ui/viewer/text/selection.js +70 -0
  189. package/dist/src/ui/viewer/text/selection.js.map +1 -0
  190. package/dist/src/ui/viewer/text/types.d.ts +37 -0
  191. package/dist/src/ui/viewer/text/types.d.ts.map +1 -0
  192. package/dist/src/ui/viewer/text/types.js +7 -0
  193. package/dist/src/ui/viewer/text/types.js.map +1 -0
  194. package/dist/src/wasm/LICENSE +104 -0
  195. package/dist/src/wasm/udoc.d.ts +480 -0
  196. package/dist/src/wasm/udoc.js +1738 -0
  197. package/dist/src/wasm/udoc_bg.wasm +0 -0
  198. package/dist/src/wasm/udoc_bg.wasm.d.ts +45 -0
  199. package/dist/src/worker/WorkerClient.d.ts +335 -0
  200. package/dist/src/worker/WorkerClient.d.ts.map +1 -0
  201. package/dist/src/worker/WorkerClient.js +903 -0
  202. package/dist/src/worker/WorkerClient.js.map +1 -0
  203. package/dist/src/worker/index.d.ts +4 -0
  204. package/dist/src/worker/index.d.ts.map +1 -0
  205. package/dist/src/worker/index.js +2 -0
  206. package/dist/src/worker/index.js.map +1 -0
  207. package/dist/src/worker/worker.d.ts +437 -0
  208. package/dist/src/worker/worker.d.ts.map +1 -0
  209. package/dist/src/worker/worker.js +237 -0
  210. package/dist/src/worker/worker.js.map +1 -0
  211. package/package.json +1 -1
Binary file
@@ -0,0 +1,45 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export const memory: WebAssembly.Memory;
4
+ export const __wbg_udoc_free: (a: number, b: number) => void;
5
+ export const udoc_all_page_info: (a: number, b: number, c: number, d: number) => void;
6
+ export const udoc_authenticate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
7
+ export const udoc_document_count: (a: number) => number;
8
+ export const udoc_document_ids: (a: number, b: number) => void;
9
+ export const udoc_enableGoogleFonts: (a: number, b: number, c: number, d: number) => void;
10
+ export const udoc_getRequiredFonts: (a: number, b: number, c: number, d: number) => void;
11
+ export const udoc_get_all_annotations: (a: number, b: number, c: number, d: number) => void;
12
+ export const udoc_get_bytes: (a: number, b: number, c: number, d: number) => void;
13
+ export const udoc_get_limit: (a: number, b: number, c: number, d: bigint) => bigint;
14
+ export const udoc_get_outline: (a: number, b: number, c: number, d: number) => void;
15
+ export const udoc_get_page_annotations: (a: number, b: number, c: number, d: number, e: number) => void;
16
+ export const udoc_get_page_text: (a: number, b: number, c: number, d: number, e: number) => void;
17
+ export const udoc_hasRegisteredFont: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
18
+ export const udoc_has_document: (a: number, b: number, c: number) => number;
19
+ export const udoc_has_feature: (a: number, b: number, c: number) => number;
20
+ export const udoc_license_status: (a: number, b: number) => void;
21
+ export const udoc_load_image: (a: number, b: number, c: number, d: number) => void;
22
+ export const udoc_load_pdf: (a: number, b: number, c: number, d: number) => void;
23
+ export const udoc_load_pptx: (a: number, b: number, c: number, d: number) => void;
24
+ export const udoc_needs_password: (a: number, b: number, c: number, d: number) => void;
25
+ export const udoc_new: () => number;
26
+ export const udoc_page_count: (a: number, b: number, c: number, d: number) => void;
27
+ export const udoc_page_info: (a: number, b: number, c: number, d: number, e: number) => void;
28
+ export const udoc_page_layout: (a: number, b: number, c: number, d: number) => void;
29
+ export const udoc_pdf_compose: (a: number, b: number, c: number, d: number) => void;
30
+ export const udoc_pdf_compress: (a: number, b: number, c: number, d: number) => void;
31
+ export const udoc_pdf_decompress: (a: number, b: number, c: number, d: number) => void;
32
+ export const udoc_pdf_extract_fonts: (a: number, b: number, c: number, d: number) => void;
33
+ export const udoc_pdf_extract_images: (a: number, b: number, c: number, d: number, e: number) => void;
34
+ export const udoc_pdf_split_by_outline: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
35
+ export const udoc_registerFont: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
36
+ export const udoc_registeredFontCount: (a: number, b: number, c: number, d: number) => void;
37
+ export const udoc_remove_document: (a: number, b: number, c: number) => number;
38
+ export const udoc_render_page_to_png: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
39
+ export const udoc_render_page_to_rgba: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
40
+ export const udoc_set_license: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
41
+ export const __wbindgen_export: (a: number, b: number) => number;
42
+ export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
43
+ export const __wbindgen_export3: (a: number) => void;
44
+ export const __wbindgen_export4: (a: number, b: number, c: number) => void;
45
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Low-level client for communicating with the UDoc worker.
3
+ *
4
+ * Provides a Promise-based API for document operations.
5
+ * Also handles render queue, cache, and priority management.
6
+ * This is an internal API - use UDocClient for the public SDK.
7
+ */
8
+ import type { Composition, ComposePick, ExtractedFont, ExtractedImage, FontDescriptor, LicenseResult, OutlineSection, SplitByOutlineResult } from "./worker.js";
9
+ export type { Composition, ComposePick, ExtractedFont, ExtractedImage, FontDescriptor, OutlineSection, SplitByOutlineResult };
10
+ export type { LicenseResult };
11
+ export interface PageInfo {
12
+ width: number;
13
+ height: number;
14
+ /** Document rotation in degrees (0, 90, 180, or 270) */
15
+ rotation: 0 | 90 | 180 | 270;
16
+ }
17
+ export type RenderType = "page" | "thumbnail";
18
+ export interface RenderRequest {
19
+ docId: string;
20
+ page: number;
21
+ type: RenderType;
22
+ scale: number;
23
+ }
24
+ export interface RenderResult {
25
+ bitmap: ImageBitmap;
26
+ width: number;
27
+ height: number;
28
+ }
29
+ import type { IPerformanceCounter } from "../performance/index.js";
30
+ /**
31
+ * Generate a cache key for render requests.
32
+ * Uses toFixed(4) for scale to normalize floating-point variations.
33
+ * Exported so Spread component can use the same key format.
34
+ */
35
+ export declare function makeRenderKey(docId: string, page: number, type: RenderType, scale: number): string;
36
+ export declare class WorkerClient {
37
+ private worker;
38
+ private requestId;
39
+ private pending;
40
+ private pageRenderCache;
41
+ private thumbnailRenderCache;
42
+ private renderQueue;
43
+ private currentRender;
44
+ private maxPageCacheSize;
45
+ private maxThumbnailCacheSize;
46
+ private pageFocus;
47
+ private thumbnailFocus;
48
+ private performanceCounters;
49
+ private pageInfoCache;
50
+ private constructor();
51
+ /**
52
+ * Create a WorkerClient using the bundled worker.
53
+ * Uses a pattern that vite can statically analyze for proper bundling.
54
+ */
55
+ static create(): WorkerClient;
56
+ /**
57
+ * Create a WorkerClient with a custom worker URL.
58
+ * Use this when hosting worker files at a custom location.
59
+ */
60
+ static createWithUrl(workerUrl: string | URL): WorkerClient;
61
+ /**
62
+ * Initialize the WASM module.
63
+ */
64
+ init(wasmUrl?: string): Promise<void>;
65
+ /**
66
+ * Set the license key.
67
+ * @param license - The license key string
68
+ * @param domain - The current domain (from window.location.hostname)
69
+ * @returns License validation result
70
+ */
71
+ setLicense(license: string, domain: string): Promise<LicenseResult>;
72
+ /**
73
+ * Get current license status.
74
+ */
75
+ getLicenseStatus(): Promise<LicenseResult>;
76
+ /**
77
+ * Load a PDF document.
78
+ * @returns The document ID.
79
+ */
80
+ loadPdf(bytes: Uint8Array): Promise<string>;
81
+ /**
82
+ * Load an image file.
83
+ * Supports various formats: JPEG, PNG, GIF, BMP, TIFF, WebP, etc.
84
+ * Multi-page TIFF files will create a document with multiple pages.
85
+ * @returns The document ID.
86
+ */
87
+ loadImage(bytes: Uint8Array): Promise<string>;
88
+ /**
89
+ * Load a PPTX (PowerPoint) document.
90
+ * @returns The document ID.
91
+ */
92
+ loadPptx(bytes: Uint8Array): Promise<string>;
93
+ /**
94
+ * Unload a PDF document.
95
+ * @returns True if the document was removed.
96
+ */
97
+ unloadPdf(documentId: string): Promise<boolean>;
98
+ /**
99
+ * Check if a document requires a password to open.
100
+ * @returns True if the document needs authentication.
101
+ */
102
+ needsPassword(documentId: string): Promise<boolean>;
103
+ /**
104
+ * Authenticate with a password to unlock an encrypted document.
105
+ * @param documentId - The document ID
106
+ * @param password - The password to try
107
+ * @returns True if authentication succeeded, false if the password was incorrect.
108
+ */
109
+ authenticate(documentId: string, password: string): Promise<boolean>;
110
+ /**
111
+ * Get the page count of a document.
112
+ * Returns from cache if available.
113
+ */
114
+ getPageCount(documentId: string): Promise<number>;
115
+ /**
116
+ * Get info for a single page.
117
+ * Returns from cache if available (populated by getAllPageInfo).
118
+ */
119
+ getPageInfo(documentId: string, pageIndex: number): Promise<PageInfo>;
120
+ /**
121
+ * Get info for all pages in one call.
122
+ * Results are cached for subsequent calls.
123
+ */
124
+ getAllPageInfo(documentId: string): Promise<PageInfo[]>;
125
+ /**
126
+ * Get the page layout preference.
127
+ */
128
+ getPageLayout(documentId: string): Promise<string>;
129
+ /**
130
+ * Get the document outline.
131
+ */
132
+ getOutline(documentId: string): Promise<unknown[]>;
133
+ /**
134
+ * Get annotations for a specific page.
135
+ */
136
+ getPageAnnotations(documentId: string, pageIndex: number): Promise<unknown[]>;
137
+ /**
138
+ * Get text content for a specific page (for text selection).
139
+ */
140
+ getPageText(documentId: string, pageIndex: number): Promise<unknown[]>;
141
+ /**
142
+ * Get all annotations grouped by page.
143
+ */
144
+ getAllAnnotations(documentId: string): Promise<Record<string, unknown[]>>;
145
+ /**
146
+ * Compose new PDF documents by cherry-picking pages from source documents.
147
+ *
148
+ * @param compositions - Array of compositions. Each composition is an array of picks
149
+ * that will form one output document.
150
+ * @param docIds - Array of document IDs to use as sources (order matters for doc indices)
151
+ * @returns Array of new document IDs (one per composition)
152
+ */
153
+ pdfCompose(compositions: Composition[], docIds: string[]): Promise<string[]>;
154
+ /**
155
+ * Split a PDF document by its outline (bookmarks) structure.
156
+ *
157
+ * @param documentId - Document ID to split
158
+ * @param maxLevel - Maximum outline level to consider (1 = top level only)
159
+ * @param splitMidPage - When true, filters page content when sections share a page
160
+ * @returns Object with documentIds and sections
161
+ */
162
+ pdfSplitByOutline(documentId: string, maxLevel: number, splitMidPage?: boolean): Promise<SplitByOutlineResult>;
163
+ /**
164
+ * Extract all embedded images from a PDF document.
165
+ *
166
+ * @param documentId - Document ID to extract images from
167
+ * @param convertRawToPng - When true, converts raw pixel data to PNG format
168
+ * @returns Array of extracted images with metadata and data
169
+ */
170
+ pdfExtractImages(documentId: string, convertRawToPng?: boolean): Promise<ExtractedImage[]>;
171
+ /**
172
+ * Extract all embedded fonts from a PDF document.
173
+ *
174
+ * @param documentId - Document ID to extract fonts from
175
+ * @returns Array of extracted fonts with metadata and data
176
+ */
177
+ pdfExtractFonts(documentId: string): Promise<ExtractedFont[]>;
178
+ /**
179
+ * Compress a PDF document.
180
+ *
181
+ * Saves the document with full compression options enabled.
182
+ *
183
+ * @param documentId - Document ID to compress
184
+ * @returns Compressed PDF data
185
+ */
186
+ pdfCompress(documentId: string): Promise<Uint8Array>;
187
+ /**
188
+ * Decompress a PDF document.
189
+ *
190
+ * Removes all filter encodings from streams, resulting in raw,
191
+ * uncompressed stream data.
192
+ *
193
+ * @param documentId - Document ID to decompress
194
+ * @returns Decompressed PDF data
195
+ */
196
+ pdfDecompress(documentId: string): Promise<Uint8Array>;
197
+ /**
198
+ * Get the raw PDF bytes of a document.
199
+ */
200
+ getBytes(documentId: string): Promise<Uint8Array>;
201
+ /**
202
+ * Get all external fonts required by the document.
203
+ *
204
+ * Scans all text content in the document and returns font descriptors
205
+ * for fonts that are not embedded and not standard PDF fonts.
206
+ *
207
+ * @param documentId - Document ID
208
+ * @returns Array of font descriptors
209
+ */
210
+ getRequiredFonts(documentId: string): Promise<FontDescriptor[]>;
211
+ /**
212
+ * Register a font from raw bytes.
213
+ *
214
+ * @param documentId - Document ID
215
+ * @param typeface - The typeface name (must match what's in the document)
216
+ * @param bold - Whether this is a bold variant
217
+ * @param italic - Whether this is an italic variant
218
+ * @param bytes - Raw font file data (TTF, OTF, WOFF, or WOFF2)
219
+ */
220
+ registerFont(documentId: string, typeface: string, bold: boolean, italic: boolean, bytes: Uint8Array): Promise<void>;
221
+ /**
222
+ * Check if a font is registered for a document.
223
+ *
224
+ * @param documentId - Document ID
225
+ * @param typeface - The typeface name
226
+ * @param bold - Whether to check for bold variant
227
+ * @param italic - Whether to check for italic variant
228
+ * @returns True if the font is registered
229
+ */
230
+ hasRegisteredFont(documentId: string, typeface: string, bold: boolean, italic: boolean): Promise<boolean>;
231
+ /**
232
+ * Get the number of fonts registered for a document.
233
+ *
234
+ * @param documentId - Document ID
235
+ * @returns Number of registered fonts
236
+ */
237
+ registeredFontCount(documentId: string): Promise<number>;
238
+ /**
239
+ * Enable Google Fonts for a document.
240
+ *
241
+ * When enabled, fonts that are not embedded in the document will be
242
+ * automatically fetched from Google Fonts during rendering.
243
+ *
244
+ * This is an alternative to the `getRequiredFonts` + `registerFont` workflow.
245
+ * Instead of scanning all pages upfront, fonts are fetched on-demand as
246
+ * pages are rendered.
247
+ *
248
+ * @param documentId - Document ID
249
+ */
250
+ enableGoogleFonts(documentId: string): Promise<void>;
251
+ /**
252
+ * Set the performance counter for a document.
253
+ * All operations for this document will be tracked.
254
+ */
255
+ setPerformanceCounter(docId: string, counter: IPerformanceCounter): void;
256
+ /**
257
+ * Remove the performance counter for a document.
258
+ */
259
+ removePerformanceCounter(docId: string): void;
260
+ private getCounter;
261
+ private getCache;
262
+ private getMaxCacheSize;
263
+ /**
264
+ * Request a render. Returns cached result if available,
265
+ * otherwise queues the request.
266
+ *
267
+ * When a new request is queued, it cancels any existing queued requests
268
+ * for the same page index and render type (but not in-flight requests).
269
+ */
270
+ requestRender(req: RenderRequest): Promise<RenderResult>;
271
+ /**
272
+ * Cancel queued requests for a specific page (within the same render type).
273
+ * Does not cancel in-flight requests.
274
+ */
275
+ private cancelQueuedRequestsForPage;
276
+ /**
277
+ * Get a cached result without queuing a render.
278
+ */
279
+ getCachedRender(docId: string, page: number, type: RenderType, scale: number): RenderResult | null;
280
+ /**
281
+ * Cancel pending render requests matching criteria.
282
+ * Does not cancel in-flight requests.
283
+ */
284
+ cancelRenders(docId?: string, page?: number, type?: RenderType): void;
285
+ /**
286
+ * Invalidate cache entries. Call when document or zoom changes.
287
+ */
288
+ invalidateRenderCache(docId?: string, type?: RenderType): void;
289
+ /**
290
+ * Sort page render requests in the queue by distance to the focused page.
291
+ * Updates the page focus and re-sorts the queue.
292
+ */
293
+ boostPageRenderPriority(docId: string, focusPage: number): void;
294
+ /**
295
+ * Sort thumbnail render requests in the queue by distance to the focused thumbnail.
296
+ * Updates the thumbnail focus and re-sorts the queue.
297
+ */
298
+ boostThumbnailRenderPriority(docId: string, focusPage: number): void;
299
+ private static readonly PRERENDER_RANGE;
300
+ /**
301
+ * Prerender adjacent pages for smooth page flipping in single spread mode.
302
+ * Queues renders for pages before and after the current page (fire and forget).
303
+ * Boosts current page priority so it renders first during rapid flipping.
304
+ */
305
+ prerenderAdjacentPages(docId: string, currentPage: number, scale: number, totalPages: number): void;
306
+ /**
307
+ * Render a page directly, bypassing the cache and queue.
308
+ * Useful for one-off renders that shouldn't affect the normal render flow.
309
+ */
310
+ forceRender(req: RenderRequest): Promise<RenderResult>;
311
+ private static readonly BOOST_RANGE;
312
+ /**
313
+ * Sort requests by boost priority using stored page and thumbnail focuses.
314
+ * Order: boosted pages -> boosted thumbnails -> normal pages -> normal thumbnails.
315
+ * "Boosted" means within BOOST_RANGE of the respective focus.
316
+ * Within each group, sorted by distance to respective focus.
317
+ */
318
+ private sortQueue;
319
+ /**
320
+ * Clean up render resources.
321
+ */
322
+ destroyRenderResources(): void;
323
+ private processRenderQueue;
324
+ private doRender;
325
+ private addToRenderCache;
326
+ private evictLRU;
327
+ /**
328
+ * Terminate the worker.
329
+ */
330
+ terminate(): void;
331
+ private send;
332
+ private handleMessage;
333
+ private handleError;
334
+ }
335
+ //# sourceMappingURL=WorkerClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerClient.d.ts","sourceRoot":"","sources":["../../../src/worker/WorkerClient.ts"],"names":[],"mappings":"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"}