docxmlater 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +330 -4
  2. package/dist/core/Document.d.ts +66 -28
  3. package/dist/core/Document.d.ts.map +1 -1
  4. package/dist/core/Document.js +590 -90
  5. package/dist/core/Document.js.map +1 -1
  6. package/dist/core/DocumentGenerator.d.ts +15 -13
  7. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  8. package/dist/core/DocumentGenerator.js +74 -13
  9. package/dist/core/DocumentGenerator.js.map +1 -1
  10. package/dist/core/DocumentParser.d.ts +40 -13
  11. package/dist/core/DocumentParser.d.ts.map +1 -1
  12. package/dist/core/DocumentParser.js +800 -316
  13. package/dist/core/DocumentParser.js.map +1 -1
  14. package/dist/core/DocumentValidator.d.ts +2 -1
  15. package/dist/core/DocumentValidator.d.ts.map +1 -1
  16. package/dist/core/DocumentValidator.js.map +1 -1
  17. package/dist/elements/Bookmark.d.ts +1 -0
  18. package/dist/elements/Bookmark.d.ts.map +1 -1
  19. package/dist/elements/Bookmark.js +1 -1
  20. package/dist/elements/Bookmark.js.map +1 -1
  21. package/dist/elements/Hyperlink.d.ts +1 -0
  22. package/dist/elements/Hyperlink.d.ts.map +1 -1
  23. package/dist/elements/Hyperlink.js +23 -0
  24. package/dist/elements/Hyperlink.js.map +1 -1
  25. package/dist/elements/ImageManager.d.ts +2 -0
  26. package/dist/elements/ImageManager.d.ts.map +1 -1
  27. package/dist/elements/ImageManager.js +22 -0
  28. package/dist/elements/ImageManager.js.map +1 -1
  29. package/dist/elements/ImageRun.d.ts +10 -0
  30. package/dist/elements/ImageRun.d.ts.map +1 -0
  31. package/dist/elements/ImageRun.js +23 -0
  32. package/dist/elements/ImageRun.js.map +1 -0
  33. package/dist/elements/Paragraph.d.ts +16 -1
  34. package/dist/elements/Paragraph.d.ts.map +1 -1
  35. package/dist/elements/Paragraph.js +146 -2
  36. package/dist/elements/Paragraph.js.map +1 -1
  37. package/dist/elements/Run.d.ts +4 -0
  38. package/dist/elements/Run.d.ts.map +1 -1
  39. package/dist/elements/Run.js +27 -1
  40. package/dist/elements/Run.js.map +1 -1
  41. package/dist/elements/Section.d.ts.map +1 -1
  42. package/dist/elements/Section.js +3 -8
  43. package/dist/elements/Section.js.map +1 -1
  44. package/dist/elements/StructuredDocumentTag.d.ts +32 -0
  45. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -0
  46. package/dist/elements/StructuredDocumentTag.js +94 -0
  47. package/dist/elements/StructuredDocumentTag.js.map +1 -0
  48. package/dist/elements/Table.d.ts +24 -0
  49. package/dist/elements/Table.d.ts.map +1 -1
  50. package/dist/elements/Table.js +177 -3
  51. package/dist/elements/Table.js.map +1 -1
  52. package/dist/elements/TableOfContents.d.ts +33 -0
  53. package/dist/elements/TableOfContents.d.ts.map +1 -1
  54. package/dist/elements/TableOfContents.js +129 -1
  55. package/dist/elements/TableOfContents.js.map +1 -1
  56. package/dist/elements/TableRow.d.ts.map +1 -1
  57. package/dist/elements/TableRow.js +11 -1
  58. package/dist/elements/TableRow.js.map +1 -1
  59. package/dist/formatting/AbstractNumbering.d.ts +1 -0
  60. package/dist/formatting/AbstractNumbering.d.ts.map +1 -1
  61. package/dist/formatting/AbstractNumbering.js +30 -0
  62. package/dist/formatting/AbstractNumbering.js.map +1 -1
  63. package/dist/formatting/NumberingInstance.d.ts +1 -0
  64. package/dist/formatting/NumberingInstance.d.ts.map +1 -1
  65. package/dist/formatting/NumberingInstance.js +16 -0
  66. package/dist/formatting/NumberingInstance.js.map +1 -1
  67. package/dist/formatting/NumberingLevel.d.ts +1 -0
  68. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  69. package/dist/formatting/NumberingLevel.js +59 -0
  70. package/dist/formatting/NumberingLevel.js.map +1 -1
  71. package/dist/formatting/NumberingManager.d.ts +11 -0
  72. package/dist/formatting/NumberingManager.d.ts.map +1 -1
  73. package/dist/formatting/NumberingManager.js +92 -0
  74. package/dist/formatting/NumberingManager.js.map +1 -1
  75. package/dist/formatting/Style.d.ts +2 -0
  76. package/dist/formatting/Style.d.ts.map +1 -1
  77. package/dist/formatting/Style.js +49 -0
  78. package/dist/formatting/Style.js.map +1 -1
  79. package/dist/index.d.ts +2 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +6 -2
  82. package/dist/index.js.map +1 -1
  83. package/dist/xml/XMLBuilder.d.ts +4 -1
  84. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  85. package/dist/xml/XMLBuilder.js +134 -31
  86. package/dist/xml/XMLBuilder.js.map +1 -1
  87. package/dist/xml/XMLParser.d.ts +1 -0
  88. package/dist/xml/XMLParser.d.ts.map +1 -1
  89. package/dist/xml/XMLParser.js +75 -42
  90. package/dist/xml/XMLParser.js.map +1 -1
  91. package/dist/zip/ZipHandler.d.ts.map +1 -1
  92. package/dist/zip/ZipHandler.js +6 -1
  93. package/dist/zip/ZipHandler.js.map +1 -1
  94. package/dist/zip/ZipReader.d.ts.map +1 -1
  95. package/dist/zip/ZipReader.js +2 -2
  96. package/dist/zip/ZipReader.js.map +1 -1
  97. package/dist/zip/ZipWriter.d.ts.map +1 -1
  98. package/dist/zip/ZipWriter.js +13 -8
  99. package/dist/zip/ZipWriter.js.map +1 -1
  100. package/package.json +1 -1
package/README.md CHANGED
@@ -1,13 +1,38 @@
1
1
  # docXMLater - Professional DOCX Framework
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/docxmlater.svg)](https://www.npmjs.com/package/docxmlater)
4
- [![Tests](https://img.shields.io/badge/tests-474%20passing-brightgreen)](https://github.com/ItMeDiaTech/docXMLater)
5
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue)](https://www.typescriptlang.org/)
4
+ [![Tests](https://img.shields.io/badge/tests-596%20passing-brightgreen)](https://github.com/ItMeDiaTech/docXMLater)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org/)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
7
 
8
- A comprehensive, production-ready TypeScript/JavaScript library for creating, reading, and manipulating Microsoft Word (.docx) documents programmatically. Full OpenXML compliance with extensive API coverage.
8
+ A comprehensive, production-ready TypeScript/JavaScript library for creating, reading, and manipulating Microsoft Word (.docx) documents programmatically. Full OpenXML compliance with extensive API coverage and **100% test pass rate**.
9
9
 
10
- I do a lot of professional documentation work. From the solutions that exist out there for working with .docx files and therefore .xml files, they are not amazing. Most of the frameworks that exist that do give you everything you want... charge thousands a year. I decided to make my own framework to interact with these filetypes and focus on ease of usability. I think most if not all functionality works right now with helper functions to interact wiht all aspects of a .docx / xml document.
10
+ I do a lot of professional documentation work. From the solutions that exist out there for working with .docx files and therefore .xml files, they are not amazing. Most of the frameworks that exist that do give you everything you want... charge thousands a year. I decided to make my own framework to interact with these filetypes and focus on ease of usability. All functionality works with helper functions to interact with all aspects of a .docx / xml document.
11
+
12
+ ## ✨ Latest Updates - v0.29.0
13
+
14
+ **100% Test Coverage Achieved!** Major bug fix release with 44 critical fixes:
15
+
16
+ ### Critical Fixes
17
+ - **Text Parsing:** Fixed complete text loss during document load/save cycles
18
+ - **Hyperlink Support:** Implemented full hyperlink parsing and relationship preservation
19
+ - **Table Parsing:** Implemented complete table structure parsing (was returning null)
20
+ - **XML Escaping:** Fixed 3 broken escape functions causing corruption with special characters
21
+ - **Document Parts API:** Fixed Buffer/string type conversion for text files
22
+ - **Conflict Resolution:** Auto-resolve pageBreakBefore + keepNext/keepLines conflicts
23
+ - **XML Validation:** Added self-closing tag validation to prevent Word corruption
24
+ - **Element Order:** Preserve correct paragraph/table order through load/save cycles
25
+
26
+ ### What's Fixed
27
+ - Text preservation through save/load cycles (including Unicode, emoji, special chars)
28
+ - Hyperlink parsing with formatting, tooltips, and relationship IDs
29
+ - Table parsing and element order preservation
30
+ - XML entity escaping in document properties
31
+ - Boolean property XML generation (w:b, w:i, w:keepNext, etc.)
32
+ - Section default values (columns, type)
33
+ - Whitespace preservation with xml:space="preserve"
34
+
35
+ **Test Results:** 596/596 tests passing (100% - up from 92.7%)
11
36
 
12
37
  ## Quick Start
13
38
 
@@ -51,6 +76,18 @@ await doc.save("output.docx");
51
76
  | `addImage(image)` | Add image | `doc.addImage(myImage)` |
52
77
  | `addTableOfContents(toc?)` | Add TOC | `doc.addTableOfContents()` |
53
78
  | `insertParagraphAt(index, para)` | Insert at position | `doc.insertParagraphAt(0, para)` |
79
+ | `insertTableAt(index, table)` | Insert table at position | `doc.insertTableAt(5, table)` |
80
+ | `insertTocAt(index, toc)` | Insert TOC at position | `doc.insertTocAt(0, toc)` |
81
+
82
+ ### Content Manipulation
83
+
84
+ | Method | Description | Returns |
85
+ | ------------------------------------- | --------------------------- | --------- |
86
+ | `replaceParagraphAt(index, para)` | Replace paragraph | `boolean` |
87
+ | `replaceTableAt(index, table)` | Replace table | `boolean` |
88
+ | `moveElement(fromIndex, toIndex)` | Move element to new position | `boolean` |
89
+ | `swapElements(index1, index2)` | Swap two elements | `boolean` |
90
+ | `removeTocAt(index)` | Remove TOC element | `boolean` |
54
91
 
55
92
  ### Content Retrieval
56
93
 
@@ -81,6 +118,24 @@ await doc.save("output.docx");
81
118
  | `replaceText(find, replace, options?)` | Replace all text | `{caseSensitive?, wholeWord?}` |
82
119
  | `updateHyperlinkUrls(urlMap)` | Update hyperlink URLs | `Map<oldUrl, newUrl>` |
83
120
 
121
+ ### Style Application
122
+
123
+ | Method | Description | Returns |
124
+ | -------------------------------------- | ------------------------------- | -------------- |
125
+ | `applyStyleToAll(styleId, predicate)` | Apply style to matching elements | `number` |
126
+ | `findElementsByStyle(styleId)` | Find all elements using a style | `Array<Para\|Cell>` |
127
+
128
+ **Example:**
129
+ ```typescript
130
+ // Apply Heading1 to all paragraphs containing "Chapter"
131
+ const count = doc.applyStyleToAll('Heading1', (el) => {
132
+ return el instanceof Paragraph && el.getText().includes('Chapter');
133
+ });
134
+
135
+ // Find all Heading1 elements
136
+ const headings = doc.findElementsByStyle('Heading1');
137
+ ```
138
+
84
139
  ### Document Statistics
85
140
 
86
141
  | Method | Description | Returns |
@@ -167,6 +222,58 @@ doc.addParagraph(heading);
167
222
  | `setKeepLines()` | Keep lines together | - |
168
223
  | `setPageBreakBefore()` | Page break before | - |
169
224
 
225
+ #### Paragraph Manipulation Methods
226
+
227
+ | Method | Description | Returns |
228
+ | ------------------------------------ | --------------------------- | ------------ |
229
+ | `insertRunAt(index, run)` | Insert run at position | `this` |
230
+ | `removeRunAt(index)` | Remove run at position | `boolean` |
231
+ | `replaceRunAt(index, run)` | Replace run at position | `boolean` |
232
+ | `findText(text, options?)` | Find text in runs | `number[]` |
233
+ | `replaceText(find, replace, options?)` | Replace text in runs | `number` |
234
+ | `mergeWith(otherPara)` | Merge another paragraph | `this` |
235
+ | `clone()` | Clone paragraph | `Paragraph` |
236
+
237
+ **Example:**
238
+ ```typescript
239
+ const para = doc.createParagraph('Hello World');
240
+
241
+ // Find and replace
242
+ const indices = para.findText('World'); // [1]
243
+ const count = para.replaceText('World', 'Universe', { caseSensitive: true });
244
+
245
+ // Manipulate runs
246
+ para.insertRunAt(0, new Run('Start: ', { bold: true }));
247
+ para.replaceRunAt(1, new Run('HELLO', { allCaps: true }));
248
+
249
+ // Merge paragraphs
250
+ const para2 = Paragraph.create(' More text');
251
+ para.mergeWith(para2); // Combines runs
252
+ ```
253
+
254
+ ### Run (Text Span) Operations
255
+
256
+ | Method | Description | Returns |
257
+ | ----------------------------- | ---------------------------- | -------- |
258
+ | `clone()` | Clone run with formatting | `Run` |
259
+ | `insertText(index, text)` | Insert text at position | `this` |
260
+ | `appendText(text)` | Append text to end | `this` |
261
+ | `replaceText(start, end, text)` | Replace text range | `this` |
262
+
263
+ **Example:**
264
+ ```typescript
265
+ const run = new Run('Hello World', { bold: true });
266
+
267
+ // Text manipulation
268
+ run.insertText(6, 'Beautiful '); // "Hello Beautiful World"
269
+ run.appendText('!'); // "Hello Beautiful World!"
270
+ run.replaceText(0, 5, 'Hi'); // "Hi Beautiful World!"
271
+
272
+ // Clone for reuse
273
+ const copy = run.clone();
274
+ copy.setColor('FF0000'); // Original unchanged
275
+ ```
276
+
170
277
  ### Table Operations
171
278
 
172
279
  | Method | Description | Example |
@@ -182,6 +289,45 @@ doc.addParagraph(heading);
182
289
  | `setAllBorders(border)` | Set all borders | `table.setAllBorders({style: 'single'})` |
183
290
  | `setBorders(borders)` | Set specific borders | `table.setBorders({top: {...}})` |
184
291
 
292
+ #### Advanced Table Operations
293
+
294
+ | Method | Description | Returns |
295
+ | ------------------------------------------- | ----------------------------- | ------------- |
296
+ | `mergeCells(startRow, startCol, endRow, endCol)` | Merge cells | `this` |
297
+ | `splitCell(row, col)` | Remove cell spanning | `this` |
298
+ | `moveCell(fromRow, fromCol, toRow, toCol)` | Move cell contents | `this` |
299
+ | `swapCells(row1, col1, row2, col2)` | Swap two cells | `this` |
300
+ | `setColumnWidth(index, width)` | Set specific column width | `this` |
301
+ | `setColumnWidths(widths)` | Set all column widths | `this` |
302
+ | `insertRows(startIndex, count)` | Insert multiple rows | `TableRow[]` |
303
+ | `removeRows(startIndex, count)` | Remove multiple rows | `boolean` |
304
+ | `clone()` | Clone entire table | `Table` |
305
+
306
+ **Example:**
307
+ ```typescript
308
+ const table = doc.createTable(3, 3);
309
+
310
+ // Merge cells horizontally (row 0, columns 0-2)
311
+ table.mergeCells(0, 0, 0, 2);
312
+
313
+ // Move cell contents
314
+ table.moveCell(1, 1, 2, 2);
315
+
316
+ // Swap cells
317
+ table.swapCells(0, 0, 2, 2);
318
+
319
+ // Batch row operations
320
+ table.insertRows(1, 3); // Insert 3 rows at position 1
321
+ table.removeRows(4, 2); // Remove 2 rows starting at position 4
322
+
323
+ // Set column widths
324
+ table.setColumnWidth(0, 2000); // First column = 2000 twips
325
+ table.setColumnWidths([2000, 3000, 2000]); // All columns
326
+
327
+ // Clone table for reuse
328
+ const tableCopy = table.clone();
329
+ ```
330
+
185
331
  ### Table Cell Operations
186
332
 
187
333
  | Method | Description | Example |
@@ -205,6 +351,31 @@ doc.addParagraph(heading);
205
351
  | `removeStyle(styleId)` | Remove style | `doc.removeStyle('OldStyle')` |
206
352
  | `updateStyle(styleId, props)` | Update style | `doc.updateStyle('Normal', {...})` |
207
353
 
354
+ #### Style Manipulation
355
+
356
+ | Method | Description | Returns |
357
+ | ----------------------- | -------------------------------- | --------- |
358
+ | `style.clone()` | Clone style | `Style` |
359
+ | `style.mergeWith(other)` | Merge properties from another style | `this` |
360
+
361
+ **Example:**
362
+ ```typescript
363
+ // Clone a style
364
+ const heading1 = doc.getStyle('Heading1');
365
+ const customHeading = heading1.clone();
366
+ customHeading.setRunFormatting({ color: 'FF0000' });
367
+
368
+ // Merge styles
369
+ const baseStyle = Style.createNormalStyle();
370
+ const overrideStyle = Style.create({
371
+ styleId: 'Override',
372
+ name: 'Override',
373
+ type: 'paragraph',
374
+ runFormatting: { bold: true, color: 'FF0000' }
375
+ });
376
+ baseStyle.mergeWith(overrideStyle); // baseStyle now has bold red text
377
+ ```
378
+
208
379
  #### Built-in Styles
209
380
 
210
381
  - `Normal` - Default paragraph
@@ -221,6 +392,100 @@ doc.addParagraph(heading);
221
392
  | `createNumberedList(levels?, formats?)` | Create numbered list | `numId` |
222
393
  | `createMultiLevelList()` | Create multi-level list | `numId` |
223
394
 
395
+ ### Table of Contents (TOC)
396
+
397
+ #### Basic TOC Creation
398
+
399
+ | Method | Description | Example |
400
+ | -------------------------------- | ---------------------------- | ------------------------------------------ |
401
+ | `addTableOfContents(toc?)` | Add TOC to document | `doc.addTableOfContents()` |
402
+ | `insertTocAt(index, toc)` | Insert TOC at position | `doc.insertTocAt(0, toc)` |
403
+ | `removeTocAt(index)` | Remove TOC at position | `doc.removeTocAt(0)` |
404
+
405
+ #### TOC Factory Methods
406
+
407
+ | Method | Description | Example |
408
+ | ------------------------------------------- | -------------------------------- | ----------------------------------------------- |
409
+ | `TableOfContents.createStandard(title?)` | Standard TOC (3 levels) | `TableOfContents.createStandard()` |
410
+ | `TableOfContents.createSimple(title?)` | Simple TOC (2 levels) | `TableOfContents.createSimple()` |
411
+ | `TableOfContents.createDetailed(title?)` | Detailed TOC (4 levels) | `TableOfContents.createDetailed()` |
412
+ | `TableOfContents.createHyperlinked(title?)` | Hyperlinked TOC | `TableOfContents.createHyperlinked()` |
413
+ | `TableOfContents.createWithStyles(styles, opts?)` | TOC with specific styles | `TableOfContents.createWithStyles(['H1','H3'])` |
414
+ | `TableOfContents.createFlat(title?, styles?)` | Flat TOC (no indent) | `TableOfContents.createFlat()` |
415
+ | `TableOfContents.createNumbered(title?, format?)` | Numbered TOC | `TableOfContents.createNumbered('TOC', 'roman')` |
416
+ | `TableOfContents.createWithSpacing(spacing, opts?)` | TOC with custom spacing | `TableOfContents.createWithSpacing(120)` |
417
+ | `TableOfContents.createWithHyperlinkColor(color, opts?)` | Custom hyperlink color | `TableOfContents.createWithHyperlinkColor('FF0000')` |
418
+
419
+ #### TOC Configuration Methods
420
+
421
+ | Method | Description | Values |
422
+ | ----------------------------------- | --------------------------------- | ----------------------------------- |
423
+ | `setIncludeStyles(styles)` | Select specific heading styles | `['Heading1', 'Heading3']` |
424
+ | `setNumbered(numbered, format?)` | Enable/disable numbering | `(true, 'roman')` |
425
+ | `setNoIndent(noIndent)` | Remove indentation | `true/false` |
426
+ | `setCustomIndents(indents)` | Custom indents per level | `[0, 200, 400]` (twips) |
427
+ | `setSpaceBetweenEntries(spacing)` | Spacing between entries | `120` (twips) |
428
+ | `setHyperlinkColor(color)` | Hyperlink color | `'0000FF'` (default blue) |
429
+ | `configure(options)` | Bulk configuration | See example below |
430
+
431
+ #### TOC Properties
432
+
433
+ | Property | Type | Default | Description |
434
+ | -------------------- | ------------------------------ | ------------ | ------------------------------------- |
435
+ | `title` | `string` | `'Table of Contents'` | TOC title |
436
+ | `levels` | `number` (1-9) | `3` | Heading levels to include |
437
+ | `includeStyles` | `string[]` | `undefined` | Specific styles (overrides levels) |
438
+ | `showPageNumbers` | `boolean` | `true` | Show page numbers |
439
+ | `useHyperlinks` | `boolean` | `false` | Use hyperlinks instead of page #s |
440
+ | `numbered` | `boolean` | `false` | Number TOC entries |
441
+ | `numberingFormat` | `'decimal'/'roman'/'alpha'` | `'decimal'` | Numbering format |
442
+ | `noIndent` | `boolean` | `false` | Remove all indentation |
443
+ | `customIndents` | `number[]` | `undefined` | Custom indents in twips |
444
+ | `spaceBetweenEntries`| `number` | `0` | Spacing in twips |
445
+ | `hyperlinkColor` | `string` | `'0000FF'` | Hyperlink color (hex without #) |
446
+ | `tabLeader` | `'dot'/'hyphen'/'underscore'/'none'` | `'dot'` | Tab leader character |
447
+
448
+ **Example:**
449
+ ```typescript
450
+ // Basic TOC
451
+ const simpleToc = TableOfContents.createStandard();
452
+ doc.addTableOfContents(simpleToc);
453
+
454
+ // Select specific styles (e.g., only Heading1 and Heading3)
455
+ const customToc = TableOfContents.createWithStyles(['Heading1', 'Heading3']);
456
+
457
+ // Flat TOC with no indentation
458
+ const flatToc = TableOfContents.createFlat('Contents');
459
+
460
+ // Numbered TOC with roman numerals
461
+ const numberedToc = TableOfContents.createNumbered('Table of Contents', 'roman');
462
+
463
+ // Custom hyperlink color (red instead of blue)
464
+ const coloredToc = TableOfContents.createWithHyperlinkColor('FF0000');
465
+
466
+ // Advanced configuration
467
+ const toc = TableOfContents.create()
468
+ .setIncludeStyles(['Heading1', 'Heading2', 'Heading3'])
469
+ .setNumbered(true, 'decimal')
470
+ .setSpaceBetweenEntries(120) // 6pt spacing
471
+ .setHyperlinkColor('0000FF')
472
+ .setNoIndent(false);
473
+
474
+ // Or use configure() for bulk settings
475
+ toc.configure({
476
+ title: 'Table of Contents',
477
+ includeStyles: ['Heading1', 'CustomHeader'],
478
+ numbered: true,
479
+ numberingFormat: 'alpha',
480
+ spaceBetweenEntries: 100,
481
+ hyperlinkColor: 'FF0000',
482
+ noIndent: true
483
+ });
484
+
485
+ // Insert at specific position
486
+ doc.insertTocAt(0, toc);
487
+ ```
488
+
224
489
  ### Image Handling
225
490
 
226
491
  | Method | Description | Example |
@@ -727,6 +992,67 @@ const run = new Run("Text<w:t>value</w:t>", { cleanXmlFromText: false });
727
992
 
728
993
  For more details, see the [corruption detection examples](examples/troubleshooting/).
729
994
 
995
+ ### Layout Conflicts (Massive Whitespace)
996
+
997
+ **Problem**: Documents show massive whitespace between paragraphs when opened in Word, even though the XML looks correct.
998
+
999
+ **Cause**: The `pageBreakBefore` property conflicting with `keepNext`/`keepLines` properties. When a paragraph has both `pageBreakBefore` and keep properties set to true, Word's layout engine tries to satisfy contradictory constraints (insert break vs. keep together), resulting in massive whitespace as it struggles to resolve the conflict.
1000
+
1001
+ **Why This Causes Problems**:
1002
+ - `pageBreakBefore` tells Word to insert a page break before the paragraph
1003
+ - `keepNext` tells Word to keep the paragraph with the next one (no break)
1004
+ - `keepLines` tells Word to keep all lines together (no break)
1005
+ - The combination creates layout conflicts that manifest as massive whitespace
1006
+
1007
+ **Automatic Conflict Resolution** (v0.28.2+):
1008
+
1009
+ The framework now automatically prevents these conflicts by **prioritizing keep properties over page breaks**:
1010
+
1011
+ ```typescript
1012
+ // When setting keepNext or keepLines, pageBreakBefore is automatically cleared
1013
+ const para = new Paragraph()
1014
+ .addText("Content")
1015
+ .setPageBreakBefore(true) // Set to true
1016
+ .setKeepNext(true); // Automatically clears pageBreakBefore
1017
+
1018
+ // Result: keepNext=true, pageBreakBefore=false (conflict resolved)
1019
+ ```
1020
+
1021
+ **Why This Priority?**
1022
+ - Keep properties (`keepNext`/`keepLines`) represent explicit user intent to keep content together
1023
+ - Page breaks are often layout hints that may conflict with document flow
1024
+ - Removing `pageBreakBefore` eliminates whitespace while preserving the user's intention
1025
+
1026
+ **Parsing Documents**:
1027
+
1028
+ When loading existing DOCX files with conflicts, they are automatically resolved:
1029
+
1030
+ ```typescript
1031
+ // Load document with conflicts
1032
+ const doc = await Document.load("document-with-conflicts.docx");
1033
+
1034
+ // Conflicts are automatically resolved during parsing
1035
+ // keepNext/keepLines take priority, pageBreakBefore is removed
1036
+ ```
1037
+
1038
+ **How It Works**:
1039
+ 1. When `setKeepNext(true)` is called, `pageBreakBefore` is automatically set to `false`
1040
+ 2. When `setKeepLines(true)` is called, `pageBreakBefore` is automatically set to `false`
1041
+ 3. When parsing documents, if both properties exist, `pageBreakBefore` is cleared
1042
+ 4. Keep properties win because they represent explicit user intent
1043
+
1044
+ **Manual Override**:
1045
+
1046
+ If you need a page break despite keep properties, set it after:
1047
+
1048
+ ```typescript
1049
+ const para = new Paragraph()
1050
+ .setKeepNext(true) // Set first
1051
+ .setPageBreakBefore(true); // Override - you explicitly want this conflict
1052
+
1053
+ // But note: This will cause layout issues (whitespace) in Word
1054
+ ```
1055
+
730
1056
  ## Contributing
731
1057
 
732
1058
  Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md).
@@ -1,27 +1,29 @@
1
- import { ZipHandler } from '../zip/ZipHandler';
2
- import { Paragraph } from '../elements/Paragraph';
3
- import { Table } from '../elements/Table';
4
- import { Section } from '../elements/Section';
5
- import { Image } from '../elements/Image';
6
- import { ImageManager } from '../elements/ImageManager';
7
- import { Header } from '../elements/Header';
8
- import { Footer } from '../elements/Footer';
9
- import { HeaderFooterManager } from '../elements/HeaderFooterManager';
10
- import { TableOfContents } from '../elements/TableOfContents';
11
- import { TableOfContentsElement } from '../elements/TableOfContentsElement';
12
- import { Bookmark } from '../elements/Bookmark';
13
- import { BookmarkManager } from '../elements/BookmarkManager';
14
- import { Revision, RevisionType } from '../elements/Revision';
15
- import { RevisionManager } from '../elements/RevisionManager';
16
- import { Comment } from '../elements/Comment';
17
- import { CommentManager } from '../elements/CommentManager';
18
- import { Run } from '../elements/Run';
19
- import { Hyperlink } from '../elements/Hyperlink';
20
- import { StylesManager } from '../formatting/StylesManager';
21
- import { Style, StyleProperties } from '../formatting/Style';
22
- import { NumberingManager } from '../formatting/NumberingManager';
23
- import { RelationshipManager } from './RelationshipManager';
24
- import { ILogger } from '../utils/logger';
1
+ import { ZipHandler } from "../zip/ZipHandler";
2
+ import { Paragraph } from "../elements/Paragraph";
3
+ import { Table } from "../elements/Table";
4
+ import { TableCell } from "../elements/TableCell";
5
+ import { Section } from "../elements/Section";
6
+ import { Image } from "../elements/Image";
7
+ import { ImageManager } from "../elements/ImageManager";
8
+ import { Header } from "../elements/Header";
9
+ import { Footer } from "../elements/Footer";
10
+ import { HeaderFooterManager } from "../elements/HeaderFooterManager";
11
+ import { TableOfContents } from "../elements/TableOfContents";
12
+ import { TableOfContentsElement } from "../elements/TableOfContentsElement";
13
+ import { Bookmark } from "../elements/Bookmark";
14
+ import { StructuredDocumentTag } from "../elements/StructuredDocumentTag";
15
+ import { BookmarkManager } from "../elements/BookmarkManager";
16
+ import { Revision, RevisionType } from "../elements/Revision";
17
+ import { RevisionManager } from "../elements/RevisionManager";
18
+ import { Comment } from "../elements/Comment";
19
+ import { CommentManager } from "../elements/CommentManager";
20
+ import { Run } from "../elements/Run";
21
+ import { Hyperlink } from "../elements/Hyperlink";
22
+ import { StylesManager } from "../formatting/StylesManager";
23
+ import { Style, StyleProperties } from "../formatting/Style";
24
+ import { NumberingManager } from "../formatting/NumberingManager";
25
+ import { RelationshipManager } from "./RelationshipManager";
26
+ import { ILogger } from "../utils/logger";
25
27
  export interface DocumentProperties {
26
28
  title?: string;
27
29
  subject?: string;
@@ -52,11 +54,12 @@ export interface DocumentOptions {
52
54
  maxSingleImageSizeMB?: number;
53
55
  logger?: ILogger;
54
56
  }
55
- type BodyElement = Paragraph | Table | TableOfContentsElement;
57
+ type BodyElement = Paragraph | Table | TableOfContentsElement | StructuredDocumentTag;
56
58
  export declare class Document {
57
59
  private zipHandler;
58
60
  private bodyElements;
59
61
  private properties;
62
+ namespaces: Record<string, string>;
60
63
  private stylesManager;
61
64
  private numberingManager;
62
65
  private section;
@@ -106,17 +109,45 @@ export declare class Document {
106
109
  getStyles(): Style[];
107
110
  removeStyle(styleId: string): boolean;
108
111
  updateStyle(styleId: string, properties: Partial<StyleProperties>): boolean;
112
+ applyStyleToAll(styleId: string, predicate: (element: Paragraph | Table | TableOfContentsElement | StructuredDocumentTag) => boolean): number;
113
+ findElementsByStyle(styleId: string): Array<Paragraph | TableCell>;
114
+ applyStyleToAllParagraphsWithStyle(currentStyleId: string, newStyleId: string): number;
115
+ applyStyleToAllParagraphs(styleId: string, options?: {
116
+ currentStyleId?: string;
117
+ clearFormatting?: boolean;
118
+ clearProperties?: string[];
119
+ }): number;
120
+ updateAllHyperlinkColors(color: string): number;
121
+ setAllTablesLayout(layout: "auto" | "fixed"): number;
122
+ applyTableFormattingBySize(singleCellShading: string, multiCellFirstRowShading: string): {
123
+ singleCellCount: number;
124
+ multiCellCount: number;
125
+ };
126
+ fixTODHyperlinks(): number;
127
+ setIfColumnWidth(): number;
128
+ centerLargeImages(minPixels?: number): number;
129
+ setListLineSpacing(spacingTwips?: number): number;
130
+ normalizeNumberedLists(): number;
131
+ normalizeBulletLists(): number;
132
+ private cleanupUnusedNumbering;
133
+ removeAllHeadersFooters(): number;
109
134
  getStylesXml(): string;
110
135
  setStylesXml(xml: string): void;
111
136
  getZipHandler(): ZipHandler;
112
137
  getNumberingManager(): NumberingManager;
113
138
  createBulletList(levels?: number, bullets?: string[]): number;
114
- createNumberedList(levels?: number, formats?: Array<'decimal' | 'lowerLetter' | 'lowerRoman'>): number;
139
+ createNumberedList(levels?: number, formats?: Array<"decimal" | "lowerLetter" | "lowerRoman">): number;
115
140
  createMultiLevelList(): number;
141
+ getStandardIndentation(level: number): {
142
+ leftIndent: number;
143
+ hangingIndent: number;
144
+ };
145
+ setListIndentation(numId: number, level: number, leftIndent: number, hangingIndent?: number): this;
146
+ normalizeAllListIndentation(): number;
116
147
  getSection(): Section;
117
148
  setSection(section: Section): this;
118
- setPageSize(width: number, height: number, orientation?: 'portrait' | 'landscape'): this;
119
- setPageOrientation(orientation: 'portrait' | 'landscape'): this;
149
+ setPageSize(width: number, height: number, orientation?: "portrait" | "landscape"): this;
150
+ setPageOrientation(orientation: "portrait" | "landscape"): this;
120
151
  setMargins(margins: {
121
152
  top: number;
122
153
  bottom: number;
@@ -258,6 +289,13 @@ export declare class Document {
258
289
  removeParagraph(paragraphOrIndex: Paragraph | number): boolean;
259
290
  removeTable(tableOrIndex: Table | number): boolean;
260
291
  insertParagraphAt(index: number, paragraph: Paragraph): this;
292
+ insertTableAt(index: number, table: Table): this;
293
+ insertTocAt(index: number, toc: TableOfContentsElement): this;
294
+ replaceParagraphAt(index: number, paragraph: Paragraph): boolean;
295
+ replaceTableAt(index: number, table: Table): boolean;
296
+ moveElement(fromIndex: number, toIndex: number): boolean;
297
+ swapElements(index1: number, index2: number): boolean;
298
+ removeTocAt(index: number): boolean;
261
299
  getHyperlinks(): Array<{
262
300
  hyperlink: Hyperlink;
263
301
  paragraph: Paragraph;
@@ -1 +1 @@
1
- {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Document.d.ts","sourceRoot":"","sources":["../../src/core/Document.ts"],"names":[],"mappings":"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"}