@cj-tech-master/excelts 9.5.4 → 9.5.5
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/browser/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/browser/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/browser/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/browser/modules/archive/fs/archive-file.d.ts +8 -5
- package/dist/browser/modules/archive/fs/archive-file.js +78 -16
- package/dist/browser/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/browser/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/browser/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/browser/modules/excel/chart/chart-ex-types.d.ts +0 -12
- package/dist/browser/modules/excel/chart/chart.d.ts +1 -5
- package/dist/browser/modules/excel/chart/chart.js +1 -7
- package/dist/browser/modules/excel/chart/types.d.ts +0 -6
- package/dist/browser/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/browser/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
- package/dist/browser/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/browser/modules/excel/utils/string-buf.d.ts +5 -26
- package/dist/browser/modules/excel/utils/string-buf.js +4 -81
- package/dist/browser/modules/excel/workbook.browser.js +135 -25
- package/dist/browser/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/browser/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
- package/dist/browser/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/browser/modules/excel/xlsx/xlsx.d.ts +10 -2
- package/dist/browser/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/browser/modules/pdf/excel-bridge.d.ts +30 -1
- package/dist/browser/modules/pdf/excel-bridge.js +32 -0
- package/dist/browser/modules/pdf/font/metrics.d.ts +3 -52
- package/dist/browser/modules/pdf/font/metrics.js +3 -237
- package/dist/browser/modules/pdf/index.d.ts +1 -1
- package/dist/browser/modules/pdf/index.js +1 -1
- package/dist/browser/modules/pdf/render-layout-to-pdf.d.ts +66 -0
- package/dist/browser/modules/pdf/render-layout-to-pdf.js +647 -0
- package/dist/browser/modules/pdf/word-bridge.d.ts +80 -12
- package/dist/browser/modules/pdf/word-bridge.js +122 -274
- package/dist/browser/modules/stream/index.base.d.ts +2 -0
- package/dist/browser/modules/stream/index.base.js +2 -1
- package/dist/browser/modules/stream/internal/sink-adapter.d.ts +65 -0
- package/dist/browser/modules/stream/internal/sink-adapter.js +198 -0
- package/dist/browser/modules/stream/pull-stream.d.ts +19 -2
- package/dist/browser/modules/stream/pull-stream.js +51 -5
- package/dist/browser/modules/stream/types.d.ts +13 -1
- package/dist/browser/modules/word/advanced/diff.d.ts +61 -0
- package/dist/browser/modules/word/advanced/diff.js +167 -0
- package/dist/browser/modules/word/advanced/drawing-shapes.d.ts +269 -0
- package/dist/browser/modules/word/advanced/drawing-shapes.js +268 -0
- package/dist/browser/modules/word/advanced/field-engine.d.ts +43 -0
- package/dist/browser/modules/word/advanced/field-engine.js +1225 -0
- package/dist/browser/modules/word/advanced/glossary.d.ts +86 -0
- package/dist/browser/modules/word/advanced/glossary.js +79 -0
- package/dist/browser/modules/word/advanced/math-convert.d.ts +30 -0
- package/dist/browser/modules/word/advanced/math-convert.js +595 -0
- package/dist/browser/modules/word/advanced/ole-objects.d.ts +115 -0
- package/dist/browser/modules/word/advanced/ole-objects.js +271 -0
- package/dist/browser/modules/word/advanced/style-map.d.ts +105 -0
- package/dist/browser/modules/word/advanced/style-map.js +322 -0
- package/dist/browser/modules/word/advanced/validation.d.ts +56 -0
- package/dist/browser/modules/word/advanced/validation.js +1065 -0
- package/dist/browser/modules/word/advanced/vba-project.d.ts +91 -0
- package/dist/browser/modules/word/advanced/vba-project.js +265 -0
- package/dist/browser/modules/word/bridge/excel-bridge.d.ts +127 -0
- package/dist/browser/modules/word/bridge/excel-bridge.js +980 -0
- package/dist/browser/modules/word/builder/document-handle.d.ts +151 -0
- package/dist/browser/modules/word/builder/document-handle.js +664 -0
- package/dist/browser/modules/word/builder/paragraph-builders.d.ts +61 -0
- package/dist/browser/modules/word/builder/paragraph-builders.js +90 -0
- package/dist/browser/modules/word/builder/run-builders.d.ts +374 -0
- package/dist/browser/modules/word/builder/run-builders.js +600 -0
- package/dist/browser/modules/word/builder/table-builders.d.ts +23 -0
- package/dist/browser/modules/word/builder/table-builders.js +45 -0
- package/dist/browser/modules/word/constants.d.ts +39 -1
- package/dist/browser/modules/word/constants.js +109 -1
- package/dist/browser/modules/word/convert/conversion-ir.d.ts +210 -0
- package/dist/browser/modules/word/convert/conversion-ir.js +31 -0
- package/dist/browser/modules/word/convert/docx-to-semantic.d.ts +39 -0
- package/dist/browser/modules/word/convert/docx-to-semantic.js +499 -0
- package/dist/browser/modules/word/convert/flat-opc.d.ts +44 -0
- package/dist/browser/modules/word/convert/flat-opc.js +385 -0
- package/dist/browser/modules/word/convert/html/html-import.d.ts +50 -0
- package/dist/browser/modules/word/convert/html/html-import.js +1907 -0
- package/dist/{types/modules/word → browser/modules/word/convert/html}/html-renderer.d.ts +14 -1
- package/dist/{esm/modules/word → browser/modules/word/convert/html}/html-renderer.js +420 -69
- package/dist/browser/modules/word/convert/html/html.d.ts +15 -0
- package/dist/browser/modules/word/convert/html/html.js +15 -0
- package/dist/browser/modules/word/convert/markdown/markdown-import.d.ts +68 -0
- package/dist/browser/modules/word/convert/markdown/markdown-import.js +1325 -0
- package/dist/browser/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
- package/dist/browser/modules/word/convert/markdown/markdown-renderer.js +634 -0
- package/dist/browser/modules/word/convert/markdown/markdown.d.ts +15 -0
- package/dist/browser/modules/word/convert/markdown/markdown.js +15 -0
- package/dist/browser/modules/word/convert/odt/odt.d.ts +41 -0
- package/dist/browser/modules/word/convert/odt/odt.js +1932 -0
- package/dist/browser/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
- package/dist/browser/modules/word/core/color-utils.js +43 -0
- package/dist/browser/modules/word/core/internal-utils.d.ts +90 -0
- package/dist/browser/modules/word/core/internal-utils.js +209 -0
- package/dist/browser/modules/word/core/mapper.d.ts +44 -0
- package/dist/browser/modules/word/core/mapper.js +427 -0
- package/dist/browser/modules/word/core/opc-paths.d.ts +33 -0
- package/dist/browser/modules/word/core/opc-paths.js +48 -0
- package/dist/browser/modules/word/core/text-utils.d.ts +38 -0
- package/dist/browser/modules/word/core/text-utils.js +202 -0
- package/dist/browser/modules/word/core/walker.d.ts +119 -0
- package/dist/browser/modules/word/core/walker.js +570 -0
- package/dist/browser/modules/word/crypto.d.ts +14 -9
- package/dist/browser/modules/word/crypto.js +13 -7
- package/dist/browser/modules/word/document-io.d.ts +59 -27
- package/dist/browser/modules/word/document-io.js +80 -197
- package/dist/browser/modules/word/errors.d.ts +44 -1
- package/dist/browser/modules/word/errors.js +54 -2
- package/dist/browser/modules/word/excel.d.ts +14 -0
- package/dist/browser/modules/word/excel.js +13 -0
- package/dist/browser/modules/word/font/font-embed.d.ts +112 -0
- package/dist/browser/modules/word/font/font-embed.js +646 -0
- package/dist/{esm/modules/word → browser/modules/word/font}/font-obfuscation.js +4 -9
- package/dist/browser/modules/word/font/hyphenation.d.ts +65 -0
- package/dist/browser/modules/word/font/hyphenation.js +4210 -0
- package/dist/browser/modules/word/font/text-shaping.d.ts +58 -0
- package/dist/browser/modules/word/font/text-shaping.js +635 -0
- package/dist/browser/modules/word/html.d.ts +7 -6
- package/dist/browser/modules/word/html.js +6 -5
- package/dist/browser/modules/word/incremental-edit.d.ts +123 -0
- package/dist/browser/modules/word/incremental-edit.js +361 -0
- package/dist/browser/modules/word/index.base.d.ts +194 -10
- package/dist/browser/modules/word/index.base.js +138 -29
- package/dist/browser/modules/word/layout/layout-constants.d.ts +17 -0
- package/dist/browser/modules/word/layout/layout-constants.js +17 -0
- package/dist/browser/modules/word/layout/layout-full.d.ts +53 -0
- package/dist/browser/modules/word/layout/layout-full.js +1696 -0
- package/dist/browser/modules/word/layout/layout-model.d.ts +344 -0
- package/dist/browser/modules/word/layout/layout-model.js +16 -0
- package/dist/browser/modules/word/layout/layout.d.ts +63 -0
- package/dist/browser/modules/word/layout/layout.js +1167 -0
- package/dist/browser/modules/word/layout/render-page.d.ts +57 -0
- package/dist/browser/modules/word/layout/render-page.js +1238 -0
- package/dist/browser/modules/word/markdown.d.ts +14 -0
- package/dist/browser/modules/word/markdown.js +13 -0
- package/dist/browser/modules/word/patcher.d.ts +62 -0
- package/dist/browser/modules/word/patcher.js +537 -0
- package/dist/browser/modules/word/query/compat.d.ts +25 -0
- package/dist/browser/modules/word/query/compat.js +58 -0
- package/dist/browser/modules/word/query/data-binding.d.ts +22 -0
- package/dist/browser/modules/word/query/data-binding.js +392 -0
- package/dist/browser/modules/word/query/form-fields.d.ts +41 -0
- package/dist/browser/modules/word/query/form-fields.js +268 -0
- package/dist/browser/modules/word/query/format-search.d.ts +99 -0
- package/dist/browser/modules/word/query/format-search.js +329 -0
- package/dist/browser/modules/word/query/mail-merge.d.ts +25 -0
- package/dist/browser/modules/word/query/mail-merge.js +111 -0
- package/dist/browser/modules/word/query/merge.d.ts +50 -0
- package/dist/browser/modules/word/query/merge.js +617 -0
- package/dist/browser/modules/word/query/replace.d.ts +47 -0
- package/dist/browser/modules/word/query/replace.js +301 -0
- package/dist/browser/modules/word/query/revisions.d.ts +67 -0
- package/dist/browser/modules/word/query/revisions.js +879 -0
- package/dist/browser/modules/word/query/search.d.ts +129 -0
- package/dist/browser/modules/word/query/search.js +346 -0
- package/dist/browser/modules/word/query/split.d.ts +44 -0
- package/dist/browser/modules/word/query/split.js +135 -0
- package/dist/browser/modules/word/query/style-resolve.d.ts +104 -0
- package/dist/browser/modules/word/query/style-resolve.js +368 -0
- package/dist/browser/modules/word/reader/chart-parser.d.ts +20 -0
- package/dist/browser/modules/word/reader/chart-parser.js +810 -0
- package/dist/browser/modules/word/reader/comments-parser.d.ts +26 -0
- package/dist/browser/modules/word/reader/comments-parser.js +92 -0
- package/dist/browser/modules/word/reader/doc-props-parsers.d.ts +15 -0
- package/dist/browser/modules/word/reader/doc-props-parsers.js +190 -0
- package/dist/browser/modules/word/reader/docx-reader.d.ts +27 -0
- package/dist/browser/modules/word/reader/docx-reader.js +2557 -0
- package/dist/browser/modules/word/reader/drawing-helpers.d.ts +27 -0
- package/dist/browser/modules/word/reader/drawing-helpers.js +84 -0
- package/dist/browser/modules/word/reader/form-field-parser.d.ts +21 -0
- package/dist/browser/modules/word/reader/form-field-parser.js +82 -0
- package/dist/browser/modules/word/reader/image-parsers.d.ts +11 -0
- package/dist/browser/modules/word/reader/image-parsers.js +291 -0
- package/dist/browser/modules/word/reader/math-parser.d.ts +12 -0
- package/dist/browser/modules/word/reader/math-parser.js +422 -0
- package/dist/browser/modules/word/reader/metadata-parsers.d.ts +17 -0
- package/dist/browser/modules/word/reader/metadata-parsers.js +87 -0
- package/dist/browser/modules/word/reader/numbering-parser.d.ts +13 -0
- package/dist/browser/modules/word/reader/numbering-parser.js +166 -0
- package/dist/browser/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
- package/dist/browser/modules/word/reader/paragraph-section-parsers.js +503 -0
- package/dist/browser/modules/word/reader/parse-utils.d.ts +91 -0
- package/dist/browser/modules/word/reader/parse-utils.js +249 -0
- package/dist/browser/modules/word/reader/properties-parsers.d.ts +21 -0
- package/dist/browser/modules/word/reader/properties-parsers.js +332 -0
- package/dist/browser/modules/word/reader/reader-context.d.ts +69 -0
- package/dist/browser/modules/word/reader/reader-context.js +61 -0
- package/dist/browser/modules/word/reader/sdt-helpers.d.ts +29 -0
- package/dist/browser/modules/word/reader/sdt-helpers.js +111 -0
- package/dist/browser/modules/word/reader/settings-parser.d.ts +8 -0
- package/dist/browser/modules/word/reader/settings-parser.js +263 -0
- package/dist/browser/modules/word/reader/styles-parser.d.ts +12 -0
- package/dist/browser/modules/word/reader/styles-parser.js +147 -0
- package/dist/browser/modules/word/reader/table-properties-parsers.d.ts +12 -0
- package/dist/browser/modules/word/reader/table-properties-parsers.js +234 -0
- package/dist/browser/modules/word/reader/theme-parser.d.ts +8 -0
- package/dist/browser/modules/word/reader/theme-parser.js +167 -0
- package/dist/browser/modules/word/reader/watermark-parser.d.ts +15 -0
- package/dist/browser/modules/word/reader/watermark-parser.js +110 -0
- package/dist/browser/modules/word/security/cfb-reader.d.ts +37 -0
- package/dist/browser/modules/word/security/cfb-reader.js +410 -0
- package/dist/browser/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
- package/dist/browser/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/browser/modules/word/security/document-protection.d.ts +93 -0
- package/dist/browser/modules/word/security/document-protection.js +201 -0
- package/dist/{types/modules/word → browser/modules/word/security}/encryption.d.ts +51 -4
- package/dist/browser/modules/word/security/encryption.js +602 -0
- package/dist/browser/modules/word/security/policy.d.ts +80 -0
- package/dist/browser/modules/word/security/policy.js +102 -0
- package/dist/browser/modules/word/template/template-chart.d.ts +56 -0
- package/dist/browser/modules/word/template/template-chart.js +167 -0
- package/dist/browser/modules/word/template/template-datasource.d.ts +154 -0
- package/dist/browser/modules/word/template/template-datasource.js +541 -0
- package/dist/browser/modules/word/template/template-engine.d.ts +121 -0
- package/dist/browser/modules/word/template/template-engine.js +1435 -0
- package/dist/browser/modules/word/types.d.ts +224 -25
- package/dist/browser/modules/word/units.d.ts +26 -0
- package/dist/browser/modules/word/units.js +43 -14
- package/dist/browser/modules/word/{writers → writer}/chart-writer.js +164 -23
- package/dist/browser/modules/word/writer/checkbox-writer.d.ts +17 -0
- package/dist/browser/modules/word/writer/checkbox-writer.js +79 -0
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/comment-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/browser/modules/word/writer/common-parts.d.ts +57 -0
- package/dist/browser/modules/word/writer/common-parts.js +101 -0
- package/dist/{types/modules/word → browser/modules/word/writer}/content-types.d.ts +2 -2
- package/dist/{esm/modules/word → browser/modules/word/writer}/content-types.js +14 -6
- package/dist/browser/modules/word/writer/document-writer.d.ts +24 -0
- package/dist/browser/modules/word/writer/document-writer.js +473 -0
- package/dist/browser/modules/word/writer/docx-packager.d.ts +35 -0
- package/dist/browser/modules/word/writer/docx-packager.js +1515 -0
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/footnote-writer.d.ts +3 -2
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/footnote-writer.js +13 -10
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/header-footer-writer.d.ts +3 -2
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/header-footer-writer.js +39 -21
- package/dist/{types/modules/word/writers → browser/modules/word/writer}/image-writer.d.ts +1 -1
- package/dist/browser/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/browser/modules/word/writer/math-writer.d.ts +20 -0
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/math-writer.js +21 -1
- package/dist/browser/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/numbering-writer.js +11 -4
- package/dist/browser/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/paragraph-writer.js +73 -38
- package/dist/browser/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/parts-writer.js +91 -12
- package/dist/browser/modules/word/writer/reference-scanners.d.ts +42 -0
- package/dist/browser/modules/word/writer/reference-scanners.js +111 -0
- package/dist/browser/modules/word/writer/relationships.d.ts +52 -0
- package/dist/browser/modules/word/writer/relationships.js +117 -0
- package/dist/browser/modules/word/writer/render-context.d.ts +124 -0
- package/dist/browser/modules/word/writer/render-context.js +46 -0
- package/dist/browser/modules/word/{writers → writer}/run-writer.d.ts +10 -1
- package/dist/{esm/modules/word/writers → browser/modules/word/writer}/run-writer.js +126 -24
- package/dist/browser/modules/word/writer/sdt-writer.d.ts +25 -0
- package/dist/browser/modules/word/writer/sdt-writer.js +189 -0
- package/dist/browser/modules/word/writer/stream-buf.d.ts +37 -0
- package/dist/browser/modules/word/writer/stream-buf.js +73 -0
- package/dist/browser/modules/word/writer/streaming-writer.d.ts +344 -0
- package/dist/browser/modules/word/writer/streaming-writer.js +1382 -0
- package/dist/browser/modules/word/writer/string-buf.d.ts +8 -0
- package/dist/browser/modules/word/writer/string-buf.js +7 -0
- package/dist/browser/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/browser/modules/word/{writers → writer}/table-writer.d.ts +2 -1
- package/dist/browser/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/browser/modules/xml/types.d.ts +22 -0
- package/dist/browser/utils/crypto.browser.d.ts +3 -1
- package/dist/browser/utils/crypto.browser.js +3 -1
- package/dist/browser/utils/crypto.d.ts +4 -1
- package/dist/browser/utils/crypto.js +4 -1
- package/dist/browser/utils/font-metrics.d.ts +63 -0
- package/dist/browser/utils/font-metrics.js +293 -0
- package/dist/browser/utils/string-buf.d.ts +42 -0
- package/dist/browser/utils/string-buf.js +89 -0
- package/dist/browser/utils/theme-colors.d.ts +55 -0
- package/dist/browser/utils/theme-colors.js +120 -0
- package/dist/cjs/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/cjs/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/cjs/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/cjs/modules/archive/fs/archive-file.js +78 -16
- package/dist/cjs/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/cjs/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/cjs/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/cjs/modules/excel/chart/chart.js +1 -7
- package/dist/cjs/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/cjs/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/cjs/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/cjs/modules/excel/utils/string-buf.js +5 -81
- package/dist/cjs/modules/excel/workbook.browser.js +135 -25
- package/dist/cjs/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/cjs/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/cjs/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/cjs/modules/pdf/excel-bridge.js +33 -0
- package/dist/cjs/modules/pdf/font/metrics.js +11 -244
- package/dist/cjs/modules/pdf/index.js +2 -1
- package/dist/cjs/modules/pdf/render-layout-to-pdf.js +651 -0
- package/dist/cjs/modules/pdf/word-bridge.js +155 -274
- package/dist/cjs/modules/stream/index.base.js +4 -2
- package/dist/cjs/modules/stream/internal/sink-adapter.js +202 -0
- package/dist/cjs/modules/stream/pull-stream.js +51 -5
- package/dist/cjs/modules/word/advanced/diff.js +170 -0
- package/dist/cjs/modules/word/advanced/drawing-shapes.js +279 -0
- package/dist/cjs/modules/word/advanced/field-engine.js +1229 -0
- package/dist/cjs/modules/word/advanced/glossary.js +87 -0
- package/dist/cjs/modules/word/advanced/math-convert.js +599 -0
- package/dist/cjs/modules/word/advanced/ole-objects.js +277 -0
- package/dist/cjs/modules/word/advanced/style-map.js +329 -0
- package/dist/cjs/modules/word/advanced/validation.js +1068 -0
- package/dist/cjs/modules/word/advanced/vba-project.js +274 -0
- package/dist/cjs/modules/word/bridge/excel-bridge.js +1020 -0
- package/dist/cjs/modules/word/builder/document-handle.js +667 -0
- package/dist/cjs/modules/word/builder/paragraph-builders.js +109 -0
- package/dist/cjs/modules/word/builder/run-builders.js +676 -0
- package/dist/cjs/modules/word/builder/table-builders.js +53 -0
- package/dist/cjs/modules/word/constants.js +111 -2
- package/dist/cjs/modules/word/convert/conversion-ir.js +34 -0
- package/dist/cjs/modules/word/convert/docx-to-semantic.js +502 -0
- package/dist/cjs/modules/word/convert/flat-opc.js +390 -0
- package/dist/cjs/modules/word/convert/html/html-import.js +1910 -0
- package/dist/cjs/modules/word/{html-renderer.js → convert/html/html-renderer.js} +420 -69
- package/dist/cjs/modules/word/convert/html/html.js +20 -0
- package/dist/cjs/modules/word/convert/markdown/markdown-import.js +1329 -0
- package/dist/cjs/modules/word/convert/markdown/markdown-renderer.js +637 -0
- package/dist/cjs/modules/word/convert/markdown/markdown.js +21 -0
- package/dist/cjs/modules/word/convert/odt/odt.js +1936 -0
- package/dist/cjs/modules/word/core/color-utils.js +47 -0
- package/dist/cjs/modules/word/core/internal-utils.js +219 -0
- package/dist/cjs/modules/word/core/mapper.js +430 -0
- package/dist/cjs/modules/word/core/opc-paths.js +53 -0
- package/dist/cjs/modules/word/core/text-utils.js +210 -0
- package/dist/cjs/modules/word/core/walker.js +577 -0
- package/dist/cjs/modules/word/crypto.js +19 -8
- package/dist/cjs/modules/word/document-io.js +117 -197
- package/dist/cjs/modules/word/errors.js +59 -13
- package/dist/cjs/modules/word/excel.js +22 -0
- package/dist/cjs/modules/word/font/font-embed.js +652 -0
- package/dist/cjs/modules/word/{font-obfuscation.js → font/font-obfuscation.js} +4 -9
- package/dist/cjs/modules/word/font/hyphenation.js +4216 -0
- package/dist/cjs/modules/word/font/text-shaping.js +640 -0
- package/dist/cjs/modules/word/html.js +9 -7
- package/dist/cjs/modules/word/incremental-edit.js +366 -0
- package/dist/cjs/modules/word/index.base.js +370 -137
- package/dist/cjs/modules/word/layout/layout-constants.js +20 -0
- package/dist/cjs/modules/word/layout/layout-full.js +1699 -0
- package/dist/cjs/modules/word/layout/layout-model.js +17 -0
- package/dist/cjs/modules/word/layout/layout.js +1170 -0
- package/dist/cjs/modules/word/layout/render-page.js +1243 -0
- package/dist/cjs/modules/word/markdown.js +19 -0
- package/dist/cjs/modules/word/patcher.js +539 -0
- package/dist/cjs/modules/word/query/compat.js +61 -0
- package/dist/cjs/modules/word/query/data-binding.js +395 -0
- package/dist/cjs/modules/word/query/form-fields.js +272 -0
- package/dist/cjs/modules/word/query/format-search.js +334 -0
- package/dist/cjs/modules/word/query/mail-merge.js +114 -0
- package/dist/cjs/modules/word/query/merge.js +620 -0
- package/dist/cjs/modules/word/query/replace.js +304 -0
- package/dist/cjs/modules/word/query/revisions.js +885 -0
- package/dist/cjs/modules/word/query/search.js +361 -0
- package/dist/cjs/modules/word/query/split.js +138 -0
- package/dist/cjs/modules/word/query/style-resolve.js +374 -0
- package/dist/cjs/modules/word/reader/chart-parser.js +814 -0
- package/dist/cjs/modules/word/reader/comments-parser.js +96 -0
- package/dist/cjs/modules/word/reader/doc-props-parsers.js +194 -0
- package/dist/cjs/modules/word/reader/docx-reader.js +2560 -0
- package/dist/cjs/modules/word/reader/drawing-helpers.js +90 -0
- package/dist/cjs/modules/word/reader/form-field-parser.js +85 -0
- package/dist/cjs/modules/word/reader/image-parsers.js +293 -0
- package/dist/cjs/modules/word/reader/math-parser.js +424 -0
- package/dist/cjs/modules/word/reader/metadata-parsers.js +93 -0
- package/dist/cjs/modules/word/reader/numbering-parser.js +168 -0
- package/dist/cjs/modules/word/reader/paragraph-section-parsers.js +505 -0
- package/dist/cjs/modules/word/reader/parse-utils.js +271 -0
- package/dist/cjs/modules/word/reader/properties-parsers.js +338 -0
- package/dist/cjs/modules/word/reader/reader-context.js +66 -0
- package/dist/cjs/modules/word/reader/sdt-helpers.js +114 -0
- package/dist/cjs/modules/word/reader/settings-parser.js +265 -0
- package/dist/cjs/modules/word/reader/styles-parser.js +149 -0
- package/dist/cjs/modules/word/reader/table-properties-parsers.js +237 -0
- package/dist/cjs/modules/word/reader/theme-parser.js +169 -0
- package/dist/cjs/modules/word/reader/watermark-parser.js +113 -0
- package/dist/cjs/modules/word/security/cfb-reader.js +414 -0
- package/dist/cjs/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/cjs/modules/word/security/document-protection.js +208 -0
- package/dist/cjs/modules/word/security/encryption.js +612 -0
- package/dist/cjs/modules/word/security/policy.js +106 -0
- package/dist/cjs/modules/word/template/template-chart.js +170 -0
- package/dist/cjs/modules/word/template/template-datasource.js +549 -0
- package/dist/cjs/modules/word/template/template-engine.js +1430 -0
- package/dist/cjs/modules/word/units.js +44 -14
- package/dist/cjs/modules/word/{writers → writer}/chart-writer.js +163 -22
- package/dist/cjs/modules/word/writer/checkbox-writer.js +82 -0
- package/dist/cjs/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/cjs/modules/word/writer/common-parts.js +104 -0
- package/dist/cjs/modules/word/{content-types.js → writer/content-types.js} +14 -6
- package/dist/cjs/modules/word/writer/document-writer.js +478 -0
- package/dist/cjs/modules/word/writer/docx-packager.js +1551 -0
- package/dist/cjs/modules/word/{writers → writer}/footnote-writer.js +13 -10
- package/dist/cjs/modules/word/{writers → writer}/header-footer-writer.js +38 -20
- package/dist/cjs/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/cjs/modules/word/{writers → writer}/math-writer.js +21 -1
- package/dist/cjs/modules/word/{writers → writer}/numbering-writer.js +11 -4
- package/dist/cjs/modules/word/{writers → writer}/paragraph-writer.js +72 -37
- package/dist/cjs/modules/word/{writers → writer}/parts-writer.js +91 -12
- package/dist/cjs/modules/word/writer/reference-scanners.js +120 -0
- package/dist/cjs/modules/word/writer/relationships.js +124 -0
- package/dist/cjs/modules/word/writer/render-context.js +51 -0
- package/dist/cjs/modules/word/{writers → writer}/run-writer.js +127 -24
- package/dist/cjs/modules/word/writer/sdt-writer.js +192 -0
- package/dist/cjs/modules/word/writer/stream-buf.js +76 -0
- package/dist/cjs/modules/word/writer/streaming-writer.js +1387 -0
- package/dist/cjs/modules/word/writer/string-buf.js +11 -0
- package/dist/cjs/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/cjs/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/cjs/utils/crypto.browser.js +3 -1
- package/dist/cjs/utils/crypto.js +4 -1
- package/dist/cjs/utils/font-metrics.js +303 -0
- package/dist/cjs/utils/string-buf.js +92 -0
- package/dist/cjs/utils/theme-colors.js +126 -0
- package/dist/esm/modules/archive/compression/streaming-compress.browser.js +29 -0
- package/dist/esm/modules/archive/compression/streaming-compress.js +9 -0
- package/dist/esm/modules/archive/compression/worker-pool/pool.browser.js +26 -1
- package/dist/esm/modules/archive/fs/archive-file.js +78 -16
- package/dist/esm/modules/archive/unzip/stream.browser.js +43 -2
- package/dist/esm/modules/excel/chart/chart-ex-builder.js +7 -2
- package/dist/esm/modules/excel/chart/chart-ex-renderer.js +4 -9
- package/dist/esm/modules/excel/chart/chart.js +1 -7
- package/dist/esm/modules/excel/stream/workbook-reader.browser.js +25 -1
- package/dist/esm/modules/excel/stream/workbook-reader.js +9 -0
- package/dist/esm/modules/excel/stream/workbook-writer.browser.js +228 -13
- package/dist/esm/modules/excel/utils/string-buf.js +4 -81
- package/dist/esm/modules/excel/workbook.browser.js +135 -25
- package/dist/esm/modules/excel/xlsx/xform/chart/chart-space-xform.js +6 -20
- package/dist/esm/modules/excel/xlsx/xlsx.browser.js +32 -8
- package/dist/esm/modules/excel/xlsx/xlsx.js +9 -1
- package/dist/esm/modules/pdf/excel-bridge.js +32 -0
- package/dist/esm/modules/pdf/font/metrics.js +3 -237
- package/dist/esm/modules/pdf/index.js +1 -1
- package/dist/esm/modules/pdf/render-layout-to-pdf.js +647 -0
- package/dist/esm/modules/pdf/word-bridge.js +122 -274
- package/dist/esm/modules/stream/index.base.js +2 -1
- package/dist/esm/modules/stream/internal/sink-adapter.js +198 -0
- package/dist/esm/modules/stream/pull-stream.js +51 -5
- package/dist/esm/modules/word/advanced/diff.js +167 -0
- package/dist/esm/modules/word/advanced/drawing-shapes.js +268 -0
- package/dist/esm/modules/word/advanced/field-engine.js +1225 -0
- package/dist/esm/modules/word/advanced/glossary.js +79 -0
- package/dist/esm/modules/word/advanced/math-convert.js +595 -0
- package/dist/esm/modules/word/advanced/ole-objects.js +271 -0
- package/dist/esm/modules/word/advanced/style-map.js +322 -0
- package/dist/esm/modules/word/advanced/validation.js +1065 -0
- package/dist/esm/modules/word/advanced/vba-project.js +265 -0
- package/dist/esm/modules/word/bridge/excel-bridge.js +980 -0
- package/dist/esm/modules/word/builder/document-handle.js +664 -0
- package/dist/esm/modules/word/builder/paragraph-builders.js +90 -0
- package/dist/esm/modules/word/builder/run-builders.js +600 -0
- package/dist/esm/modules/word/builder/table-builders.js +45 -0
- package/dist/esm/modules/word/constants.js +109 -1
- package/dist/esm/modules/word/convert/conversion-ir.js +31 -0
- package/dist/esm/modules/word/convert/docx-to-semantic.js +499 -0
- package/dist/esm/modules/word/convert/flat-opc.js +385 -0
- package/dist/esm/modules/word/convert/html/html-import.js +1907 -0
- package/dist/{browser/modules/word → esm/modules/word/convert/html}/html-renderer.js +420 -69
- package/dist/esm/modules/word/convert/html/html.js +15 -0
- package/dist/esm/modules/word/convert/markdown/markdown-import.js +1325 -0
- package/dist/esm/modules/word/convert/markdown/markdown-renderer.js +634 -0
- package/dist/esm/modules/word/convert/markdown/markdown.js +15 -0
- package/dist/esm/modules/word/convert/odt/odt.js +1932 -0
- package/dist/esm/modules/word/core/color-utils.js +43 -0
- package/dist/esm/modules/word/core/internal-utils.js +209 -0
- package/dist/esm/modules/word/core/mapper.js +427 -0
- package/dist/esm/modules/word/core/opc-paths.js +48 -0
- package/dist/esm/modules/word/core/text-utils.js +202 -0
- package/dist/esm/modules/word/core/walker.js +570 -0
- package/dist/esm/modules/word/crypto.js +13 -7
- package/dist/esm/modules/word/document-io.js +80 -197
- package/dist/esm/modules/word/errors.js +54 -2
- package/dist/esm/modules/word/excel.js +13 -0
- package/dist/esm/modules/word/font/font-embed.js +646 -0
- package/dist/{browser/modules/word → esm/modules/word/font}/font-obfuscation.js +4 -9
- package/dist/esm/modules/word/font/hyphenation.js +4210 -0
- package/dist/esm/modules/word/font/text-shaping.js +635 -0
- package/dist/esm/modules/word/html.js +6 -5
- package/dist/esm/modules/word/incremental-edit.js +361 -0
- package/dist/esm/modules/word/index.base.js +138 -29
- package/dist/esm/modules/word/layout/layout-constants.js +17 -0
- package/dist/esm/modules/word/layout/layout-full.js +1696 -0
- package/dist/esm/modules/word/layout/layout-model.js +16 -0
- package/dist/esm/modules/word/layout/layout.js +1167 -0
- package/dist/esm/modules/word/layout/render-page.js +1238 -0
- package/dist/esm/modules/word/markdown.js +13 -0
- package/dist/esm/modules/word/patcher.js +537 -0
- package/dist/esm/modules/word/query/compat.js +58 -0
- package/dist/esm/modules/word/query/data-binding.js +392 -0
- package/dist/esm/modules/word/query/form-fields.js +268 -0
- package/dist/esm/modules/word/query/format-search.js +329 -0
- package/dist/esm/modules/word/query/mail-merge.js +111 -0
- package/dist/esm/modules/word/query/merge.js +617 -0
- package/dist/esm/modules/word/query/replace.js +301 -0
- package/dist/esm/modules/word/query/revisions.js +879 -0
- package/dist/esm/modules/word/query/search.js +346 -0
- package/dist/esm/modules/word/query/split.js +135 -0
- package/dist/esm/modules/word/query/style-resolve.js +368 -0
- package/dist/esm/modules/word/reader/chart-parser.js +810 -0
- package/dist/esm/modules/word/reader/comments-parser.js +92 -0
- package/dist/esm/modules/word/reader/doc-props-parsers.js +190 -0
- package/dist/esm/modules/word/reader/docx-reader.js +2557 -0
- package/dist/esm/modules/word/reader/drawing-helpers.js +84 -0
- package/dist/esm/modules/word/reader/form-field-parser.js +82 -0
- package/dist/esm/modules/word/reader/image-parsers.js +291 -0
- package/dist/esm/modules/word/reader/math-parser.js +422 -0
- package/dist/esm/modules/word/reader/metadata-parsers.js +87 -0
- package/dist/esm/modules/word/reader/numbering-parser.js +166 -0
- package/dist/esm/modules/word/reader/paragraph-section-parsers.js +503 -0
- package/dist/esm/modules/word/reader/parse-utils.js +249 -0
- package/dist/esm/modules/word/reader/properties-parsers.js +332 -0
- package/dist/esm/modules/word/reader/reader-context.js +61 -0
- package/dist/esm/modules/word/reader/sdt-helpers.js +111 -0
- package/dist/esm/modules/word/reader/settings-parser.js +263 -0
- package/dist/esm/modules/word/reader/styles-parser.js +147 -0
- package/dist/esm/modules/word/reader/table-properties-parsers.js +234 -0
- package/dist/esm/modules/word/reader/theme-parser.js +167 -0
- package/dist/esm/modules/word/reader/watermark-parser.js +110 -0
- package/dist/esm/modules/word/security/cfb-reader.js +410 -0
- package/dist/esm/modules/word/{digital-signatures.js → security/digital-signatures.js} +34 -34
- package/dist/esm/modules/word/security/document-protection.js +201 -0
- package/dist/esm/modules/word/security/encryption.js +602 -0
- package/dist/esm/modules/word/security/policy.js +102 -0
- package/dist/esm/modules/word/template/template-chart.js +167 -0
- package/dist/esm/modules/word/template/template-datasource.js +541 -0
- package/dist/esm/modules/word/template/template-engine.js +1435 -0
- package/dist/esm/modules/word/units.js +43 -14
- package/dist/esm/modules/word/{writers → writer}/chart-writer.js +164 -23
- package/dist/esm/modules/word/writer/checkbox-writer.js +79 -0
- package/dist/esm/modules/word/{writers → writer}/comment-writer.js +8 -6
- package/dist/esm/modules/word/writer/common-parts.js +101 -0
- package/dist/{browser/modules/word → esm/modules/word/writer}/content-types.js +14 -6
- package/dist/esm/modules/word/writer/document-writer.js +473 -0
- package/dist/esm/modules/word/writer/docx-packager.js +1515 -0
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/footnote-writer.js +13 -10
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/header-footer-writer.js +39 -21
- package/dist/esm/modules/word/{writers → writer}/image-writer.js +11 -7
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/math-writer.js +21 -1
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/numbering-writer.js +11 -4
- package/dist/esm/modules/word/{writers → writer}/paragraph-writer.js +73 -38
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/parts-writer.js +91 -12
- package/dist/esm/modules/word/writer/reference-scanners.js +111 -0
- package/dist/esm/modules/word/writer/relationships.js +117 -0
- package/dist/esm/modules/word/writer/render-context.js +46 -0
- package/dist/{browser/modules/word/writers → esm/modules/word/writer}/run-writer.js +126 -24
- package/dist/esm/modules/word/writer/sdt-writer.js +189 -0
- package/dist/esm/modules/word/writer/stream-buf.js +73 -0
- package/dist/esm/modules/word/writer/streaming-writer.js +1382 -0
- package/dist/esm/modules/word/writer/string-buf.js +7 -0
- package/dist/esm/modules/word/{writers → writer}/styles-writer.js +32 -1
- package/dist/esm/modules/word/{writers → writer}/table-writer.js +94 -11
- package/dist/esm/utils/crypto.browser.js +3 -1
- package/dist/esm/utils/crypto.js +4 -1
- package/dist/esm/utils/font-metrics.js +293 -0
- package/dist/esm/utils/string-buf.js +89 -0
- package/dist/esm/utils/theme-colors.js +120 -0
- package/dist/iife/excelts.iife.js +70692 -70337
- package/dist/iife/excelts.iife.js.map +1 -1
- package/dist/iife/excelts.iife.min.js +57 -57
- package/dist/types/modules/archive/fs/archive-file.d.ts +8 -5
- package/dist/types/modules/excel/chart/chart-ex-types.d.ts +0 -12
- package/dist/types/modules/excel/chart/chart.d.ts +1 -5
- package/dist/types/modules/excel/chart/types.d.ts +0 -6
- package/dist/types/modules/excel/stream/workbook-writer.browser.d.ts +40 -0
- package/dist/types/modules/excel/utils/string-buf.d.ts +5 -26
- package/dist/types/modules/excel/xlsx/xlsx.browser.d.ts +19 -9
- package/dist/types/modules/excel/xlsx/xlsx.d.ts +10 -2
- package/dist/types/modules/pdf/excel-bridge.d.ts +30 -1
- package/dist/types/modules/pdf/font/metrics.d.ts +3 -52
- package/dist/types/modules/pdf/index.d.ts +1 -1
- package/dist/types/modules/pdf/render-layout-to-pdf.d.ts +66 -0
- package/dist/types/modules/pdf/word-bridge.d.ts +80 -12
- package/dist/types/modules/stream/index.base.d.ts +2 -0
- package/dist/types/modules/stream/internal/sink-adapter.d.ts +65 -0
- package/dist/types/modules/stream/pull-stream.d.ts +19 -2
- package/dist/types/modules/stream/types.d.ts +13 -1
- package/dist/types/modules/word/advanced/diff.d.ts +61 -0
- package/dist/types/modules/word/advanced/drawing-shapes.d.ts +269 -0
- package/dist/types/modules/word/advanced/field-engine.d.ts +43 -0
- package/dist/types/modules/word/advanced/glossary.d.ts +86 -0
- package/dist/types/modules/word/advanced/math-convert.d.ts +30 -0
- package/dist/types/modules/word/advanced/ole-objects.d.ts +115 -0
- package/dist/types/modules/word/advanced/style-map.d.ts +105 -0
- package/dist/types/modules/word/advanced/validation.d.ts +56 -0
- package/dist/types/modules/word/advanced/vba-project.d.ts +91 -0
- package/dist/types/modules/word/bridge/excel-bridge.d.ts +127 -0
- package/dist/types/modules/word/builder/document-handle.d.ts +151 -0
- package/dist/types/modules/word/builder/paragraph-builders.d.ts +61 -0
- package/dist/types/modules/word/builder/run-builders.d.ts +374 -0
- package/dist/types/modules/word/builder/table-builders.d.ts +23 -0
- package/dist/types/modules/word/constants.d.ts +39 -1
- package/dist/types/modules/word/convert/conversion-ir.d.ts +210 -0
- package/dist/types/modules/word/convert/docx-to-semantic.d.ts +39 -0
- package/dist/types/modules/word/convert/flat-opc.d.ts +44 -0
- package/dist/types/modules/word/convert/html/html-import.d.ts +50 -0
- package/dist/{browser/modules/word → types/modules/word/convert/html}/html-renderer.d.ts +14 -1
- package/dist/types/modules/word/convert/html/html.d.ts +15 -0
- package/dist/types/modules/word/convert/markdown/markdown-import.d.ts +68 -0
- package/dist/types/modules/word/convert/markdown/markdown-renderer.d.ts +25 -0
- package/dist/types/modules/word/convert/markdown/markdown.d.ts +15 -0
- package/dist/types/modules/word/convert/odt/odt.d.ts +41 -0
- package/dist/types/modules/word/{color-utils.d.ts → core/color-utils.d.ts} +8 -1
- package/dist/types/modules/word/core/internal-utils.d.ts +90 -0
- package/dist/types/modules/word/core/mapper.d.ts +44 -0
- package/dist/types/modules/word/core/opc-paths.d.ts +33 -0
- package/dist/types/modules/word/core/text-utils.d.ts +38 -0
- package/dist/types/modules/word/core/walker.d.ts +119 -0
- package/dist/types/modules/word/crypto.d.ts +14 -9
- package/dist/types/modules/word/document-io.d.ts +59 -27
- package/dist/types/modules/word/errors.d.ts +44 -1
- package/dist/types/modules/word/excel.d.ts +14 -0
- package/dist/types/modules/word/font/font-embed.d.ts +112 -0
- package/dist/types/modules/word/font/hyphenation.d.ts +65 -0
- package/dist/types/modules/word/font/text-shaping.d.ts +58 -0
- package/dist/types/modules/word/html.d.ts +7 -6
- package/dist/types/modules/word/incremental-edit.d.ts +123 -0
- package/dist/types/modules/word/index.base.d.ts +194 -10
- package/dist/types/modules/word/layout/layout-constants.d.ts +17 -0
- package/dist/types/modules/word/layout/layout-full.d.ts +53 -0
- package/dist/types/modules/word/layout/layout-model.d.ts +344 -0
- package/dist/types/modules/word/layout/layout.d.ts +63 -0
- package/dist/types/modules/word/layout/render-page.d.ts +57 -0
- package/dist/types/modules/word/markdown.d.ts +14 -0
- package/dist/types/modules/word/patcher.d.ts +62 -0
- package/dist/types/modules/word/query/compat.d.ts +25 -0
- package/dist/types/modules/word/query/data-binding.d.ts +22 -0
- package/dist/types/modules/word/query/form-fields.d.ts +41 -0
- package/dist/types/modules/word/query/format-search.d.ts +99 -0
- package/dist/types/modules/word/query/mail-merge.d.ts +25 -0
- package/dist/types/modules/word/query/merge.d.ts +50 -0
- package/dist/types/modules/word/query/replace.d.ts +47 -0
- package/dist/types/modules/word/query/revisions.d.ts +67 -0
- package/dist/types/modules/word/query/search.d.ts +129 -0
- package/dist/types/modules/word/query/split.d.ts +44 -0
- package/dist/types/modules/word/query/style-resolve.d.ts +104 -0
- package/dist/types/modules/word/reader/chart-parser.d.ts +20 -0
- package/dist/types/modules/word/reader/comments-parser.d.ts +26 -0
- package/dist/types/modules/word/reader/doc-props-parsers.d.ts +15 -0
- package/dist/types/modules/word/reader/docx-reader.d.ts +27 -0
- package/dist/types/modules/word/reader/drawing-helpers.d.ts +27 -0
- package/dist/types/modules/word/reader/form-field-parser.d.ts +21 -0
- package/dist/types/modules/word/reader/image-parsers.d.ts +11 -0
- package/dist/types/modules/word/reader/math-parser.d.ts +12 -0
- package/dist/types/modules/word/reader/metadata-parsers.d.ts +17 -0
- package/dist/types/modules/word/reader/numbering-parser.d.ts +13 -0
- package/dist/types/modules/word/reader/paragraph-section-parsers.d.ts +12 -0
- package/dist/types/modules/word/reader/parse-utils.d.ts +91 -0
- package/dist/types/modules/word/reader/properties-parsers.d.ts +21 -0
- package/dist/types/modules/word/reader/reader-context.d.ts +69 -0
- package/dist/types/modules/word/reader/sdt-helpers.d.ts +29 -0
- package/dist/types/modules/word/reader/settings-parser.d.ts +8 -0
- package/dist/types/modules/word/reader/styles-parser.d.ts +12 -0
- package/dist/types/modules/word/reader/table-properties-parsers.d.ts +12 -0
- package/dist/types/modules/word/reader/theme-parser.d.ts +8 -0
- package/dist/types/modules/word/reader/watermark-parser.d.ts +15 -0
- package/dist/types/modules/word/security/cfb-reader.d.ts +37 -0
- package/dist/types/modules/word/{digital-signatures.d.ts → security/digital-signatures.d.ts} +19 -11
- package/dist/types/modules/word/security/document-protection.d.ts +93 -0
- package/dist/{browser/modules/word → types/modules/word/security}/encryption.d.ts +51 -4
- package/dist/types/modules/word/security/policy.d.ts +80 -0
- package/dist/types/modules/word/template/template-chart.d.ts +56 -0
- package/dist/types/modules/word/template/template-datasource.d.ts +154 -0
- package/dist/types/modules/word/template/template-engine.d.ts +121 -0
- package/dist/types/modules/word/types.d.ts +224 -25
- package/dist/types/modules/word/units.d.ts +26 -0
- package/dist/types/modules/word/writer/checkbox-writer.d.ts +17 -0
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/comment-writer.d.ts +2 -1
- package/dist/types/modules/word/writer/common-parts.d.ts +57 -0
- package/dist/{browser/modules/word → types/modules/word/writer}/content-types.d.ts +2 -2
- package/dist/types/modules/word/writer/document-writer.d.ts +24 -0
- package/dist/types/modules/word/writer/docx-packager.d.ts +35 -0
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/footnote-writer.d.ts +3 -2
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/header-footer-writer.d.ts +3 -2
- package/dist/{browser/modules/word/writers → types/modules/word/writer}/image-writer.d.ts +1 -1
- package/dist/types/modules/word/writer/math-writer.d.ts +20 -0
- package/dist/types/modules/word/{writers → writer}/numbering-writer.d.ts +1 -1
- package/dist/types/modules/word/{writers → writer}/paragraph-writer.d.ts +2 -1
- package/dist/types/modules/word/{writers → writer}/parts-writer.d.ts +3 -3
- package/dist/types/modules/word/writer/reference-scanners.d.ts +42 -0
- package/dist/types/modules/word/writer/relationships.d.ts +52 -0
- package/dist/types/modules/word/writer/render-context.d.ts +124 -0
- package/dist/types/modules/word/{writers → writer}/run-writer.d.ts +10 -1
- package/dist/types/modules/word/writer/sdt-writer.d.ts +25 -0
- package/dist/types/modules/word/writer/stream-buf.d.ts +37 -0
- package/dist/types/modules/word/writer/streaming-writer.d.ts +344 -0
- package/dist/types/modules/word/writer/string-buf.d.ts +8 -0
- package/dist/types/modules/word/{writers → writer}/table-writer.d.ts +2 -1
- package/dist/types/modules/xml/types.d.ts +22 -0
- package/dist/types/utils/crypto.browser.d.ts +3 -1
- package/dist/types/utils/crypto.d.ts +4 -1
- package/dist/types/utils/font-metrics.d.ts +63 -0
- package/dist/types/utils/string-buf.d.ts +42 -0
- package/dist/types/utils/theme-colors.d.ts +55 -0
- package/package.json +121 -39
- package/dist/browser/modules/word/color-utils.js +0 -94
- package/dist/browser/modules/word/document.d.ts +0 -657
- package/dist/browser/modules/word/document.js +0 -1533
- package/dist/browser/modules/word/docx-packager.d.ts +0 -14
- package/dist/browser/modules/word/docx-packager.js +0 -822
- package/dist/browser/modules/word/docx-reader.d.ts +0 -11
- package/dist/browser/modules/word/docx-reader.js +0 -4929
- package/dist/browser/modules/word/encryption.js +0 -274
- package/dist/browser/modules/word/internal-utils.d.ts +0 -23
- package/dist/browser/modules/word/internal-utils.js +0 -54
- package/dist/browser/modules/word/namespaces.d.ts +0 -159
- package/dist/browser/modules/word/namespaces.js +0 -189
- package/dist/browser/modules/word/relationships.d.ts +0 -30
- package/dist/browser/modules/word/relationships.js +0 -48
- package/dist/browser/modules/word/writers/checkbox-writer.d.ts +0 -9
- package/dist/browser/modules/word/writers/checkbox-writer.js +0 -42
- package/dist/browser/modules/word/writers/document-writer.d.ts +0 -16
- package/dist/browser/modules/word/writers/document-writer.js +0 -461
- package/dist/browser/modules/word/writers/math-writer.d.ts +0 -9
- package/dist/cjs/modules/word/color-utils.js +0 -97
- package/dist/cjs/modules/word/document.js +0 -1645
- package/dist/cjs/modules/word/docx-packager.js +0 -825
- package/dist/cjs/modules/word/docx-reader.js +0 -4932
- package/dist/cjs/modules/word/encryption.js +0 -282
- package/dist/cjs/modules/word/internal-utils.js +0 -59
- package/dist/cjs/modules/word/namespaces.js +0 -192
- package/dist/cjs/modules/word/relationships.js +0 -55
- package/dist/cjs/modules/word/writers/checkbox-writer.js +0 -45
- package/dist/cjs/modules/word/writers/document-writer.js +0 -465
- package/dist/esm/modules/word/color-utils.js +0 -94
- package/dist/esm/modules/word/document.js +0 -1533
- package/dist/esm/modules/word/docx-packager.js +0 -822
- package/dist/esm/modules/word/docx-reader.js +0 -4929
- package/dist/esm/modules/word/encryption.js +0 -274
- package/dist/esm/modules/word/internal-utils.js +0 -54
- package/dist/esm/modules/word/namespaces.js +0 -189
- package/dist/esm/modules/word/relationships.js +0 -48
- package/dist/esm/modules/word/writers/checkbox-writer.js +0 -42
- package/dist/esm/modules/word/writers/document-writer.js +0 -461
- package/dist/types/modules/word/document.d.ts +0 -657
- package/dist/types/modules/word/docx-packager.d.ts +0 -14
- package/dist/types/modules/word/docx-reader.d.ts +0 -11
- package/dist/types/modules/word/internal-utils.d.ts +0 -23
- package/dist/types/modules/word/namespaces.d.ts +0 -159
- package/dist/types/modules/word/relationships.d.ts +0 -30
- package/dist/types/modules/word/writers/checkbox-writer.d.ts +0 -9
- package/dist/types/modules/word/writers/document-writer.d.ts +0 -16
- package/dist/types/modules/word/writers/math-writer.d.ts +0 -9
- /package/dist/browser/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
- /package/dist/browser/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/section-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/browser/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/browser/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
- /package/dist/browser/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/cjs/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/section-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/textbox-writer.js +0 -0
- /package/dist/esm/modules/word/{writers → writer}/toc-writer.js +0 -0
- /package/dist/types/modules/word/{font-obfuscation.d.ts → font/font-obfuscation.d.ts} +0 -0
- /package/dist/types/modules/word/{writers → writer}/chart-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/section-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/styles-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/textbox-writer.d.ts +0 -0
- /package/dist/types/modules/word/{writers → writer}/toc-writer.d.ts +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - VBA Project (docm) Round-trip Support
|
|
3
|
+
*
|
|
4
|
+
* Provides support for preserving VBA macros during document read/write.
|
|
5
|
+
* The VBA project binary lives on `DocxDocument.vbaProject` — that's what
|
|
6
|
+
* `readDocx` populates and `packageDocx` writes back. This module exposes
|
|
7
|
+
* convenience helpers around that field plus best-effort metadata
|
|
8
|
+
* extraction.
|
|
9
|
+
*
|
|
10
|
+
* Note: This module does NOT execute or compile VBA code. It only
|
|
11
|
+
* preserves the binary VBA project for round-trip fidelity.
|
|
12
|
+
*/
|
|
13
|
+
import type { DocxDocument, OpaquePart } from "../types.js";
|
|
14
|
+
/** VBA project metadata extracted from the document. */
|
|
15
|
+
export interface VbaProjectInfo {
|
|
16
|
+
/** Whether a VBA project is present. */
|
|
17
|
+
readonly hasVba: boolean;
|
|
18
|
+
/** Path of the vbaProject.bin in the archive. */
|
|
19
|
+
readonly projectPath?: string;
|
|
20
|
+
/** Content type of the VBA project part. */
|
|
21
|
+
readonly contentType?: string;
|
|
22
|
+
/** Module names detected (best-effort extraction). */
|
|
23
|
+
readonly moduleNames?: readonly string[];
|
|
24
|
+
/** Size in bytes of the VBA project binary. */
|
|
25
|
+
readonly sizeBytes?: number;
|
|
26
|
+
}
|
|
27
|
+
/** Content types for macro-enabled documents. */
|
|
28
|
+
export declare const DOCM_CONTENT_TYPES: {
|
|
29
|
+
/** Content type for .docm main document part. */
|
|
30
|
+
readonly document: "application/vnd.ms-word.document.macroEnabled.main+xml";
|
|
31
|
+
/** Content type for vbaProject.bin. */
|
|
32
|
+
readonly vbaProject: "application/vnd.ms-office.vbaProject";
|
|
33
|
+
/** Content type for vbaData.xml. */
|
|
34
|
+
readonly vbaData: "application/vnd.ms-word.vbaData+xml";
|
|
35
|
+
};
|
|
36
|
+
/** VBA-related relationship type. */
|
|
37
|
+
export declare const VBA_REL_TYPE = "http://schemas.microsoft.com/office/2006/relationships/vbaProject";
|
|
38
|
+
/**
|
|
39
|
+
* Check if a document contains a VBA project (is macro-enabled).
|
|
40
|
+
*
|
|
41
|
+
* @param doc - The parsed document.
|
|
42
|
+
* @returns true if VBA macros are present.
|
|
43
|
+
*/
|
|
44
|
+
export declare function hasVbaProject(doc: DocxDocument): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Extract VBA project metadata from a document.
|
|
47
|
+
*
|
|
48
|
+
* @param doc - The parsed document.
|
|
49
|
+
* @returns VBA project info, or info with hasVba=false if not present.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getVbaProjectInfo(doc: DocxDocument): VbaProjectInfo;
|
|
52
|
+
/**
|
|
53
|
+
* Get the raw VBA project binary data.
|
|
54
|
+
*
|
|
55
|
+
* @param doc - The parsed document.
|
|
56
|
+
* @returns The vbaProject.bin bytes, or undefined if not present.
|
|
57
|
+
*/
|
|
58
|
+
export declare function getVbaProjectData(doc: DocxDocument): Uint8Array | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Add a VBA project to a document (making it a .docm).
|
|
61
|
+
*
|
|
62
|
+
* The VBA project binary should be a valid OLE2 compound document
|
|
63
|
+
* containing the VBA modules. The first 8 bytes of an OLE2 file are the
|
|
64
|
+
* fixed signature `D0 CF 11 E0 A1 B1 1A E1`; we sanity-check that here so
|
|
65
|
+
* obviously-wrong inputs (e.g. a plain text file) fail eagerly instead of
|
|
66
|
+
* producing a .docm that Word silently rejects.
|
|
67
|
+
*
|
|
68
|
+
* The data is stored in the canonical `DocxDocument.vbaProject` field —
|
|
69
|
+
* `packageDocx` writes that field directly to `word/vbaProject.bin` and
|
|
70
|
+
* registers the relationship + content type. Any pre-existing copies in
|
|
71
|
+
* `opaqueParts` are removed so we don't emit two conflicting parts.
|
|
72
|
+
*
|
|
73
|
+
* @param doc - The document to add VBA to.
|
|
74
|
+
* @param vbaProjectBin - The vbaProject.bin binary data (OLE2 compound).
|
|
75
|
+
* @returns A new document with the VBA project embedded.
|
|
76
|
+
*/
|
|
77
|
+
export declare function addVbaProject(doc: DocxDocument, vbaProjectBin: Uint8Array): DocxDocument;
|
|
78
|
+
/**
|
|
79
|
+
* Remove VBA project from a document (converting .docm to .docx behavior).
|
|
80
|
+
*
|
|
81
|
+
* @param doc - The macro-enabled document.
|
|
82
|
+
* @returns A new document without VBA parts.
|
|
83
|
+
*/
|
|
84
|
+
export declare function removeVbaProject(doc: DocxDocument): DocxDocument;
|
|
85
|
+
/**
|
|
86
|
+
* List all VBA-related parts in the document. Includes the canonical
|
|
87
|
+
* `vbaProject` field (synthesised as an OpaquePart for ergonomics) plus
|
|
88
|
+
* any auxiliary VBA parts (e.g. `vbaData.xml`) that survive in
|
|
89
|
+
* `opaqueParts`.
|
|
90
|
+
*/
|
|
91
|
+
export declare function listVbaParts(doc: DocxDocument): readonly OpaquePart[];
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - VBA Project (docm) Round-trip Support
|
|
3
|
+
*
|
|
4
|
+
* Provides support for preserving VBA macros during document read/write.
|
|
5
|
+
* The VBA project binary lives on `DocxDocument.vbaProject` — that's what
|
|
6
|
+
* `readDocx` populates and `packageDocx` writes back. This module exposes
|
|
7
|
+
* convenience helpers around that field plus best-effort metadata
|
|
8
|
+
* extraction.
|
|
9
|
+
*
|
|
10
|
+
* Note: This module does NOT execute or compile VBA code. It only
|
|
11
|
+
* preserves the binary VBA project for round-trip fidelity.
|
|
12
|
+
*/
|
|
13
|
+
/** Content types for macro-enabled documents. */
|
|
14
|
+
export const DOCM_CONTENT_TYPES = {
|
|
15
|
+
/** Content type for .docm main document part. */
|
|
16
|
+
document: "application/vnd.ms-word.document.macroEnabled.main+xml",
|
|
17
|
+
/** Content type for vbaProject.bin. */
|
|
18
|
+
vbaProject: "application/vnd.ms-office.vbaProject",
|
|
19
|
+
/** Content type for vbaData.xml. */
|
|
20
|
+
vbaData: "application/vnd.ms-word.vbaData+xml"
|
|
21
|
+
};
|
|
22
|
+
/** VBA-related relationship type. */
|
|
23
|
+
export const VBA_REL_TYPE = "http://schemas.microsoft.com/office/2006/relationships/vbaProject";
|
|
24
|
+
// =============================================================================
|
|
25
|
+
// VBA Detection & Extraction
|
|
26
|
+
// =============================================================================
|
|
27
|
+
/**
|
|
28
|
+
* Get the raw VBA project binary data from the canonical location
|
|
29
|
+
* (`doc.vbaProject`), falling back to `opaqueParts` for hand-built models.
|
|
30
|
+
*/
|
|
31
|
+
function findVbaBinary(doc) {
|
|
32
|
+
if (doc.vbaProject) {
|
|
33
|
+
return doc.vbaProject;
|
|
34
|
+
}
|
|
35
|
+
if (doc.opaqueParts) {
|
|
36
|
+
const part = doc.opaqueParts.find(p => isVbaProjectBin(p.path));
|
|
37
|
+
if (part) {
|
|
38
|
+
return part.data;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a document contains a VBA project (is macro-enabled).
|
|
45
|
+
*
|
|
46
|
+
* @param doc - The parsed document.
|
|
47
|
+
* @returns true if VBA macros are present.
|
|
48
|
+
*/
|
|
49
|
+
export function hasVbaProject(doc) {
|
|
50
|
+
return findVbaBinary(doc) !== undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Extract VBA project metadata from a document.
|
|
54
|
+
*
|
|
55
|
+
* @param doc - The parsed document.
|
|
56
|
+
* @returns VBA project info, or info with hasVba=false if not present.
|
|
57
|
+
*/
|
|
58
|
+
export function getVbaProjectInfo(doc) {
|
|
59
|
+
const data = findVbaBinary(doc);
|
|
60
|
+
if (!data) {
|
|
61
|
+
return { hasVba: false };
|
|
62
|
+
}
|
|
63
|
+
const moduleNames = extractModuleNames(data);
|
|
64
|
+
return {
|
|
65
|
+
hasVba: true,
|
|
66
|
+
projectPath: "word/vbaProject.bin",
|
|
67
|
+
contentType: DOCM_CONTENT_TYPES.vbaProject,
|
|
68
|
+
moduleNames,
|
|
69
|
+
sizeBytes: data.length
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the raw VBA project binary data.
|
|
74
|
+
*
|
|
75
|
+
* @param doc - The parsed document.
|
|
76
|
+
* @returns The vbaProject.bin bytes, or undefined if not present.
|
|
77
|
+
*/
|
|
78
|
+
export function getVbaProjectData(doc) {
|
|
79
|
+
return findVbaBinary(doc);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Add a VBA project to a document (making it a .docm).
|
|
83
|
+
*
|
|
84
|
+
* The VBA project binary should be a valid OLE2 compound document
|
|
85
|
+
* containing the VBA modules. The first 8 bytes of an OLE2 file are the
|
|
86
|
+
* fixed signature `D0 CF 11 E0 A1 B1 1A E1`; we sanity-check that here so
|
|
87
|
+
* obviously-wrong inputs (e.g. a plain text file) fail eagerly instead of
|
|
88
|
+
* producing a .docm that Word silently rejects.
|
|
89
|
+
*
|
|
90
|
+
* The data is stored in the canonical `DocxDocument.vbaProject` field —
|
|
91
|
+
* `packageDocx` writes that field directly to `word/vbaProject.bin` and
|
|
92
|
+
* registers the relationship + content type. Any pre-existing copies in
|
|
93
|
+
* `opaqueParts` are removed so we don't emit two conflicting parts.
|
|
94
|
+
*
|
|
95
|
+
* @param doc - The document to add VBA to.
|
|
96
|
+
* @param vbaProjectBin - The vbaProject.bin binary data (OLE2 compound).
|
|
97
|
+
* @returns A new document with the VBA project embedded.
|
|
98
|
+
*/
|
|
99
|
+
export function addVbaProject(doc, vbaProjectBin) {
|
|
100
|
+
if (!isOle2Header(vbaProjectBin)) {
|
|
101
|
+
throw new Error("addVbaProject: data does not start with the OLE2 compound document " +
|
|
102
|
+
"signature (D0 CF 11 E0 A1 B1 1A E1). vbaProject.bin must be a valid " +
|
|
103
|
+
"OLE2 compound file.");
|
|
104
|
+
}
|
|
105
|
+
const filteredParts = doc.opaqueParts
|
|
106
|
+
? doc.opaqueParts.filter(p => !isVbaPart(p.path))
|
|
107
|
+
: undefined;
|
|
108
|
+
// Word rejects a package that carries a vbaProject.bin but is declared
|
|
109
|
+
// in [Content_Types].xml as the plain wordprocessingml document type.
|
|
110
|
+
// Promote a regular `document`/`template` doc to its macro-enabled
|
|
111
|
+
// counterpart so the content-type matches the .docm/.dotm extension
|
|
112
|
+
// the user is about to write.
|
|
113
|
+
let nextDocType = doc.docType;
|
|
114
|
+
if (nextDocType === undefined || nextDocType === "document") {
|
|
115
|
+
nextDocType = "macroEnabledDocument";
|
|
116
|
+
}
|
|
117
|
+
else if (nextDocType === "template") {
|
|
118
|
+
nextDocType = "macroEnabledTemplate";
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
...doc,
|
|
122
|
+
docType: nextDocType,
|
|
123
|
+
vbaProject: vbaProjectBin,
|
|
124
|
+
...(filteredParts !== undefined
|
|
125
|
+
? { opaqueParts: filteredParts.length > 0 ? filteredParts : undefined }
|
|
126
|
+
: {})
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Remove VBA project from a document (converting .docm to .docx behavior).
|
|
131
|
+
*
|
|
132
|
+
* @param doc - The macro-enabled document.
|
|
133
|
+
* @returns A new document without VBA parts.
|
|
134
|
+
*/
|
|
135
|
+
export function removeVbaProject(doc) {
|
|
136
|
+
// Demote the content type alongside removing the binary so the package
|
|
137
|
+
// is identified as a plain .docx/.dotx going forward.
|
|
138
|
+
let nextDocType = doc.docType;
|
|
139
|
+
if (nextDocType === "macroEnabledDocument") {
|
|
140
|
+
nextDocType = "document";
|
|
141
|
+
}
|
|
142
|
+
else if (nextDocType === "macroEnabledTemplate") {
|
|
143
|
+
nextDocType = "template";
|
|
144
|
+
}
|
|
145
|
+
const next = { ...doc, docType: nextDocType, vbaProject: undefined };
|
|
146
|
+
if (doc.opaqueParts) {
|
|
147
|
+
const filteredParts = doc.opaqueParts.filter(p => !isVbaPart(p.path));
|
|
148
|
+
return {
|
|
149
|
+
...next,
|
|
150
|
+
opaqueParts: filteredParts.length > 0 ? filteredParts : undefined
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
return next;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* List all VBA-related parts in the document. Includes the canonical
|
|
157
|
+
* `vbaProject` field (synthesised as an OpaquePart for ergonomics) plus
|
|
158
|
+
* any auxiliary VBA parts (e.g. `vbaData.xml`) that survive in
|
|
159
|
+
* `opaqueParts`.
|
|
160
|
+
*/
|
|
161
|
+
export function listVbaParts(doc) {
|
|
162
|
+
const out = [];
|
|
163
|
+
if (doc.vbaProject) {
|
|
164
|
+
out.push({
|
|
165
|
+
path: "word/vbaProject.bin",
|
|
166
|
+
data: doc.vbaProject,
|
|
167
|
+
contentType: DOCM_CONTENT_TYPES.vbaProject
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
if (doc.opaqueParts) {
|
|
171
|
+
for (const p of doc.opaqueParts) {
|
|
172
|
+
if (isVbaPart(p.path) && !p.path.toLowerCase().endsWith("vbaproject.bin")) {
|
|
173
|
+
out.push(p);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return out;
|
|
178
|
+
}
|
|
179
|
+
// =============================================================================
|
|
180
|
+
// Internal Helpers
|
|
181
|
+
// =============================================================================
|
|
182
|
+
const OLE2_SIGNATURE = [0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1];
|
|
183
|
+
/** Quick check that the first 8 bytes match the OLE2 compound document signature. */
|
|
184
|
+
function isOle2Header(data) {
|
|
185
|
+
if (data.length < OLE2_SIGNATURE.length) {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
for (let i = 0; i < OLE2_SIGNATURE.length; i++) {
|
|
189
|
+
if (data[i] !== OLE2_SIGNATURE[i]) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
function isVbaPart(path) {
|
|
196
|
+
// Match VBA-related parts strictly by file name to avoid catching
|
|
197
|
+
// unrelated parts that merely contain the substring "vbaproject"
|
|
198
|
+
// (e.g. `customXml/vbaProject_metadata.xml`). Both legacy locations
|
|
199
|
+
// are recognised plus the conventional `word/_rels/vbaProject.bin.rels`.
|
|
200
|
+
const lower = path.toLowerCase();
|
|
201
|
+
if (lower === "word/vbaproject.bin" || lower.endsWith("/vbaproject.bin")) {
|
|
202
|
+
return true;
|
|
203
|
+
}
|
|
204
|
+
if (lower === "word/vbadata.xml" || lower.endsWith("/vbadata.xml")) {
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
if (lower === "word/_rels/vbaproject.bin.rels" || lower.endsWith("/_rels/vbaproject.bin.rels")) {
|
|
208
|
+
return true;
|
|
209
|
+
}
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
function isVbaProjectBin(path) {
|
|
213
|
+
const lower = path.toLowerCase();
|
|
214
|
+
return lower === "word/vbaproject.bin" || lower.endsWith("vbaproject.bin");
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Best-effort extraction of VBA module names from vbaProject.bin.
|
|
218
|
+
* The binary is an OLE2 compound document; we scan for module name strings.
|
|
219
|
+
*/
|
|
220
|
+
function extractModuleNames(data) {
|
|
221
|
+
const names = [];
|
|
222
|
+
// Module names in VBA projects are typically stored as UTF-16LE strings
|
|
223
|
+
// preceded by specific markers. We do a simple heuristic scan.
|
|
224
|
+
const str = tryDecodeStrings(data);
|
|
225
|
+
// Look for common VBA module patterns
|
|
226
|
+
const modulePatterns = [/Module\d*\s*=\s*([^\r\n]+)/g, /Attribute VB_Name\s*=\s*"([^"]+)"/g];
|
|
227
|
+
for (const pattern of modulePatterns) {
|
|
228
|
+
let match;
|
|
229
|
+
while ((match = pattern.exec(str)) !== null) {
|
|
230
|
+
const name = match[1].trim();
|
|
231
|
+
if (name && !names.includes(name)) {
|
|
232
|
+
names.push(name);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Also look for standard module names in the dir stream
|
|
237
|
+
const stdNames = ["ThisDocument", "Module1", "Module2", "Module3", "Sheet1"];
|
|
238
|
+
for (const stdName of stdNames) {
|
|
239
|
+
if (str.includes(stdName) && !names.includes(stdName)) {
|
|
240
|
+
names.push(stdName);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return names;
|
|
244
|
+
}
|
|
245
|
+
function tryDecodeStrings(data) {
|
|
246
|
+
// Extract printable ASCII sequences (for heuristic module name detection)
|
|
247
|
+
let result = "";
|
|
248
|
+
let current = "";
|
|
249
|
+
for (let i = 0; i < data.length; i++) {
|
|
250
|
+
const b = data[i];
|
|
251
|
+
if (b >= 0x20 && b < 0x7f) {
|
|
252
|
+
current += String.fromCharCode(b);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
if (current.length >= 3) {
|
|
256
|
+
result += current + "\n";
|
|
257
|
+
}
|
|
258
|
+
current = "";
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (current.length >= 3) {
|
|
262
|
+
result += current;
|
|
263
|
+
}
|
|
264
|
+
return result;
|
|
265
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Excel-to-Word Bridge
|
|
3
|
+
*
|
|
4
|
+
* Converts an Excel Workbook into a DocxDocument model.
|
|
5
|
+
* This is the ONLY file in the Word module that imports from @excel.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { Workbook } from "excelts";
|
|
10
|
+
* import { excelToDocx } from "excelts/word/excel";
|
|
11
|
+
*
|
|
12
|
+
* const wb = new Workbook();
|
|
13
|
+
* await wb.xlsx.load(buffer);
|
|
14
|
+
* const doc = excelToDocx(wb);
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
import type { AddChartExOptions, ChartExModel, ChartExType } from "../../excel/chart/chart-ex-types.js";
|
|
18
|
+
import type { ChartModel } from "../../excel/chart/types.js";
|
|
19
|
+
import type { Workbook } from "../../excel/workbook.browser.js";
|
|
20
|
+
import type { Chart, DocxDocument } from "../types.js";
|
|
21
|
+
/** Options for Excel → DOCX conversion. */
|
|
22
|
+
export interface ExcelToDocxOptions {
|
|
23
|
+
/** Which sheets to include (by name or 0-based index). Default: all visible sheets. */
|
|
24
|
+
readonly sheets?: readonly (string | number)[];
|
|
25
|
+
/** Include sheet name as heading before each table. Default: true. */
|
|
26
|
+
readonly includeSheetHeadings?: boolean;
|
|
27
|
+
/** Heading level for sheet names (1-6). Default: 2. */
|
|
28
|
+
readonly sheetHeadingLevel?: number;
|
|
29
|
+
/** Include a title page with workbook metadata. Default: false. */
|
|
30
|
+
readonly includeTitlePage?: boolean;
|
|
31
|
+
/** Maximum columns to include per sheet (avoids excessively wide tables). Default: 50. */
|
|
32
|
+
readonly maxColumns?: number;
|
|
33
|
+
/** Maximum rows per sheet to include. Default: 10000. */
|
|
34
|
+
readonly maxRows?: number;
|
|
35
|
+
/** Preserve cell formatting (bold, italic, colors, etc.). Default: true. */
|
|
36
|
+
readonly preserveFormatting?: boolean;
|
|
37
|
+
/** Include cell borders in table. Default: true. */
|
|
38
|
+
readonly includeBorders?: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Convert an Excel Workbook to a DocxDocument model.
|
|
42
|
+
*
|
|
43
|
+
* Creates a Word document with tables representing each worksheet's data.
|
|
44
|
+
* Preserves cell formatting (fonts, colors, alignment) as run/paragraph properties.
|
|
45
|
+
*
|
|
46
|
+
* @param workbook - The Excel Workbook to convert.
|
|
47
|
+
* @param options - Conversion options.
|
|
48
|
+
* @returns A DocxDocument model ready for packaging, PDF conversion, or Markdown output.
|
|
49
|
+
*/
|
|
50
|
+
export declare function excelToDocx(workbook: Workbook, options?: ExcelToDocxOptions): DocxDocument;
|
|
51
|
+
export type { AddChartExOptions, ChartExModel, ChartExType, ChartModel };
|
|
52
|
+
/** Options for creating a ChartEx in a Word document. */
|
|
53
|
+
export interface WordChartExOptions {
|
|
54
|
+
/** ChartEx type (sunburst, treemap, waterfall, funnel, histogram, pareto, boxWhisker, regionMap). */
|
|
55
|
+
readonly type: ChartExType;
|
|
56
|
+
/** Series data (with literal categories/values for Word context). */
|
|
57
|
+
readonly series: readonly {
|
|
58
|
+
readonly name: string;
|
|
59
|
+
readonly categories?: readonly string[];
|
|
60
|
+
readonly values: readonly number[];
|
|
61
|
+
}[];
|
|
62
|
+
/** Chart title. */
|
|
63
|
+
readonly title?: string | null;
|
|
64
|
+
/** Show legend. Default: true. */
|
|
65
|
+
readonly showLegend?: boolean;
|
|
66
|
+
/** Legend position. */
|
|
67
|
+
readonly legendPosition?: "b" | "l" | "r" | "t" | "tr";
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Build a ChartEx XML part for embedding in a Word document.
|
|
71
|
+
*
|
|
72
|
+
* This bridges the Excel ChartEx renderer into the Word module,
|
|
73
|
+
* generating a complete `cx:chartSpace` XML string from high-level options.
|
|
74
|
+
*
|
|
75
|
+
* @param options - Chart configuration.
|
|
76
|
+
* @returns The complete ChartEx XML string for the chart part.
|
|
77
|
+
*/
|
|
78
|
+
export declare function buildWordChartExXml(options: WordChartExOptions): string;
|
|
79
|
+
/**
|
|
80
|
+
* Render a Word Chart to SVG string for HTML embedding.
|
|
81
|
+
*
|
|
82
|
+
* Bridges Word's Chart definition to Excel's chart renderer by constructing
|
|
83
|
+
* a ChartModel with literal (inline) data and delegating to renderChartSvg.
|
|
84
|
+
*
|
|
85
|
+
* @param chart - The Word Chart definition.
|
|
86
|
+
* @returns SVG markup string.
|
|
87
|
+
*/
|
|
88
|
+
export declare function renderWordChartSvg(chart: Chart): string;
|
|
89
|
+
/**
|
|
90
|
+
* Generate an embedded xlsx for chart data.
|
|
91
|
+
* Uses the full Excel xlsx writer for maximum compatibility.
|
|
92
|
+
*
|
|
93
|
+
* The resulting xlsx contains a single Sheet1 with:
|
|
94
|
+
* - Row 1: header (empty cell A1, then series names in B1, C1, ...)
|
|
95
|
+
* - Row 2+: category in column A, values in subsequent columns
|
|
96
|
+
*
|
|
97
|
+
* @param series - Chart data series
|
|
98
|
+
* @returns xlsx file as Uint8Array
|
|
99
|
+
*/
|
|
100
|
+
export declare function generateChartEmbeddedXlsx(series: readonly {
|
|
101
|
+
name: string;
|
|
102
|
+
categories: readonly string[];
|
|
103
|
+
values: readonly number[];
|
|
104
|
+
}[]): Promise<Uint8Array>;
|
|
105
|
+
/**
|
|
106
|
+
* Convert a Word Chart definition to an Excel ChartModel.
|
|
107
|
+
* This is the single source of truth for Word→Excel chart mapping.
|
|
108
|
+
*
|
|
109
|
+
* Used by:
|
|
110
|
+
* - `renderWordChartSvg` (SVG rendering for HTML embedding)
|
|
111
|
+
* - `createWordChartPdfRenderer` in `@pdf/excel-bridge` (PDF vector rendering)
|
|
112
|
+
*
|
|
113
|
+
* @param chart - The Word Chart definition.
|
|
114
|
+
* @returns A fully constructed ChartModel suitable for Excel's chart renderer.
|
|
115
|
+
*/
|
|
116
|
+
export declare function wordChartToChartModel(chart: Chart): ChartModel;
|
|
117
|
+
/**
|
|
118
|
+
* Extract tables from a Word document and convert them to Excel worksheet data.
|
|
119
|
+
* Each table becomes a 2D array of cell values.
|
|
120
|
+
*
|
|
121
|
+
* @param doc - The DOCX document model.
|
|
122
|
+
* @returns Array of table data objects, each with a name and 2D data array.
|
|
123
|
+
*/
|
|
124
|
+
export declare function extractTablesToExcel(doc: DocxDocument): {
|
|
125
|
+
name: string;
|
|
126
|
+
data: (string | number | null)[][];
|
|
127
|
+
}[];
|