docxodus 3.5.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import type { ConversionOptions, CompareOptions, Revision, VersionInfo, ErrorResponse, CompareResult, GetRevisionsOptions, FormatChangeDetails } from "./types.js";
2
- import { CommentRenderMode, PaginationMode, RevisionType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange } from "./types.js";
1
+ import type { ConversionOptions, CompareOptions, Revision, VersionInfo, ErrorResponse, CompareResult, GetRevisionsOptions, FormatChangeDetails, Annotation, AddAnnotationRequest, AddAnnotationResponse, RemoveAnnotationResponse, AnnotationOptions, DocumentStructure, DocumentElement, TableColumnInfo, AnnotationTarget, AddAnnotationWithTargetRequest } from "./types.js";
2
+ import { CommentRenderMode, PaginationMode, AnnotationLabelMode, RevisionType, DocumentElementType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange, findElementById, findElementsByType, getParagraphs, getTables, getTableColumns, targetElement, targetParagraph, targetParagraphRange, targetRun, targetTable, targetTableRow, targetTableCell, targetTableColumn, targetSearch, targetSearchInElement } from "./types.js";
3
3
  export type { PageDimensions, MeasuredBlock, PageInfo, PaginationResult, PaginationOptions, } from "./pagination.js";
4
4
  export { PaginationEngine, paginateHtml } from "./pagination.js";
5
- export type { ConversionOptions, CompareOptions, Revision, VersionInfo, ErrorResponse, CompareResult, GetRevisionsOptions, FormatChangeDetails, };
6
- export { CommentRenderMode, PaginationMode, RevisionType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange, };
5
+ export type { ConversionOptions, CompareOptions, Revision, VersionInfo, ErrorResponse, CompareResult, GetRevisionsOptions, FormatChangeDetails, Annotation, AddAnnotationRequest, AddAnnotationResponse, RemoveAnnotationResponse, AnnotationOptions, DocumentStructure, DocumentElement, TableColumnInfo, AnnotationTarget, AddAnnotationWithTargetRequest, };
6
+ export { CommentRenderMode, PaginationMode, AnnotationLabelMode, RevisionType, DocumentElementType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange, findElementById, findElementsByType, getParagraphs, getTables, getTableColumns, targetElement, targetParagraph, targetParagraphRange, targetRun, targetTable, targetTableRow, targetTableCell, targetTableColumn, targetSearch, targetSearchInElement, };
7
7
  /**
8
8
  * Current base path for WASM files.
9
9
  * Empty string means auto-detect from module URL.
@@ -46,6 +46,12 @@ export declare function initialize(basePath?: string): Promise<void>;
46
46
  * paginationMode: PaginationMode.Paginated,
47
47
  * paginationScale: 0.8
48
48
  * });
49
+ *
50
+ * // With annotations rendered
51
+ * const html = await convertDocxToHtml(docxFile, {
52
+ * renderAnnotations: true,
53
+ * annotationLabelMode: AnnotationLabelMode.Above
54
+ * });
49
55
  * ```
50
56
  */
51
57
  export declare function convertDocxToHtml(document: File | Uint8Array, options?: ConversionOptions): Promise<string>;
@@ -103,4 +109,170 @@ export declare function getVersion(): VersionInfo;
103
109
  * Check if the WASM runtime is initialized.
104
110
  */
105
111
  export declare function isInitialized(): boolean;
112
+ /**
113
+ * Get all annotations from a document.
114
+ *
115
+ * @param document - DOCX file as File object or Uint8Array
116
+ * @returns Array of annotations
117
+ * @throws Error if operation fails
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * const annotations = await getAnnotations(docxFile);
122
+ * for (const annot of annotations) {
123
+ * console.log(`${annot.label}: "${annot.annotatedText}"`);
124
+ * }
125
+ * ```
126
+ */
127
+ export declare function getAnnotations(document: File | Uint8Array): Promise<Annotation[]>;
128
+ /**
129
+ * Add an annotation to a document.
130
+ *
131
+ * @param document - DOCX file as File object or Uint8Array
132
+ * @param request - Annotation details including search text or paragraph indices
133
+ * @returns Response with modified document bytes and annotation info
134
+ * @throws Error if operation fails
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * // Annotate by searching for text
139
+ * const result = await addAnnotation(docxFile, {
140
+ * id: "annot-1",
141
+ * labelId: "CLAUSE_A",
142
+ * label: "Important Clause",
143
+ * color: "#FFEB3B",
144
+ * searchText: "shall not be liable",
145
+ * occurrence: 1
146
+ * });
147
+ *
148
+ * // Annotate by paragraph range
149
+ * const result = await addAnnotation(docxFile, {
150
+ * id: "annot-2",
151
+ * labelId: "SECTION_1",
152
+ * label: "Introduction",
153
+ * color: "#4CAF50",
154
+ * startParagraphIndex: 0,
155
+ * endParagraphIndex: 2
156
+ * });
157
+ *
158
+ * // Get modified document
159
+ * const modifiedDocBytes = base64ToBytes(result.documentBytes);
160
+ * ```
161
+ */
162
+ export declare function addAnnotation(document: File | Uint8Array, request: AddAnnotationRequest): Promise<AddAnnotationResponse>;
163
+ /**
164
+ * Remove an annotation from a document.
165
+ *
166
+ * @param document - DOCX file as File object or Uint8Array
167
+ * @param annotationId - The ID of the annotation to remove
168
+ * @returns Response with modified document bytes
169
+ * @throws Error if operation fails
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * const result = await removeAnnotation(docxFile, "annot-1");
174
+ * const modifiedDocBytes = base64ToBytes(result.documentBytes);
175
+ * ```
176
+ */
177
+ export declare function removeAnnotation(document: File | Uint8Array, annotationId: string): Promise<RemoveAnnotationResponse>;
178
+ /**
179
+ * Check if a document has any annotations.
180
+ *
181
+ * @param document - DOCX file as File object or Uint8Array
182
+ * @returns true if the document has annotations
183
+ * @throws Error if operation fails
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * if (await hasAnnotations(docxFile)) {
188
+ * const annotations = await getAnnotations(docxFile);
189
+ * console.log(`Document has ${annotations.length} annotations`);
190
+ * }
191
+ * ```
192
+ */
193
+ export declare function hasAnnotations(document: File | Uint8Array): Promise<boolean>;
194
+ /**
195
+ * Get the document structure for element-based annotation targeting.
196
+ *
197
+ * @param document - DOCX file as File object or Uint8Array
198
+ * @returns Document structure with element tree
199
+ * @throws Error if operation fails
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * const structure = await getDocumentStructure(docxFile);
204
+ *
205
+ * // Navigate the structure tree
206
+ * console.log(`Document has ${structure.root.children.length} top-level elements`);
207
+ *
208
+ * // Find all paragraphs
209
+ * const paragraphs = getParagraphs(structure);
210
+ * console.log(`Found ${paragraphs.length} paragraphs`);
211
+ *
212
+ * // Find all tables
213
+ * const tables = getTables(structure);
214
+ * for (const table of tables) {
215
+ * const columns = getTableColumns(structure, table.id);
216
+ * console.log(`Table ${table.id} has ${columns.length} columns`);
217
+ * }
218
+ *
219
+ * // Look up element by ID
220
+ * const element = findElementById(structure, "doc/p-0");
221
+ * if (element) {
222
+ * console.log(`First paragraph: "${element.textPreview}"`);
223
+ * }
224
+ * ```
225
+ */
226
+ export declare function getDocumentStructure(document: File | Uint8Array): Promise<DocumentStructure>;
227
+ /**
228
+ * Add an annotation using flexible targeting (element ID, indices, or text search).
229
+ *
230
+ * @param document - DOCX file as File object or Uint8Array
231
+ * @param request - Annotation details with target specification
232
+ * @returns Response with modified document bytes and annotation info
233
+ * @throws Error if operation fails
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * // First get the document structure to find target elements
238
+ * const structure = await getDocumentStructure(docxFile);
239
+ *
240
+ * // Annotate a specific paragraph by element ID
241
+ * const result1 = await addAnnotationWithTarget(docxFile, {
242
+ * id: "annot-1",
243
+ * labelId: "INTRO",
244
+ * label: "Introduction",
245
+ * color: "#4CAF50",
246
+ * target: targetElement("doc/p-0")
247
+ * });
248
+ *
249
+ * // Annotate a table cell
250
+ * const result2 = await addAnnotationWithTarget(docxFile, {
251
+ * id: "annot-2",
252
+ * labelId: "CELL_HIGHLIGHT",
253
+ * label: "Important Cell",
254
+ * color: "#FFEB3B",
255
+ * target: targetTableCell(0, 1, 2) // Table 0, Row 1, Cell 2
256
+ * });
257
+ *
258
+ * // Annotate a table column
259
+ * const result3 = await addAnnotationWithTarget(docxFile, {
260
+ * id: "annot-3",
261
+ * labelId: "COLUMN_DATA",
262
+ * label: "Values Column",
263
+ * color: "#2196F3",
264
+ * target: targetTableColumn(0, 1) // Table 0, Column 1
265
+ * });
266
+ *
267
+ * // Search for text within a specific element
268
+ * const result4 = await addAnnotationWithTarget(docxFile, {
269
+ * id: "annot-4",
270
+ * labelId: "KEYWORD",
271
+ * label: "Keyword",
272
+ * color: "#FF5722",
273
+ * target: targetSearchInElement("doc/p-2", "important", 1)
274
+ * });
275
+ * ```
276
+ */
277
+ export declare function addAnnotationWithTarget(document: File | Uint8Array, request: AddAnnotationWithTargetRequest): Promise<AddAnnotationResponse>;
106
278
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EAEb,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,cAAc,EACd,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,mBAAmB,GACpB,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,cAAc,GACf,CAAC;AA2BF;;;GAGG;AACH,eAAO,IAAI,YAAY,QAAK,CAAC;AAE7B;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAajE;AA8FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,CA4BrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,IAAI,GAAG,UAAU,EAC3B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAqCrB;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,WAAW,CASxC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,10 @@
1
- import { CommentRenderMode, PaginationMode, RevisionType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange, } from "./types.js";
1
+ import { CommentRenderMode, PaginationMode, AnnotationLabelMode, RevisionType, DocumentElementType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange, findElementById, findElementsByType, getParagraphs, getTables, getTableColumns, targetElement, targetParagraph, targetParagraphRange, targetRun, targetTable, targetTableRow, targetTableCell, targetTableColumn, targetSearch, targetSearchInElement, } from "./types.js";
2
2
  export { PaginationEngine, paginateHtml } from "./pagination.js";
3
- export { CommentRenderMode, PaginationMode, RevisionType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange, };
3
+ export { CommentRenderMode, PaginationMode, AnnotationLabelMode, RevisionType, DocumentElementType, isInsertion, isDeletion, isMove, isMoveSource, isMoveDestination, findMovePair, isFormatChange,
4
+ // Document structure helpers
5
+ findElementById, findElementsByType, getParagraphs, getTables, getTableColumns,
6
+ // Annotation target factory functions
7
+ targetElement, targetParagraph, targetParagraphRange, targetRun, targetTable, targetTableRow, targetTableCell, targetTableColumn, targetSearch, targetSearchInElement, };
4
8
  let wasmExports = null;
5
9
  let initPromise = null;
6
10
  /**
@@ -156,14 +160,24 @@ async function toBytes(input) {
156
160
  * paginationMode: PaginationMode.Paginated,
157
161
  * paginationScale: 0.8
158
162
  * });
163
+ *
164
+ * // With annotations rendered
165
+ * const html = await convertDocxToHtml(docxFile, {
166
+ * renderAnnotations: true,
167
+ * annotationLabelMode: AnnotationLabelMode.Above
168
+ * });
159
169
  * ```
160
170
  */
161
171
  export async function convertDocxToHtml(document, options) {
162
172
  const exports = ensureInitialized();
163
173
  const bytes = await toBytes(document);
164
174
  let result;
175
+ // Use full method when annotations are requested
176
+ if (options?.renderAnnotations) {
177
+ result = exports.DocumentConverter.ConvertDocxToHtmlFull(bytes, options.pageTitle ?? "Document", options.cssPrefix ?? "docx-", options.fabricateClasses ?? true, options.additionalCss ?? "", options.commentRenderMode ?? CommentRenderMode.Disabled, options.commentCssClassPrefix ?? "comment-", options.paginationMode ?? PaginationMode.None, options.paginationScale ?? 1.0, options.paginationCssClassPrefix ?? "page-", options.renderAnnotations, options.annotationLabelMode ?? AnnotationLabelMode.Above, options.annotationCssClassPrefix ?? "annot-");
178
+ }
165
179
  // Use pagination-aware method when pagination is requested
166
- if (options?.paginationMode !== undefined && options.paginationMode !== PaginationMode.None) {
180
+ else if (options?.paginationMode !== undefined && options.paginationMode !== PaginationMode.None) {
167
181
  result = exports.DocumentConverter.ConvertDocxToHtmlWithPagination(bytes, options.pageTitle ?? "Document", options.cssPrefix ?? "docx-", options.fabricateClasses ?? true, options.additionalCss ?? "", options.commentRenderMode ?? CommentRenderMode.Disabled, options.commentCssClassPrefix ?? "comment-", options.paginationMode, options.paginationScale ?? 1.0, options.paginationCssClassPrefix ?? "page-");
168
182
  }
169
183
  else if (options) {
@@ -297,4 +311,340 @@ export function getVersion() {
297
311
  export function isInitialized() {
298
312
  return wasmExports !== null;
299
313
  }
314
+ /**
315
+ * Get all annotations from a document.
316
+ *
317
+ * @param document - DOCX file as File object or Uint8Array
318
+ * @returns Array of annotations
319
+ * @throws Error if operation fails
320
+ *
321
+ * @example
322
+ * ```typescript
323
+ * const annotations = await getAnnotations(docxFile);
324
+ * for (const annot of annotations) {
325
+ * console.log(`${annot.label}: "${annot.annotatedText}"`);
326
+ * }
327
+ * ```
328
+ */
329
+ export async function getAnnotations(document) {
330
+ const exports = ensureInitialized();
331
+ const bytes = await toBytes(document);
332
+ const result = exports.DocumentConverter.GetAnnotations(bytes);
333
+ if (isErrorResponse(result)) {
334
+ const error = parseError(result);
335
+ throw new Error(`Failed to get annotations: ${error.error}`);
336
+ }
337
+ const parsed = JSON.parse(result);
338
+ return (parsed.Annotations || parsed.annotations || []).map((a) => ({
339
+ id: a.Id || a.id,
340
+ labelId: a.LabelId || a.labelId,
341
+ label: a.Label || a.label,
342
+ color: a.Color || a.color,
343
+ author: a.Author || a.author,
344
+ created: a.Created || a.created,
345
+ bookmarkName: a.BookmarkName || a.bookmarkName,
346
+ startPage: a.StartPage ?? a.startPage,
347
+ endPage: a.EndPage ?? a.endPage,
348
+ annotatedText: a.AnnotatedText || a.annotatedText,
349
+ metadata: a.Metadata || a.metadata,
350
+ }));
351
+ }
352
+ /**
353
+ * Add an annotation to a document.
354
+ *
355
+ * @param document - DOCX file as File object or Uint8Array
356
+ * @param request - Annotation details including search text or paragraph indices
357
+ * @returns Response with modified document bytes and annotation info
358
+ * @throws Error if operation fails
359
+ *
360
+ * @example
361
+ * ```typescript
362
+ * // Annotate by searching for text
363
+ * const result = await addAnnotation(docxFile, {
364
+ * id: "annot-1",
365
+ * labelId: "CLAUSE_A",
366
+ * label: "Important Clause",
367
+ * color: "#FFEB3B",
368
+ * searchText: "shall not be liable",
369
+ * occurrence: 1
370
+ * });
371
+ *
372
+ * // Annotate by paragraph range
373
+ * const result = await addAnnotation(docxFile, {
374
+ * id: "annot-2",
375
+ * labelId: "SECTION_1",
376
+ * label: "Introduction",
377
+ * color: "#4CAF50",
378
+ * startParagraphIndex: 0,
379
+ * endParagraphIndex: 2
380
+ * });
381
+ *
382
+ * // Get modified document
383
+ * const modifiedDocBytes = base64ToBytes(result.documentBytes);
384
+ * ```
385
+ */
386
+ export async function addAnnotation(document, request) {
387
+ const exports = ensureInitialized();
388
+ const bytes = await toBytes(document);
389
+ const requestJson = JSON.stringify({
390
+ Id: request.id,
391
+ LabelId: request.labelId,
392
+ Label: request.label,
393
+ Color: request.color ?? "#FFEB3B",
394
+ Author: request.author,
395
+ SearchText: request.searchText,
396
+ Occurrence: request.occurrence ?? 1,
397
+ StartParagraphIndex: request.startParagraphIndex,
398
+ EndParagraphIndex: request.endParagraphIndex,
399
+ Metadata: request.metadata,
400
+ });
401
+ const result = exports.DocumentConverter.AddAnnotation(bytes, requestJson);
402
+ if (isErrorResponse(result)) {
403
+ const error = parseError(result);
404
+ throw new Error(`Failed to add annotation: ${error.error}`);
405
+ }
406
+ const parsed = JSON.parse(result);
407
+ const annotation = parsed.Annotation || parsed.annotation;
408
+ return {
409
+ success: parsed.Success ?? parsed.success ?? true,
410
+ documentBytes: parsed.DocumentBytes || parsed.documentBytes,
411
+ annotation: annotation ? {
412
+ id: annotation.Id || annotation.id,
413
+ labelId: annotation.LabelId || annotation.labelId,
414
+ label: annotation.Label || annotation.label,
415
+ color: annotation.Color || annotation.color,
416
+ author: annotation.Author || annotation.author,
417
+ created: annotation.Created || annotation.created,
418
+ bookmarkName: annotation.BookmarkName || annotation.bookmarkName,
419
+ annotatedText: annotation.AnnotatedText || annotation.annotatedText,
420
+ } : undefined,
421
+ };
422
+ }
423
+ /**
424
+ * Remove an annotation from a document.
425
+ *
426
+ * @param document - DOCX file as File object or Uint8Array
427
+ * @param annotationId - The ID of the annotation to remove
428
+ * @returns Response with modified document bytes
429
+ * @throws Error if operation fails
430
+ *
431
+ * @example
432
+ * ```typescript
433
+ * const result = await removeAnnotation(docxFile, "annot-1");
434
+ * const modifiedDocBytes = base64ToBytes(result.documentBytes);
435
+ * ```
436
+ */
437
+ export async function removeAnnotation(document, annotationId) {
438
+ const exports = ensureInitialized();
439
+ const bytes = await toBytes(document);
440
+ const result = exports.DocumentConverter.RemoveAnnotation(bytes, annotationId);
441
+ if (isErrorResponse(result)) {
442
+ const error = parseError(result);
443
+ throw new Error(`Failed to remove annotation: ${error.error}`);
444
+ }
445
+ const parsed = JSON.parse(result);
446
+ return {
447
+ success: parsed.Success ?? parsed.success ?? true,
448
+ documentBytes: parsed.DocumentBytes || parsed.documentBytes,
449
+ };
450
+ }
451
+ /**
452
+ * Check if a document has any annotations.
453
+ *
454
+ * @param document - DOCX file as File object or Uint8Array
455
+ * @returns true if the document has annotations
456
+ * @throws Error if operation fails
457
+ *
458
+ * @example
459
+ * ```typescript
460
+ * if (await hasAnnotations(docxFile)) {
461
+ * const annotations = await getAnnotations(docxFile);
462
+ * console.log(`Document has ${annotations.length} annotations`);
463
+ * }
464
+ * ```
465
+ */
466
+ export async function hasAnnotations(document) {
467
+ const exports = ensureInitialized();
468
+ const bytes = await toBytes(document);
469
+ const result = exports.DocumentConverter.HasAnnotations(bytes);
470
+ if (isErrorResponse(result)) {
471
+ const error = parseError(result);
472
+ throw new Error(`Failed to check annotations: ${error.error}`);
473
+ }
474
+ const parsed = JSON.parse(result);
475
+ return parsed.HasAnnotations ?? parsed.hasAnnotations ?? false;
476
+ }
477
+ /**
478
+ * Get the document structure for element-based annotation targeting.
479
+ *
480
+ * @param document - DOCX file as File object or Uint8Array
481
+ * @returns Document structure with element tree
482
+ * @throws Error if operation fails
483
+ *
484
+ * @example
485
+ * ```typescript
486
+ * const structure = await getDocumentStructure(docxFile);
487
+ *
488
+ * // Navigate the structure tree
489
+ * console.log(`Document has ${structure.root.children.length} top-level elements`);
490
+ *
491
+ * // Find all paragraphs
492
+ * const paragraphs = getParagraphs(structure);
493
+ * console.log(`Found ${paragraphs.length} paragraphs`);
494
+ *
495
+ * // Find all tables
496
+ * const tables = getTables(structure);
497
+ * for (const table of tables) {
498
+ * const columns = getTableColumns(structure, table.id);
499
+ * console.log(`Table ${table.id} has ${columns.length} columns`);
500
+ * }
501
+ *
502
+ * // Look up element by ID
503
+ * const element = findElementById(structure, "doc/p-0");
504
+ * if (element) {
505
+ * console.log(`First paragraph: "${element.textPreview}"`);
506
+ * }
507
+ * ```
508
+ */
509
+ export async function getDocumentStructure(document) {
510
+ const exports = ensureInitialized();
511
+ const bytes = await toBytes(document);
512
+ const result = exports.DocumentConverter.GetDocumentStructure(bytes);
513
+ if (isErrorResponse(result)) {
514
+ const error = parseError(result);
515
+ throw new Error(`Failed to get document structure: ${error.error}`);
516
+ }
517
+ const parsed = JSON.parse(result);
518
+ // Convert from PascalCase to camelCase
519
+ const convertElement = (el) => ({
520
+ id: el.Id || el.id,
521
+ type: el.Type || el.type,
522
+ textPreview: el.TextPreview || el.textPreview,
523
+ index: el.Index ?? el.index,
524
+ rowIndex: el.RowIndex ?? el.rowIndex,
525
+ columnIndex: el.ColumnIndex ?? el.columnIndex,
526
+ rowSpan: el.RowSpan ?? el.rowSpan,
527
+ columnSpan: el.ColumnSpan ?? el.columnSpan,
528
+ children: (el.Children || el.children || []).map(convertElement),
529
+ });
530
+ const convertTableColumn = (col) => ({
531
+ tableId: col.TableId || col.tableId,
532
+ columnIndex: col.ColumnIndex ?? col.columnIndex,
533
+ cellIds: col.CellIds || col.cellIds || [],
534
+ rowCount: col.RowCount ?? col.rowCount,
535
+ });
536
+ const root = convertElement(parsed.Root || parsed.root);
537
+ // Convert elementsById dictionary
538
+ const elementsById = {};
539
+ const rawElementsById = parsed.ElementsById || parsed.elementsById || {};
540
+ for (const [key, el] of Object.entries(rawElementsById)) {
541
+ elementsById[key] = convertElement(el);
542
+ }
543
+ // Convert tableColumns dictionary
544
+ const tableColumns = {};
545
+ const rawTableColumns = parsed.TableColumns || parsed.tableColumns || {};
546
+ for (const [key, col] of Object.entries(rawTableColumns)) {
547
+ tableColumns[key] = convertTableColumn(col);
548
+ }
549
+ return {
550
+ root,
551
+ elementsById,
552
+ tableColumns,
553
+ };
554
+ }
555
+ /**
556
+ * Add an annotation using flexible targeting (element ID, indices, or text search).
557
+ *
558
+ * @param document - DOCX file as File object or Uint8Array
559
+ * @param request - Annotation details with target specification
560
+ * @returns Response with modified document bytes and annotation info
561
+ * @throws Error if operation fails
562
+ *
563
+ * @example
564
+ * ```typescript
565
+ * // First get the document structure to find target elements
566
+ * const structure = await getDocumentStructure(docxFile);
567
+ *
568
+ * // Annotate a specific paragraph by element ID
569
+ * const result1 = await addAnnotationWithTarget(docxFile, {
570
+ * id: "annot-1",
571
+ * labelId: "INTRO",
572
+ * label: "Introduction",
573
+ * color: "#4CAF50",
574
+ * target: targetElement("doc/p-0")
575
+ * });
576
+ *
577
+ * // Annotate a table cell
578
+ * const result2 = await addAnnotationWithTarget(docxFile, {
579
+ * id: "annot-2",
580
+ * labelId: "CELL_HIGHLIGHT",
581
+ * label: "Important Cell",
582
+ * color: "#FFEB3B",
583
+ * target: targetTableCell(0, 1, 2) // Table 0, Row 1, Cell 2
584
+ * });
585
+ *
586
+ * // Annotate a table column
587
+ * const result3 = await addAnnotationWithTarget(docxFile, {
588
+ * id: "annot-3",
589
+ * labelId: "COLUMN_DATA",
590
+ * label: "Values Column",
591
+ * color: "#2196F3",
592
+ * target: targetTableColumn(0, 1) // Table 0, Column 1
593
+ * });
594
+ *
595
+ * // Search for text within a specific element
596
+ * const result4 = await addAnnotationWithTarget(docxFile, {
597
+ * id: "annot-4",
598
+ * labelId: "KEYWORD",
599
+ * label: "Keyword",
600
+ * color: "#FF5722",
601
+ * target: targetSearchInElement("doc/p-2", "important", 1)
602
+ * });
603
+ * ```
604
+ */
605
+ export async function addAnnotationWithTarget(document, request) {
606
+ const exports = ensureInitialized();
607
+ const bytes = await toBytes(document);
608
+ const requestJson = JSON.stringify({
609
+ Id: request.id,
610
+ LabelId: request.labelId,
611
+ Label: request.label,
612
+ Color: request.color ?? "#FFEB3B",
613
+ Author: request.author,
614
+ Metadata: request.metadata,
615
+ ElementId: request.target.elementId,
616
+ ElementType: request.target.elementType,
617
+ ParagraphIndex: request.target.paragraphIndex,
618
+ RunIndex: request.target.runIndex,
619
+ TableIndex: request.target.tableIndex,
620
+ RowIndex: request.target.rowIndex,
621
+ CellIndex: request.target.cellIndex,
622
+ ColumnIndex: request.target.columnIndex,
623
+ SearchText: request.target.searchText,
624
+ Occurrence: request.target.occurrence ?? 1,
625
+ RangeEndParagraphIndex: request.target.rangeEndParagraphIndex,
626
+ });
627
+ const result = exports.DocumentConverter.AddAnnotationWithTarget(bytes, requestJson);
628
+ if (isErrorResponse(result)) {
629
+ const error = parseError(result);
630
+ throw new Error(`Failed to add annotation: ${error.error}`);
631
+ }
632
+ const parsed = JSON.parse(result);
633
+ const annotation = parsed.Annotation || parsed.annotation;
634
+ return {
635
+ success: parsed.Success ?? parsed.success ?? true,
636
+ documentBytes: parsed.DocumentBytes || parsed.documentBytes,
637
+ annotation: annotation ? {
638
+ id: annotation.Id || annotation.id,
639
+ labelId: annotation.LabelId || annotation.labelId,
640
+ label: annotation.Label || annotation.label,
641
+ color: annotation.Color || annotation.color,
642
+ author: annotation.Author || annotation.author,
643
+ created: annotation.Created || annotation.created,
644
+ bookmarkName: annotation.BookmarkName || annotation.bookmarkName,
645
+ annotatedText: annotation.AnnotatedText || annotation.annotatedText,
646
+ metadata: annotation.Metadata || annotation.metadata,
647
+ } : undefined,
648
+ };
649
+ }
300
650
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}