@docmentis/udoc-viewer 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/text/render.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;GAWG;AACH,SAAS,kBAAkB,CAAC,IAAoB;IAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAElC,yDAAyD;IACzD,MAAM,WAAW,GACf,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IASnE,MAAM,SAAS,GAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC;QAC1E,OAAO;YACL,GAAG;YACH,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,6CAA6C;IAC7C,MAAM,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAEpE,kDAAkD;IAClD,mEAAmE;IACnE,MAAM,kBAAkB,GAAG,WAAW,GAAG,CAAC,CAAC;IAS3C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,iDAAiD;QACjD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,2DAA2D;YAC3D,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG,kBAAkB;gBACzC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,GAAG,kBAAkB,CAAC;YAC3D,IAAI,QAAQ,EAAE,CAAC;gBACb,kCAAkC;gBAClC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBACvC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBAC1C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACtB,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,oBAAoB;YACpB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;aACf,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAExC,4EAA4E;IAC5E,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;YACzE,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,aAAa,EAAE,CAAC;gBACpC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAqB,EACrB,QAAmB,EACnB,KAAa,EACb,WAAmB;IAEnB,gDAAgD;IAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,6DAA6D;IAC7D,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEnD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QAEpC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CACxE,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAC/B,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CACxE,CAAC;QAEF,MAAM,cAAc,GAAG,QAAQ,GAAG,eAAe,GAAG,KAAK,CAAC;QAC1D,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QACvC,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAEvC,aAAa,CAAC,IAAI,CAAC;YACjB,GAAG;YACH,CAAC;YACD,CAAC;YACD,cAAc;YACd,eAAe;YACf,eAAe;YACf,WAAW,EAAE,KAAK,EAAE,+BAA+B;YACnD,UAAU,EAAE,cAAc,EAAE,oCAAoC;SACjE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,gDAAgD;IAChD,uDAAuD;IACvD,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAErD,0CAA0C;IAC1C,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IAElC,oEAAoE;IACpE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC;QAEnD,6DAA6D;QAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC;YAClD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC3B,6CAA6C;YAC7C,wEAAwE;YACxE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YACnD,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;YACvC,gDAAgD;YAChD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,sDAAsD;IACtD,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC;IAElD,kFAAkF;IAClF,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC/C,uDAAuD;YACvD,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC;YAC3C,CAAC;YACD,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;IAEnD,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;QACpF,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QAElC,gCAAgC;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAClC,uEAAuE;QACvE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpD,sDAAsD;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,MAAM,oBAAoB,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;QAC7D,MAAM,WAAW,GAAG,oBAAoB,GAAG,eAAe,GAAG,KAAK,CAAC;QAEnE,WAAW;QACX,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QACvC,MAAM,MAAM,GAAG,cAAc,GAAG,GAAG,CAAC;QACpC,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;QAEhD,0CAA0C;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9E,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,cAAc,IAAI,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,kBAAkB;QACjD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC,CAAC,wBAAwB;QAE/D,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEhC,wEAAwE;IACxE,oFAAoF;IACpF,4EAA4E;IAC5E,mDAAmD;IACnD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,+DAA+D;QAC/D,MAAM,YAAY,GAAa,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACrD,CAAC;QAED,+EAA+E;QAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAErC,IAAI,YAAY,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;gBAE1C,MAAM,UAAU,GAAa,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;oBACjC,UAAU,CAAC,IAAI,CAAC,UAAU,MAAM,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;oBAC1B,UAAU,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;gBACzC,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -135,6 +135,36 @@ export class UDoc {
135
135
  * - `transform`: Combined transform matrix
136
136
  */
137
137
  get_page_text(id: string, page_index: number): any;
138
+ /**
139
+ * Register a font from raw bytes.
140
+ *
141
+ * Use this to register external fonts (e.g., fetched from Google Fonts)
142
+ * so they can be used for document rendering.
143
+ *
144
+ * # Arguments
145
+ * * `id` - Document ID
146
+ * * `typeface` - The typeface name (must match what's in the document)
147
+ * * `bold` - Whether this is a bold variant
148
+ * * `italic` - Whether this is an italic variant
149
+ * * `bytes` - Raw font file data (TTF, OTF, WOFF, or WOFF2)
150
+ *
151
+ * # Example (JavaScript)
152
+ * ```js
153
+ * // Get required fonts
154
+ * const fonts = udoc.getRequiredFonts(docId);
155
+ *
156
+ * // Fetch and register each font
157
+ * for (const font of fonts) {
158
+ * const url = `https://fonts.googleapis.com/css2?family=${font.typeface}`;
159
+ * const fontBytes = await fetchFontBytes(url, font.bold, font.italic);
160
+ * udoc.registerFont(docId, font.typeface, font.bold, font.italic, fontBytes);
161
+ * }
162
+ *
163
+ * // Now render with the registered fonts
164
+ * const pixels = udoc.renderPageToRgba(docId, 0, 800, 600);
165
+ * ```
166
+ */
167
+ registerFont(id: string, typeface: string, bold: boolean, italic: boolean, bytes: Uint8Array): void;
138
168
  /**
139
169
  * Get current license status.
140
170
  */
@@ -179,6 +209,43 @@ export class UDoc {
179
209
  * - `data`: Raw font data as Uint8Array
180
210
  */
181
211
  pdf_extract_fonts(doc_id: string): any;
212
+ /**
213
+ * Get all external fonts required by the document.
214
+ *
215
+ * This scans all text content in loaded pages and returns font descriptors
216
+ * for fonts that are:
217
+ * - Not embedded in the document
218
+ * - Not standard PDF fonts (Helvetica, Times, Courier, etc.)
219
+ *
220
+ * Use this to determine which fonts need to be fetched from external sources
221
+ * (e.g., Google Fonts) before rendering.
222
+ *
223
+ * Note: This only scans pages that have been loaded. Call appropriate loading
224
+ * methods first to ensure the pages you need are scanned.
225
+ *
226
+ * # Arguments
227
+ * * `id` - Document ID
228
+ *
229
+ * # Returns
230
+ * Array of font descriptors: `[{ typeface: "Roboto", bold: false, italic: false }, ...]`
231
+ *
232
+ * # Example (JavaScript)
233
+ * ```js
234
+ * // Load document
235
+ * const docId = udoc.loadPdf(pdfBytes);
236
+ *
237
+ * // Load all pages to scan for fonts
238
+ * const pageCount = udoc.pageCount(docId);
239
+ * for (let i = 0; i < pageCount; i++) {
240
+ * udoc.renderPageToRgba(docId, i, 1, 1); // Minimal render to load page
241
+ * }
242
+ *
243
+ * // Get required fonts
244
+ * const fonts = udoc.getRequiredFonts(docId);
245
+ * // fonts: [{ typeface: "Roboto", bold: false, italic: false }, ...]
246
+ * ```
247
+ */
248
+ getRequiredFonts(id: string): any;
182
249
  /**
183
250
  * Extract all embedded images from a PDF document.
184
251
  *
@@ -214,6 +281,19 @@ export class UDoc {
214
281
  * Returns an object mapping page indices (as strings) to arrays of annotations.
215
282
  */
216
283
  get_all_annotations(id: string): any;
284
+ /**
285
+ * Check if a font is registered for a document.
286
+ *
287
+ * # Arguments
288
+ * * `id` - Document ID
289
+ * * `typeface` - The typeface name
290
+ * * `bold` - Whether to check for bold variant
291
+ * * `italic` - Whether to check for italic variant
292
+ *
293
+ * # Returns
294
+ * `true` if the font is registered, `false` otherwise.
295
+ */
296
+ hasRegisteredFont(id: string, typeface: string, bold: boolean, italic: boolean): boolean;
217
297
  /**
218
298
  * Render a page to raw RGBA pixel data.
219
299
  *
@@ -253,6 +333,16 @@ export class UDoc {
253
333
  * - `sections`: Array of section info objects with `title`, `startPage`, `level`
254
334
  */
255
335
  pdf_split_by_outline(doc_id: string, max_level: number, split_mid_page: boolean): any;
336
+ /**
337
+ * Get the number of fonts registered for a document.
338
+ *
339
+ * # Arguments
340
+ * * `id` - Document ID
341
+ *
342
+ * # Returns
343
+ * The number of registered fonts.
344
+ */
345
+ registeredFontCount(id: string): number;
256
346
  /**
257
347
  * Create a new document viewer.
258
348
  */
@@ -280,6 +370,16 @@ export class UDoc {
280
370
  * Returns the limit value if set in the license, otherwise returns the default.
281
371
  */
282
372
  get_limit(limit_name: string, _default: bigint): bigint;
373
+ /**
374
+ * Load a PPTX (PowerPoint) document and return its ID.
375
+ *
376
+ * # Arguments
377
+ * * `bytes` - Raw PPTX file data
378
+ *
379
+ * # Returns
380
+ * A unique document ID that can be used to reference this document.
381
+ */
382
+ load_pptx(bytes: Uint8Array): string;
283
383
  /**
284
384
  * Get info for a specific page.
285
385
  */
@@ -299,17 +399,20 @@ export interface InitOutput {
299
399
  readonly udoc_authenticate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
300
400
  readonly udoc_document_count: (a: number) => number;
301
401
  readonly udoc_document_ids: (a: number, b: number) => void;
402
+ readonly udoc_getRequiredFonts: (a: number, b: number, c: number, d: number) => void;
302
403
  readonly udoc_get_all_annotations: (a: number, b: number, c: number, d: number) => void;
303
404
  readonly udoc_get_bytes: (a: number, b: number, c: number, d: number) => void;
304
405
  readonly udoc_get_limit: (a: number, b: number, c: number, d: bigint) => bigint;
305
406
  readonly udoc_get_outline: (a: number, b: number, c: number, d: number) => void;
306
407
  readonly udoc_get_page_annotations: (a: number, b: number, c: number, d: number, e: number) => void;
307
408
  readonly udoc_get_page_text: (a: number, b: number, c: number, d: number, e: number) => void;
409
+ readonly udoc_hasRegisteredFont: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
308
410
  readonly udoc_has_document: (a: number, b: number, c: number) => number;
309
411
  readonly udoc_has_feature: (a: number, b: number, c: number) => number;
310
412
  readonly udoc_license_status: (a: number, b: number) => void;
311
413
  readonly udoc_load_image: (a: number, b: number, c: number, d: number) => void;
312
414
  readonly udoc_load_pdf: (a: number, b: number, c: number, d: number) => void;
415
+ readonly udoc_load_pptx: (a: number, b: number, c: number, d: number) => void;
313
416
  readonly udoc_needs_password: (a: number, b: number, c: number, d: number) => void;
314
417
  readonly udoc_new: () => number;
315
418
  readonly udoc_page_count: (a: number, b: number, c: number, d: number) => void;
@@ -321,6 +424,8 @@ export interface InitOutput {
321
424
  readonly udoc_pdf_extract_fonts: (a: number, b: number, c: number, d: number) => void;
322
425
  readonly udoc_pdf_extract_images: (a: number, b: number, c: number, d: number, e: number) => void;
323
426
  readonly udoc_pdf_split_by_outline: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
427
+ readonly udoc_registerFont: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
428
+ readonly udoc_registeredFontCount: (a: number, b: number, c: number, d: number) => void;
324
429
  readonly udoc_remove_document: (a: number, b: number, c: number) => number;
325
430
  readonly udoc_render_page_to_png: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
326
431
  readonly udoc_render_page_to_rgba: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
@@ -599,6 +599,59 @@ export class UDoc {
599
599
  wasm.__wbindgen_add_to_stack_pointer(16);
600
600
  }
601
601
  }
602
+ /**
603
+ * Register a font from raw bytes.
604
+ *
605
+ * Use this to register external fonts (e.g., fetched from Google Fonts)
606
+ * so they can be used for document rendering.
607
+ *
608
+ * # Arguments
609
+ * * `id` - Document ID
610
+ * * `typeface` - The typeface name (must match what's in the document)
611
+ * * `bold` - Whether this is a bold variant
612
+ * * `italic` - Whether this is an italic variant
613
+ * * `bytes` - Raw font file data (TTF, OTF, WOFF, or WOFF2)
614
+ *
615
+ * # Example (JavaScript)
616
+ * ```js
617
+ * // Get required fonts
618
+ * const fonts = udoc.getRequiredFonts(docId);
619
+ *
620
+ * // Fetch and register each font
621
+ * for (const font of fonts) {
622
+ * const url = `https://fonts.googleapis.com/css2?family=${font.typeface}`;
623
+ * const fontBytes = await fetchFontBytes(url, font.bold, font.italic);
624
+ * udoc.registerFont(docId, font.typeface, font.bold, font.italic, fontBytes);
625
+ * }
626
+ *
627
+ * // Now render with the registered fonts
628
+ * const pixels = udoc.renderPageToRgba(docId, 0, 800, 600);
629
+ * ```
630
+ * @param {string} id
631
+ * @param {string} typeface
632
+ * @param {boolean} bold
633
+ * @param {boolean} italic
634
+ * @param {Uint8Array} bytes
635
+ */
636
+ registerFont(id, typeface, bold, italic, bytes) {
637
+ try {
638
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
639
+ const ptr0 = passStringToWasm0(id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
640
+ const len0 = WASM_VECTOR_LEN;
641
+ const ptr1 = passStringToWasm0(typeface, wasm.__wbindgen_export, wasm.__wbindgen_export2);
642
+ const len1 = WASM_VECTOR_LEN;
643
+ const ptr2 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
644
+ const len2 = WASM_VECTOR_LEN;
645
+ wasm.udoc_registerFont(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, bold, italic, ptr2, len2);
646
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
647
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
648
+ if (r1) {
649
+ throw takeObject(r0);
650
+ }
651
+ } finally {
652
+ wasm.__wbindgen_add_to_stack_pointer(16);
653
+ }
654
+ }
602
655
  /**
603
656
  * Get the number of documents currently loaded.
604
657
  * @returns {number}
@@ -730,6 +783,61 @@ export class UDoc {
730
783
  wasm.__wbindgen_add_to_stack_pointer(16);
731
784
  }
732
785
  }
786
+ /**
787
+ * Get all external fonts required by the document.
788
+ *
789
+ * This scans all text content in loaded pages and returns font descriptors
790
+ * for fonts that are:
791
+ * - Not embedded in the document
792
+ * - Not standard PDF fonts (Helvetica, Times, Courier, etc.)
793
+ *
794
+ * Use this to determine which fonts need to be fetched from external sources
795
+ * (e.g., Google Fonts) before rendering.
796
+ *
797
+ * Note: This only scans pages that have been loaded. Call appropriate loading
798
+ * methods first to ensure the pages you need are scanned.
799
+ *
800
+ * # Arguments
801
+ * * `id` - Document ID
802
+ *
803
+ * # Returns
804
+ * Array of font descriptors: `[{ typeface: "Roboto", bold: false, italic: false }, ...]`
805
+ *
806
+ * # Example (JavaScript)
807
+ * ```js
808
+ * // Load document
809
+ * const docId = udoc.loadPdf(pdfBytes);
810
+ *
811
+ * // Load all pages to scan for fonts
812
+ * const pageCount = udoc.pageCount(docId);
813
+ * for (let i = 0; i < pageCount; i++) {
814
+ * udoc.renderPageToRgba(docId, i, 1, 1); // Minimal render to load page
815
+ * }
816
+ *
817
+ * // Get required fonts
818
+ * const fonts = udoc.getRequiredFonts(docId);
819
+ * // fonts: [{ typeface: "Roboto", bold: false, italic: false }, ...]
820
+ * ```
821
+ * @param {string} id
822
+ * @returns {any}
823
+ */
824
+ getRequiredFonts(id) {
825
+ try {
826
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
827
+ const ptr0 = passStringToWasm0(id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
828
+ const len0 = WASM_VECTOR_LEN;
829
+ wasm.udoc_getRequiredFonts(retptr, this.__wbg_ptr, ptr0, len0);
830
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
831
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
832
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
833
+ if (r2) {
834
+ throw takeObject(r1);
835
+ }
836
+ return takeObject(r0);
837
+ } finally {
838
+ wasm.__wbindgen_add_to_stack_pointer(16);
839
+ }
840
+ }
733
841
  /**
734
842
  * Extract all embedded images from a PDF document.
735
843
  *
@@ -826,6 +934,42 @@ export class UDoc {
826
934
  wasm.__wbindgen_add_to_stack_pointer(16);
827
935
  }
828
936
  }
937
+ /**
938
+ * Check if a font is registered for a document.
939
+ *
940
+ * # Arguments
941
+ * * `id` - Document ID
942
+ * * `typeface` - The typeface name
943
+ * * `bold` - Whether to check for bold variant
944
+ * * `italic` - Whether to check for italic variant
945
+ *
946
+ * # Returns
947
+ * `true` if the font is registered, `false` otherwise.
948
+ * @param {string} id
949
+ * @param {string} typeface
950
+ * @param {boolean} bold
951
+ * @param {boolean} italic
952
+ * @returns {boolean}
953
+ */
954
+ hasRegisteredFont(id, typeface, bold, italic) {
955
+ try {
956
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
957
+ const ptr0 = passStringToWasm0(id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
958
+ const len0 = WASM_VECTOR_LEN;
959
+ const ptr1 = passStringToWasm0(typeface, wasm.__wbindgen_export, wasm.__wbindgen_export2);
960
+ const len1 = WASM_VECTOR_LEN;
961
+ wasm.udoc_hasRegisteredFont(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, bold, italic);
962
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
963
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
964
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
965
+ if (r2) {
966
+ throw takeObject(r1);
967
+ }
968
+ return r0 !== 0;
969
+ } finally {
970
+ wasm.__wbindgen_add_to_stack_pointer(16);
971
+ }
972
+ }
829
973
  /**
830
974
  * Render a page to raw RGBA pixel data.
831
975
  *
@@ -928,6 +1072,34 @@ export class UDoc {
928
1072
  wasm.__wbindgen_add_to_stack_pointer(16);
929
1073
  }
930
1074
  }
1075
+ /**
1076
+ * Get the number of fonts registered for a document.
1077
+ *
1078
+ * # Arguments
1079
+ * * `id` - Document ID
1080
+ *
1081
+ * # Returns
1082
+ * The number of registered fonts.
1083
+ * @param {string} id
1084
+ * @returns {number}
1085
+ */
1086
+ registeredFontCount(id) {
1087
+ try {
1088
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1089
+ const ptr0 = passStringToWasm0(id, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1090
+ const len0 = WASM_VECTOR_LEN;
1091
+ wasm.udoc_registeredFontCount(retptr, this.__wbg_ptr, ptr0, len0);
1092
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1093
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1094
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1095
+ if (r2) {
1096
+ throw takeObject(r1);
1097
+ }
1098
+ return r0 >>> 0;
1099
+ } finally {
1100
+ wasm.__wbindgen_add_to_stack_pointer(16);
1101
+ }
1102
+ }
931
1103
  /**
932
1104
  * Create a new document viewer.
933
1105
  */
@@ -1016,6 +1188,43 @@ export class UDoc {
1016
1188
  const ret = wasm.udoc_get_limit(this.__wbg_ptr, ptr0, len0, _default);
1017
1189
  return BigInt.asUintN(64, ret);
1018
1190
  }
1191
+ /**
1192
+ * Load a PPTX (PowerPoint) document and return its ID.
1193
+ *
1194
+ * # Arguments
1195
+ * * `bytes` - Raw PPTX file data
1196
+ *
1197
+ * # Returns
1198
+ * A unique document ID that can be used to reference this document.
1199
+ * @param {Uint8Array} bytes
1200
+ * @returns {string}
1201
+ */
1202
+ load_pptx(bytes) {
1203
+ let deferred3_0;
1204
+ let deferred3_1;
1205
+ try {
1206
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1207
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
1208
+ const len0 = WASM_VECTOR_LEN;
1209
+ wasm.udoc_load_pptx(retptr, this.__wbg_ptr, ptr0, len0);
1210
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1211
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1212
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1213
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1214
+ var ptr2 = r0;
1215
+ var len2 = r1;
1216
+ if (r3) {
1217
+ ptr2 = 0; len2 = 0;
1218
+ throw takeObject(r2);
1219
+ }
1220
+ deferred3_0 = ptr2;
1221
+ deferred3_1 = len2;
1222
+ return getStringFromWasm0(ptr2, len2);
1223
+ } finally {
1224
+ wasm.__wbindgen_add_to_stack_pointer(16);
1225
+ wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);
1226
+ }
1227
+ }
1019
1228
  /**
1020
1229
  * Get info for a specific page.
1021
1230
  * @param {string} id
Binary file
@@ -6,17 +6,20 @@ export const udoc_all_page_info: (a: number, b: number, c: number, d: number) =>
6
6
  export const udoc_authenticate: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
7
7
  export const udoc_document_count: (a: number) => number;
8
8
  export const udoc_document_ids: (a: number, b: number) => void;
9
+ export const udoc_getRequiredFonts: (a: number, b: number, c: number, d: number) => void;
9
10
  export const udoc_get_all_annotations: (a: number, b: number, c: number, d: number) => void;
10
11
  export const udoc_get_bytes: (a: number, b: number, c: number, d: number) => void;
11
12
  export const udoc_get_limit: (a: number, b: number, c: number, d: bigint) => bigint;
12
13
  export const udoc_get_outline: (a: number, b: number, c: number, d: number) => void;
13
14
  export const udoc_get_page_annotations: (a: number, b: number, c: number, d: number, e: number) => void;
14
15
  export const udoc_get_page_text: (a: number, b: number, c: number, d: number, e: number) => void;
16
+ export const udoc_hasRegisteredFont: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
15
17
  export const udoc_has_document: (a: number, b: number, c: number) => number;
16
18
  export const udoc_has_feature: (a: number, b: number, c: number) => number;
17
19
  export const udoc_license_status: (a: number, b: number) => void;
18
20
  export const udoc_load_image: (a: number, b: number, c: number, d: number) => void;
19
21
  export const udoc_load_pdf: (a: number, b: number, c: number, d: number) => void;
22
+ export const udoc_load_pptx: (a: number, b: number, c: number, d: number) => void;
20
23
  export const udoc_needs_password: (a: number, b: number, c: number, d: number) => void;
21
24
  export const udoc_new: () => number;
22
25
  export const udoc_page_count: (a: number, b: number, c: number, d: number) => void;
@@ -28,6 +31,8 @@ export const udoc_pdf_decompress: (a: number, b: number, c: number, d: number) =
28
31
  export const udoc_pdf_extract_fonts: (a: number, b: number, c: number, d: number) => void;
29
32
  export const udoc_pdf_extract_images: (a: number, b: number, c: number, d: number, e: number) => void;
30
33
  export const udoc_pdf_split_by_outline: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
34
+ 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;
35
+ export const udoc_registeredFontCount: (a: number, b: number, c: number, d: number) => void;
31
36
  export const udoc_remove_document: (a: number, b: number, c: number) => number;
32
37
  export const udoc_render_page_to_png: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
33
38
  export const udoc_render_page_to_rgba: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
@@ -5,8 +5,8 @@
5
5
  * Also handles render queue, cache, and priority management.
6
6
  * This is an internal API - use UDocClient for the public SDK.
7
7
  */
8
- import type { Composition, ComposePick, ExtractedFont, ExtractedImage, LicenseResult, OutlineSection, SplitByOutlineResult } from "./worker.js";
9
- export type { Composition, ComposePick, ExtractedFont, ExtractedImage, OutlineSection, SplitByOutlineResult };
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
10
  export type { LicenseResult };
11
11
  export interface PageInfo {
12
12
  width: number;
@@ -85,6 +85,11 @@ export declare class WorkerClient {
85
85
  * @returns The document ID.
86
86
  */
87
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>;
88
93
  /**
89
94
  * Unload a PDF document.
90
95
  * @returns True if the document was removed.
@@ -193,6 +198,43 @@ export declare class WorkerClient {
193
198
  * Get the raw PDF bytes of a document.
194
199
  */
195
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>;
196
238
  /**
197
239
  * Set the performance counter for a document.
198
240
  * All operations for this document will be tracked.
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerClient.d.ts","sourceRoot":"","sources":["../../../src/worker/WorkerClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkerClient.d.ts","sourceRoot":"","sources":["../../../src/worker/WorkerClient.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,18 @@ export class WorkerClient {
102
102
  }));
103
103
  return response.documentId;
104
104
  }
105
+ /**
106
+ * Load a PPTX (PowerPoint) document.
107
+ * @returns The document ID.
108
+ */
109
+ async loadPptx(bytes) {
110
+ const response = (await this.send({
111
+ type: "loadPptx",
112
+ id: "", // Not used, will be assigned by worker
113
+ bytes,
114
+ }));
115
+ return response.documentId;
116
+ }
105
117
  /**
106
118
  * Unload a PDF document.
107
119
  * @returns True if the document was removed.
@@ -363,6 +375,57 @@ export class WorkerClient {
363
375
  return response.bytes;
364
376
  }
365
377
  // ===========================================================================
378
+ // Font Management
379
+ // ===========================================================================
380
+ /**
381
+ * Get all external fonts required by the document.
382
+ *
383
+ * Scans all text content in the document and returns font descriptors
384
+ * for fonts that are not embedded and not standard PDF fonts.
385
+ *
386
+ * @param documentId - Document ID
387
+ * @returns Array of font descriptors
388
+ */
389
+ async getRequiredFonts(documentId) {
390
+ const response = (await this.send({ type: "getRequiredFonts", documentId }));
391
+ return response.fonts;
392
+ }
393
+ /**
394
+ * Register a font from raw bytes.
395
+ *
396
+ * @param documentId - Document ID
397
+ * @param typeface - The typeface name (must match what's in the document)
398
+ * @param bold - Whether this is a bold variant
399
+ * @param italic - Whether this is an italic variant
400
+ * @param bytes - Raw font file data (TTF, OTF, WOFF, or WOFF2)
401
+ */
402
+ async registerFont(documentId, typeface, bold, italic, bytes) {
403
+ await this.send({ type: "registerFont", documentId, typeface, bold, italic, bytes });
404
+ }
405
+ /**
406
+ * Check if a font is registered for a document.
407
+ *
408
+ * @param documentId - Document ID
409
+ * @param typeface - The typeface name
410
+ * @param bold - Whether to check for bold variant
411
+ * @param italic - Whether to check for italic variant
412
+ * @returns True if the font is registered
413
+ */
414
+ async hasRegisteredFont(documentId, typeface, bold, italic) {
415
+ const response = (await this.send({ type: "hasRegisteredFont", documentId, typeface, bold, italic }));
416
+ return response.hasFont;
417
+ }
418
+ /**
419
+ * Get the number of fonts registered for a document.
420
+ *
421
+ * @param documentId - Document ID
422
+ * @returns Number of registered fonts
423
+ */
424
+ async registeredFontCount(documentId) {
425
+ const response = (await this.send({ type: "registeredFontCount", documentId }));
426
+ return response.count;
427
+ }
428
+ // ===========================================================================
366
429
  // Performance Counter Integration
367
430
  // ===========================================================================
368
431
  /**