@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
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOCX Agile Encryption (MS-OFFCRYPTO)
|
|
3
|
-
*
|
|
4
|
-
* Implements ECMA-376 Agile Encryption (used by Office 2010+) for encrypted
|
|
5
|
-
* DOCX files. Encrypted DOCX files use the CFB (Compound File Binary) format
|
|
6
|
-
* to wrap the ZIP content.
|
|
7
|
-
*
|
|
8
|
-
* This module provides:
|
|
9
|
-
* - Password-based encryption/decryption of DOCX content
|
|
10
|
-
* - EncryptionInfo XML generation/parsing
|
|
11
|
-
*
|
|
12
|
-
* Note: A full implementation requires a CFB container reader/writer for the
|
|
13
|
-
* outer compound document format. For now, we expose primitives that can be
|
|
14
|
-
* combined with an external CFB library if needed.
|
|
15
|
-
*
|
|
16
|
-
* References:
|
|
17
|
-
* - MS-OFFCRYPTO: Office Document Cryptography Structure
|
|
18
|
-
* - ECMA-376 Part 3: Markup Compatibility and Extensibility
|
|
19
|
-
*/
|
|
20
|
-
import { base64ToBytes } from "./internal-utils.js";
|
|
21
|
-
/** Detect whether a buffer is an encrypted Office document (CFB format). */
|
|
22
|
-
export function isEncryptedDocx(buffer) {
|
|
23
|
-
// CFB signature: D0CF11E0A1B11AE1
|
|
24
|
-
if (buffer.length < 8) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
return (buffer[0] === 0xd0 &&
|
|
28
|
-
buffer[1] === 0xcf &&
|
|
29
|
-
buffer[2] === 0x11 &&
|
|
30
|
-
buffer[3] === 0xe0 &&
|
|
31
|
-
buffer[4] === 0xa1 &&
|
|
32
|
-
buffer[5] === 0xb1 &&
|
|
33
|
-
buffer[6] === 0x1a &&
|
|
34
|
-
buffer[7] === 0xe1);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Derive an encryption key from a password using the agile encryption KDF.
|
|
38
|
-
*
|
|
39
|
-
* Per MS-OFFCRYPTO 2.3.4.11:
|
|
40
|
-
* H_0 = H(salt + password)
|
|
41
|
-
* H_i = H(iterator + H_{i-1}) for i = 0..spinCount-1
|
|
42
|
-
* H_final = H(H_{spinCount} + blockKey)
|
|
43
|
-
* Key = first keySize bytes of H_final
|
|
44
|
-
*/
|
|
45
|
-
export async function deriveEncryptionKey(password, info, blockKey) {
|
|
46
|
-
const pwdBytes = stringToUtf16LE(password);
|
|
47
|
-
const hash = mapHashName(info.hashAlgorithm);
|
|
48
|
-
// H_0 = H(salt + password)
|
|
49
|
-
let h = await sha(hash, concat(info.keySalt, pwdBytes));
|
|
50
|
-
// Iterate: H_i = H(iterator (4 bytes LE) + H_{i-1})
|
|
51
|
-
for (let i = 0; i < info.spinCount; i++) {
|
|
52
|
-
const iter = new Uint8Array(4);
|
|
53
|
-
new DataView(iter.buffer).setUint32(0, i, true);
|
|
54
|
-
h = await sha(hash, concat(iter, h));
|
|
55
|
-
}
|
|
56
|
-
// Final: H_final = H(H + blockKey)
|
|
57
|
-
const final = await sha(hash, concat(h, blockKey));
|
|
58
|
-
// Truncate to keySize
|
|
59
|
-
const keyBytes = info.keyBits / 8;
|
|
60
|
-
return final.slice(0, keyBytes);
|
|
61
|
-
}
|
|
62
|
-
/** Block keys as defined in MS-OFFCRYPTO 2.3.4.13. */
|
|
63
|
-
export const AGILE_BLOCK_KEYS = {
|
|
64
|
-
/** For encrypting verifier hash input. */
|
|
65
|
-
verifierHashInput: new Uint8Array([0xfe, 0xa7, 0xd2, 0x76, 0x3b, 0x4b, 0x9e, 0x79]),
|
|
66
|
-
/** For encrypting verifier hash value. */
|
|
67
|
-
verifierHashValue: new Uint8Array([0xd7, 0xaa, 0x0f, 0x6d, 0x30, 0x61, 0x34, 0x4e]),
|
|
68
|
-
/** For encrypting the main key. */
|
|
69
|
-
encryptedKey: new Uint8Array([0x14, 0x6e, 0x0b, 0xe7, 0xab, 0xac, 0xd0, 0xd6]),
|
|
70
|
-
/** For data integrity HMAC key. */
|
|
71
|
-
dataIntegrityKey: new Uint8Array([0x5f, 0xb2, 0xad, 0x01, 0x0c, 0xb9, 0xe1, 0xf6]),
|
|
72
|
-
/** For data integrity HMAC value. */
|
|
73
|
-
dataIntegrityValue: new Uint8Array([0xa0, 0x67, 0x7f, 0x02, 0xb2, 0x2c, 0x84, 0x33])
|
|
74
|
-
};
|
|
75
|
-
/**
|
|
76
|
-
* Verify a password against the encryption info.
|
|
77
|
-
*
|
|
78
|
-
* @returns True if password is correct.
|
|
79
|
-
*/
|
|
80
|
-
export async function verifyPassword(password, info) {
|
|
81
|
-
try {
|
|
82
|
-
// Derive verifier hash input key
|
|
83
|
-
const verifierInputKey = await deriveEncryptionKey(password, info, AGILE_BLOCK_KEYS.verifierHashInput);
|
|
84
|
-
// Decrypt the verifier hash input
|
|
85
|
-
const verifierInput = await aesCbcDecrypt(info.encryptedVerifierHashInput, verifierInputKey, info.keySalt);
|
|
86
|
-
// Hash the verifier input
|
|
87
|
-
const hashAlg = mapHashName(info.hashAlgorithm);
|
|
88
|
-
const computedHash = await sha(hashAlg, verifierInput);
|
|
89
|
-
// Derive verifier hash value key
|
|
90
|
-
const verifierValueKey = await deriveEncryptionKey(password, info, AGILE_BLOCK_KEYS.verifierHashValue);
|
|
91
|
-
// Decrypt the verifier hash value
|
|
92
|
-
const expectedHash = await aesCbcDecrypt(info.encryptedVerifierHashValue, verifierValueKey, info.keySalt);
|
|
93
|
-
// Compare (truncate to hashSize in case of padding)
|
|
94
|
-
return bytesEqual(computedHash.slice(0, info.hashSize), expectedHash.slice(0, info.hashSize));
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Decrypt the package data using the password.
|
|
102
|
-
*
|
|
103
|
-
* @param encryptedPackage - The EncryptedPackage stream from CFB.
|
|
104
|
-
* @param info - Agile encryption parameters.
|
|
105
|
-
* @param password - The user password.
|
|
106
|
-
* @returns The decrypted (unencrypted) package bytes.
|
|
107
|
-
*/
|
|
108
|
-
export async function decryptPackage(encryptedPackage, info, password) {
|
|
109
|
-
// Derive key encryption key
|
|
110
|
-
const keyEncryptionKey = await deriveEncryptionKey(password, info, AGILE_BLOCK_KEYS.encryptedKey);
|
|
111
|
-
// Decrypt the actual package key
|
|
112
|
-
const packageKey = await aesCbcDecrypt(info.encryptedKeyValue, keyEncryptionKey, info.keySalt);
|
|
113
|
-
// First 8 bytes are the total decrypted size (uint64 LE)
|
|
114
|
-
const totalSizeView = new DataView(encryptedPackage.buffer, encryptedPackage.byteOffset, 8);
|
|
115
|
-
const totalSize = Number(totalSizeView.getBigUint64(0, true));
|
|
116
|
-
// Decrypt in 4096-byte segments
|
|
117
|
-
const segmentSize = 4096;
|
|
118
|
-
const encData = encryptedPackage.slice(8);
|
|
119
|
-
const segments = [];
|
|
120
|
-
const segCount = Math.ceil(encData.length / segmentSize);
|
|
121
|
-
for (let i = 0; i < segCount; i++) {
|
|
122
|
-
const segStart = i * segmentSize;
|
|
123
|
-
const segEnd = Math.min(segStart + segmentSize, encData.length);
|
|
124
|
-
const segData = encData.slice(segStart, segEnd);
|
|
125
|
-
// Segment IV is hash(salt + segment_index_LE)
|
|
126
|
-
const idxBytes = new Uint8Array(4);
|
|
127
|
-
new DataView(idxBytes.buffer).setUint32(0, i, true);
|
|
128
|
-
const segIv = (await sha(mapHashName(info.hashAlgorithm), concat(info.keySalt, idxBytes))).slice(0, info.blockSize);
|
|
129
|
-
const decSeg = await aesCbcDecrypt(segData, packageKey, segIv);
|
|
130
|
-
segments.push(decSeg);
|
|
131
|
-
}
|
|
132
|
-
// Concatenate and truncate to total size
|
|
133
|
-
const result = new Uint8Array(totalSize);
|
|
134
|
-
let offset = 0;
|
|
135
|
-
for (const seg of segments) {
|
|
136
|
-
const copyLen = Math.min(seg.length, totalSize - offset);
|
|
137
|
-
result.set(seg.slice(0, copyLen), offset);
|
|
138
|
-
offset += copyLen;
|
|
139
|
-
if (offset >= totalSize) {
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return result;
|
|
144
|
-
}
|
|
145
|
-
// =============================================================================
|
|
146
|
-
// Internal Crypto Helpers (use Web Crypto API)
|
|
147
|
-
// =============================================================================
|
|
148
|
-
function mapHashName(name) {
|
|
149
|
-
const map = {
|
|
150
|
-
SHA1: "SHA-1",
|
|
151
|
-
SHA256: "SHA-256",
|
|
152
|
-
SHA384: "SHA-384",
|
|
153
|
-
SHA512: "SHA-512"
|
|
154
|
-
};
|
|
155
|
-
return map[name] ?? "SHA-512";
|
|
156
|
-
}
|
|
157
|
-
async function sha(algorithm, data) {
|
|
158
|
-
const buf = await crypto.subtle.digest(algorithm, toBuffer(data));
|
|
159
|
-
return new Uint8Array(buf);
|
|
160
|
-
}
|
|
161
|
-
async function aesCbcDecrypt(data, key, iv) {
|
|
162
|
-
const cryptoKey = await crypto.subtle.importKey("raw", toBuffer(key), { name: "AES-CBC", length: key.length * 8 }, false, ["decrypt"]);
|
|
163
|
-
// Ensure IV is 16 bytes (pad with zeros if needed, truncate if longer)
|
|
164
|
-
const iv16 = new Uint8Array(16);
|
|
165
|
-
iv16.set(iv.slice(0, 16));
|
|
166
|
-
// NOTE: AES-CBC in Web Crypto expects PKCS#7 padding. Agile encryption
|
|
167
|
-
// uses zero-padding for the last block.
|
|
168
|
-
try {
|
|
169
|
-
const result = await crypto.subtle.decrypt({ name: "AES-CBC", iv: toBuffer(iv16) }, cryptoKey, toBuffer(data));
|
|
170
|
-
return new Uint8Array(result);
|
|
171
|
-
}
|
|
172
|
-
catch {
|
|
173
|
-
return manualAesCbcDecrypt(data, key, iv16);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
async function manualAesCbcDecrypt(data, key, iv) {
|
|
177
|
-
const blockSize = 16;
|
|
178
|
-
if (data.length % blockSize !== 0) {
|
|
179
|
-
throw new Error("Data length must be a multiple of block size");
|
|
180
|
-
}
|
|
181
|
-
const cryptoKey = await crypto.subtle.importKey("raw", toBuffer(key), { name: "AES-CBC", length: key.length * 8 }, false, ["decrypt"]);
|
|
182
|
-
const result = new Uint8Array(data.length);
|
|
183
|
-
let prev = iv;
|
|
184
|
-
for (let i = 0; i < data.length; i += blockSize) {
|
|
185
|
-
const block = data.slice(i, i + blockSize);
|
|
186
|
-
const tempCipher = concat(block, new Uint8Array(blockSize));
|
|
187
|
-
try {
|
|
188
|
-
const dec = await crypto.subtle.decrypt({ name: "AES-CBC", iv: toBuffer(new Uint8Array(16)) }, cryptoKey, toBuffer(tempCipher));
|
|
189
|
-
const decBlock = new Uint8Array(dec).slice(0, blockSize);
|
|
190
|
-
// XOR with previous block
|
|
191
|
-
for (let j = 0; j < blockSize; j++) {
|
|
192
|
-
result[i + j] = decBlock[j] ^ prev[j];
|
|
193
|
-
}
|
|
194
|
-
prev = block;
|
|
195
|
-
}
|
|
196
|
-
catch (e) {
|
|
197
|
-
throw new Error("AES decryption failed: " + e.message);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
return result;
|
|
201
|
-
}
|
|
202
|
-
/** Convert Uint8Array to a fresh ArrayBuffer (for strict crypto.subtle typing). */
|
|
203
|
-
function toBuffer(arr) {
|
|
204
|
-
const buf = new ArrayBuffer(arr.length);
|
|
205
|
-
new Uint8Array(buf).set(arr);
|
|
206
|
-
return buf;
|
|
207
|
-
}
|
|
208
|
-
function concat(a, b) {
|
|
209
|
-
const result = new Uint8Array(a.length + b.length);
|
|
210
|
-
result.set(a, 0);
|
|
211
|
-
result.set(b, a.length);
|
|
212
|
-
return result;
|
|
213
|
-
}
|
|
214
|
-
function stringToUtf16LE(s) {
|
|
215
|
-
const buf = new Uint8Array(s.length * 2);
|
|
216
|
-
for (let i = 0; i < s.length; i++) {
|
|
217
|
-
const code = s.charCodeAt(i);
|
|
218
|
-
buf[i * 2] = code & 0xff;
|
|
219
|
-
buf[i * 2 + 1] = (code >> 8) & 0xff;
|
|
220
|
-
}
|
|
221
|
-
return buf;
|
|
222
|
-
}
|
|
223
|
-
function bytesEqual(a, b) {
|
|
224
|
-
if (a.length !== b.length) {
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
let diff = 0;
|
|
228
|
-
for (let i = 0; i < a.length; i++) {
|
|
229
|
-
diff |= a[i] ^ b[i];
|
|
230
|
-
}
|
|
231
|
-
return diff === 0;
|
|
232
|
-
}
|
|
233
|
-
// =============================================================================
|
|
234
|
-
// EncryptionInfo XML Parser
|
|
235
|
-
// =============================================================================
|
|
236
|
-
/**
|
|
237
|
-
* Parse an EncryptionInfo XML stream from a CFB-wrapped encrypted DOCX.
|
|
238
|
-
*
|
|
239
|
-
* This is the UTF-8 XML part after the 8-byte version/flags header.
|
|
240
|
-
*
|
|
241
|
-
* @param xmlStr - The EncryptionInfo XML content.
|
|
242
|
-
* @returns Parsed agile encryption info.
|
|
243
|
-
*/
|
|
244
|
-
export function parseEncryptionInfoXml(xmlStr) {
|
|
245
|
-
// Simple regex-based extraction for the key <keyEncryptors><keyEncryptor>... element
|
|
246
|
-
const keyDataMatch = /<keyData\s([^/]*?)\/>/.exec(xmlStr);
|
|
247
|
-
const pwdEncryptorMatch = /<p:encryptedKey\s([^/]*?)\/>/.exec(xmlStr);
|
|
248
|
-
if (!keyDataMatch || !pwdEncryptorMatch) {
|
|
249
|
-
throw new Error("Invalid EncryptionInfo XML - missing keyData or encryptedKey");
|
|
250
|
-
}
|
|
251
|
-
const pwdData = parseAttrs(pwdEncryptorMatch[1]);
|
|
252
|
-
return {
|
|
253
|
-
cipherAlgorithm: "AES",
|
|
254
|
-
cipherChaining: "ChainingModeCBC",
|
|
255
|
-
keyBits: parseInt(pwdData.keyBits ?? "256"),
|
|
256
|
-
hashAlgorithm: (pwdData.hashAlgorithm ?? "SHA512"),
|
|
257
|
-
hashSize: parseInt(pwdData.hashSize ?? "64"),
|
|
258
|
-
spinCount: parseInt(pwdData.spinCount ?? "100000"),
|
|
259
|
-
keySalt: base64ToBytes(pwdData.saltValue ?? ""),
|
|
260
|
-
encryptedVerifierHashInput: base64ToBytes(pwdData.encryptedVerifierHashInput ?? ""),
|
|
261
|
-
encryptedVerifierHashValue: base64ToBytes(pwdData.encryptedVerifierHashValue ?? ""),
|
|
262
|
-
encryptedKeyValue: base64ToBytes(pwdData.encryptedKeyValue ?? ""),
|
|
263
|
-
blockSize: parseInt(pwdData.blockSize ?? "16")
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
function parseAttrs(str) {
|
|
267
|
-
const attrs = {};
|
|
268
|
-
const re = /(\w+)="([^"]*)"/g;
|
|
269
|
-
let match;
|
|
270
|
-
while ((match = re.exec(str)) !== null) {
|
|
271
|
-
attrs[match[1]] = match[2];
|
|
272
|
-
}
|
|
273
|
-
return attrs;
|
|
274
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOCX Module - Internal utilities (shared helpers)
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Encode a byte array to base64. Uses native Node `Buffer` if available;
|
|
6
|
-
* otherwise falls back to chunked `btoa()` for browser environments.
|
|
7
|
-
*
|
|
8
|
-
* The chunked approach avoids the O(n²) string concatenation cost that naïve
|
|
9
|
-
* `String.fromCharCode(...data)` implementations exhibit on large buffers.
|
|
10
|
-
*/
|
|
11
|
-
export declare function bytesToBase64(data: Uint8Array): string;
|
|
12
|
-
/**
|
|
13
|
-
* Decode a base64 string to a byte array. Uses native Node `Buffer` if available.
|
|
14
|
-
*/
|
|
15
|
-
export declare function base64ToBytes(s: string): Uint8Array;
|
|
16
|
-
/**
|
|
17
|
-
* Build an XML attributes object from an array of [name, value] entries,
|
|
18
|
-
* omitting entries whose value is `undefined` or `false`. Numeric and boolean
|
|
19
|
-
* values are stringified: `number → String(n)`, `boolean → "1"`.
|
|
20
|
-
*
|
|
21
|
-
* Reduces repetitive `if (x !== undefined) attrs["w:x"] = String(x)` patterns.
|
|
22
|
-
*/
|
|
23
|
-
export declare function buildAttrs(entries: ReadonlyArray<[string, string | number | boolean | undefined | null]>): Record<string, string>;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOCX Module - Internal utilities (shared helpers)
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Encode a byte array to base64. Uses native Node `Buffer` if available;
|
|
6
|
-
* otherwise falls back to chunked `btoa()` for browser environments.
|
|
7
|
-
*
|
|
8
|
-
* The chunked approach avoids the O(n²) string concatenation cost that naïve
|
|
9
|
-
* `String.fromCharCode(...data)` implementations exhibit on large buffers.
|
|
10
|
-
*/
|
|
11
|
-
export function bytesToBase64(data) {
|
|
12
|
-
if (typeof Buffer !== "undefined") {
|
|
13
|
-
return Buffer.from(data).toString("base64");
|
|
14
|
-
}
|
|
15
|
-
const CHUNK = 0x8000;
|
|
16
|
-
const parts = [];
|
|
17
|
-
for (let i = 0; i < data.length; i += CHUNK) {
|
|
18
|
-
const slice = data.subarray(i, i + CHUNK);
|
|
19
|
-
// `apply` on Uint8Array works in all modern JS engines
|
|
20
|
-
parts.push(String.fromCharCode.apply(null, slice));
|
|
21
|
-
}
|
|
22
|
-
return btoa(parts.join(""));
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Decode a base64 string to a byte array. Uses native Node `Buffer` if available.
|
|
26
|
-
*/
|
|
27
|
-
export function base64ToBytes(s) {
|
|
28
|
-
if (typeof Buffer !== "undefined") {
|
|
29
|
-
return new Uint8Array(Buffer.from(s, "base64"));
|
|
30
|
-
}
|
|
31
|
-
const binary = atob(s);
|
|
32
|
-
const bytes = new Uint8Array(binary.length);
|
|
33
|
-
for (let i = 0; i < binary.length; i++) {
|
|
34
|
-
bytes[i] = binary.charCodeAt(i);
|
|
35
|
-
}
|
|
36
|
-
return bytes;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Build an XML attributes object from an array of [name, value] entries,
|
|
40
|
-
* omitting entries whose value is `undefined` or `false`. Numeric and boolean
|
|
41
|
-
* values are stringified: `number → String(n)`, `boolean → "1"`.
|
|
42
|
-
*
|
|
43
|
-
* Reduces repetitive `if (x !== undefined) attrs["w:x"] = String(x)` patterns.
|
|
44
|
-
*/
|
|
45
|
-
export function buildAttrs(entries) {
|
|
46
|
-
const out = {};
|
|
47
|
-
for (const [k, v] of entries) {
|
|
48
|
-
if (v === undefined || v === null || v === false) {
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
51
|
-
out[k] = typeof v === "boolean" ? "1" : String(v);
|
|
52
|
-
}
|
|
53
|
-
return out;
|
|
54
|
-
}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DOCX Module — Sub-namespace objects
|
|
3
|
-
*
|
|
4
|
-
* Groups flat builder helpers into logical namespaces for better
|
|
5
|
-
* IDE discoverability. These are re-exports aggregated into objects;
|
|
6
|
-
* since they reference the same underlying functions, tree-shaking
|
|
7
|
-
* still applies at the individual function level for consumers who
|
|
8
|
-
* import the flat named exports instead.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```ts
|
|
12
|
-
* import { Run, Paragraph, Table, Math, Field } from "excelts/word";
|
|
13
|
-
*
|
|
14
|
-
* const doc = Document.create();
|
|
15
|
-
* Document.addParagraphElement(doc, Paragraph.create([
|
|
16
|
-
* Run.bold("Hello"),
|
|
17
|
-
* Run.text(" world")
|
|
18
|
-
* ]));
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
import { text, bold, italic, pageBreak, lineBreak, columnBreak, tab, positionalTab, ruby, carriageReturn, noBreakHyphen, softHyphen, symbol, field, pageNumberField, totalPagesField, sectionPagesField, sectionField, dateField, sequenceField, timeField, authorField, titleField, subjectField, keywordsField, fileNameField, fileSizeField, styleRefField, refField, pageRefField, noteRefField, hyperlinkField, quoteField, tocField, tcField, indexEntryField, indexField, ifField, includeTextField, includePictureField, formTextField, formCheckboxField, formDropdownField, paragraph, textParagraph, heading, hyperlink, bookmarkStart, bookmarkEnd, commentRangeStart, commentRangeEnd, commentReference, insertedRun, deletedRun, movedFromRun, movedToRun, moveFromRangeStart, moveFromRangeEnd, moveToRangeStart, moveToRangeEnd, checkBox, mathBlock, mathRun, mathFraction, mathSqrt, mathRoot, mathSum, mathIntegral, mathProduct, mathSuperScript, mathSubScript, mathSubSuperScript, mathPreSubSuperScript, mathPhantom, mathGroupChar, mathBorderBox, mathDelimiter, mathNary, mathFunction, mathLimit, mathMatrix, mathAccent, mathBar, mathBox, mathEquationArray, floatingImage, drawingShape, chart, structuredDocumentTag, border, gridBorders, cell, row, table, simpleTable, searchText, replaceText, mailMerge, paragraphCount, countWords, getHeadings, findBookmark, findComment, listImages, listTables, listHyperlinks, tableCount, extractText } from "./document.js";
|
|
22
|
-
/** Namespace for creating text runs (inline content). */
|
|
23
|
-
export declare const Run: {
|
|
24
|
-
text: typeof text;
|
|
25
|
-
bold: typeof bold;
|
|
26
|
-
italic: typeof italic;
|
|
27
|
-
pageBreak: typeof pageBreak;
|
|
28
|
-
lineBreak: typeof lineBreak;
|
|
29
|
-
columnBreak: typeof columnBreak;
|
|
30
|
-
tab: typeof tab;
|
|
31
|
-
positionalTab: typeof positionalTab;
|
|
32
|
-
ruby: typeof ruby;
|
|
33
|
-
carriageReturn: typeof carriageReturn;
|
|
34
|
-
noBreakHyphen: typeof noBreakHyphen;
|
|
35
|
-
softHyphen: typeof softHyphen;
|
|
36
|
-
symbol: typeof symbol;
|
|
37
|
-
};
|
|
38
|
-
/** Namespace for creating field codes. */
|
|
39
|
-
export declare const Field: {
|
|
40
|
-
create: typeof field;
|
|
41
|
-
pageNumber: typeof pageNumberField;
|
|
42
|
-
totalPages: typeof totalPagesField;
|
|
43
|
-
sectionPages: typeof sectionPagesField;
|
|
44
|
-
section: typeof sectionField;
|
|
45
|
-
date: typeof dateField;
|
|
46
|
-
sequence: typeof sequenceField;
|
|
47
|
-
time: typeof timeField;
|
|
48
|
-
author: typeof authorField;
|
|
49
|
-
title: typeof titleField;
|
|
50
|
-
subject: typeof subjectField;
|
|
51
|
-
keywords: typeof keywordsField;
|
|
52
|
-
fileName: typeof fileNameField;
|
|
53
|
-
fileSize: typeof fileSizeField;
|
|
54
|
-
styleRef: typeof styleRefField;
|
|
55
|
-
ref: typeof refField;
|
|
56
|
-
pageRef: typeof pageRefField;
|
|
57
|
-
noteRef: typeof noteRefField;
|
|
58
|
-
hyperlink: typeof hyperlinkField;
|
|
59
|
-
quote: typeof quoteField;
|
|
60
|
-
toc: typeof tocField;
|
|
61
|
-
tc: typeof tcField;
|
|
62
|
-
indexEntry: typeof indexEntryField;
|
|
63
|
-
index: typeof indexField;
|
|
64
|
-
condition: typeof ifField;
|
|
65
|
-
includeText: typeof includeTextField;
|
|
66
|
-
includePicture: typeof includePictureField;
|
|
67
|
-
formText: typeof formTextField;
|
|
68
|
-
formCheckbox: typeof formCheckboxField;
|
|
69
|
-
formDropdown: typeof formDropdownField;
|
|
70
|
-
};
|
|
71
|
-
/** Namespace for creating paragraphs. */
|
|
72
|
-
export declare const Paragraph: {
|
|
73
|
-
create: typeof paragraph;
|
|
74
|
-
text: typeof textParagraph;
|
|
75
|
-
heading: typeof heading;
|
|
76
|
-
hyperlink: typeof hyperlink;
|
|
77
|
-
bookmarkStart: typeof bookmarkStart;
|
|
78
|
-
bookmarkEnd: typeof bookmarkEnd;
|
|
79
|
-
};
|
|
80
|
-
/** Namespace for comment-related markers. */
|
|
81
|
-
export declare const Comment: {
|
|
82
|
-
rangeStart: typeof commentRangeStart;
|
|
83
|
-
rangeEnd: typeof commentRangeEnd;
|
|
84
|
-
reference: typeof commentReference;
|
|
85
|
-
};
|
|
86
|
-
/** Namespace for track-changes (revision) markers. */
|
|
87
|
-
export declare const TrackChanges: {
|
|
88
|
-
insertedRun: typeof insertedRun;
|
|
89
|
-
deletedRun: typeof deletedRun;
|
|
90
|
-
movedFromRun: typeof movedFromRun;
|
|
91
|
-
movedToRun: typeof movedToRun;
|
|
92
|
-
moveFromRangeStart: typeof moveFromRangeStart;
|
|
93
|
-
moveFromRangeEnd: typeof moveFromRangeEnd;
|
|
94
|
-
moveToRangeStart: typeof moveToRangeStart;
|
|
95
|
-
moveToRangeEnd: typeof moveToRangeEnd;
|
|
96
|
-
};
|
|
97
|
-
/** Namespace for OMML (Office Math) content. */
|
|
98
|
-
export declare const Math: {
|
|
99
|
-
block: typeof mathBlock;
|
|
100
|
-
run: typeof mathRun;
|
|
101
|
-
fraction: typeof mathFraction;
|
|
102
|
-
sqrt: typeof mathSqrt;
|
|
103
|
-
root: typeof mathRoot;
|
|
104
|
-
sum: typeof mathSum;
|
|
105
|
-
integral: typeof mathIntegral;
|
|
106
|
-
product: typeof mathProduct;
|
|
107
|
-
superScript: typeof mathSuperScript;
|
|
108
|
-
subScript: typeof mathSubScript;
|
|
109
|
-
subSuperScript: typeof mathSubSuperScript;
|
|
110
|
-
preSubSuperScript: typeof mathPreSubSuperScript;
|
|
111
|
-
phantom: typeof mathPhantom;
|
|
112
|
-
groupChar: typeof mathGroupChar;
|
|
113
|
-
borderBox: typeof mathBorderBox;
|
|
114
|
-
delimiter: typeof mathDelimiter;
|
|
115
|
-
nary: typeof mathNary;
|
|
116
|
-
func: typeof mathFunction;
|
|
117
|
-
limit: typeof mathLimit;
|
|
118
|
-
matrix: typeof mathMatrix;
|
|
119
|
-
accent: typeof mathAccent;
|
|
120
|
-
bar: typeof mathBar;
|
|
121
|
-
box: typeof mathBox;
|
|
122
|
-
equationArray: typeof mathEquationArray;
|
|
123
|
-
};
|
|
124
|
-
/** Namespace for creating tables. */
|
|
125
|
-
export declare const Table: {
|
|
126
|
-
create: typeof table;
|
|
127
|
-
simple: typeof simpleTable;
|
|
128
|
-
row: typeof row;
|
|
129
|
-
cell: typeof cell;
|
|
130
|
-
border: typeof border;
|
|
131
|
-
gridBorders: typeof gridBorders;
|
|
132
|
-
};
|
|
133
|
-
/** Namespace for drawings (images, shapes, charts). */
|
|
134
|
-
export declare const Drawing: {
|
|
135
|
-
floatingImage: typeof floatingImage;
|
|
136
|
-
shape: typeof drawingShape;
|
|
137
|
-
chart: typeof chart;
|
|
138
|
-
};
|
|
139
|
-
/** Namespace for structured document tags (content controls). */
|
|
140
|
-
export declare const Sdt: {
|
|
141
|
-
create: typeof structuredDocumentTag;
|
|
142
|
-
checkBox: typeof checkBox;
|
|
143
|
-
};
|
|
144
|
-
/** Namespace for querying/searching document content. */
|
|
145
|
-
export declare const Query: {
|
|
146
|
-
search: typeof searchText;
|
|
147
|
-
replace: typeof replaceText;
|
|
148
|
-
mailMerge: typeof mailMerge;
|
|
149
|
-
paragraphCount: typeof paragraphCount;
|
|
150
|
-
countWords: typeof countWords;
|
|
151
|
-
getHeadings: typeof getHeadings;
|
|
152
|
-
findBookmark: typeof findBookmark;
|
|
153
|
-
findComment: typeof findComment;
|
|
154
|
-
listImages: typeof listImages;
|
|
155
|
-
listTables: typeof listTables;
|
|
156
|
-
listHyperlinks: typeof listHyperlinks;
|
|
157
|
-
tableCount: typeof tableCount;
|
|
158
|
-
extractText: typeof extractText;
|
|
159
|
-
};
|