@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,344 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layout Document Model
|
|
3
|
+
*
|
|
4
|
+
* Structured output of the layout engine. Contains positioned elements
|
|
5
|
+
* that can be consumed by any renderer (SVG, PDF, Canvas, etc.).
|
|
6
|
+
*
|
|
7
|
+
* The layout engine (`layout.ts`) produces this model from a DocxDocument.
|
|
8
|
+
* Renderers consume it to produce visual output.
|
|
9
|
+
*
|
|
10
|
+
* Coverage: every variant of `BodyContent` from `../types` produces a
|
|
11
|
+
* corresponding `PageContent` variant. The compile-time exhaustiveness
|
|
12
|
+
* check in `layout-full.ts` enforces this — adding a new BodyContent
|
|
13
|
+
* type is a build error until a corresponding PageContent variant is
|
|
14
|
+
* added here and a layout function is wired up.
|
|
15
|
+
*/
|
|
16
|
+
/** A point in page coordinates (origin: top-left of page content area). */
|
|
17
|
+
export interface LayoutPoint {
|
|
18
|
+
readonly x: number;
|
|
19
|
+
readonly y: number;
|
|
20
|
+
}
|
|
21
|
+
/** A rectangle in page coordinates. */
|
|
22
|
+
export interface LayoutRect {
|
|
23
|
+
readonly x: number;
|
|
24
|
+
readonly y: number;
|
|
25
|
+
readonly width: number;
|
|
26
|
+
readonly height: number;
|
|
27
|
+
}
|
|
28
|
+
/** A positioned text run within a line box. */
|
|
29
|
+
export interface PositionedRun {
|
|
30
|
+
readonly type?: "text";
|
|
31
|
+
readonly text: string;
|
|
32
|
+
readonly x: number;
|
|
33
|
+
readonly width: number;
|
|
34
|
+
readonly font: string;
|
|
35
|
+
readonly fontSize: number;
|
|
36
|
+
readonly bold?: boolean;
|
|
37
|
+
readonly italic?: boolean;
|
|
38
|
+
readonly color?: string;
|
|
39
|
+
readonly underline?: boolean;
|
|
40
|
+
readonly strikethrough?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Vertical alignment relative to the line's baseline. When
|
|
43
|
+
* `"superscript"` or `"subscript"`, the run's `fontSize` is already
|
|
44
|
+
* shrunk (~0.65× of the source size) and renderers must shift the
|
|
45
|
+
* draw baseline by `±fontSize × 0.33` so the glyphs sit above /
|
|
46
|
+
* below the surrounding text in the conventional way.
|
|
47
|
+
*/
|
|
48
|
+
readonly verticalAlign?: "superscript" | "subscript";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A positioned inline image within a line box. Width and height are
|
|
52
|
+
* already in points (the layout engine converts from EMU). `data` /
|
|
53
|
+
* `mimeType` come from the document's image registry — a missing rId
|
|
54
|
+
* yields an empty `data` byte array so renderers can draw a
|
|
55
|
+
* placeholder without crashing.
|
|
56
|
+
*/
|
|
57
|
+
export interface PositionedInlineImage {
|
|
58
|
+
readonly type: "image";
|
|
59
|
+
readonly x: number;
|
|
60
|
+
readonly width: number;
|
|
61
|
+
readonly height: number;
|
|
62
|
+
readonly data: Uint8Array;
|
|
63
|
+
readonly mimeType: string;
|
|
64
|
+
readonly altText?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Item within a `LineBox` — either a positioned text run or an
|
|
68
|
+
* inline image. The latter is rendered alongside text using the same
|
|
69
|
+
* line's baseline.
|
|
70
|
+
*/
|
|
71
|
+
export type LineBoxItem = PositionedRun | PositionedInlineImage;
|
|
72
|
+
/** A line box — a single line of text within a paragraph. */
|
|
73
|
+
export interface LineBox {
|
|
74
|
+
readonly y: number;
|
|
75
|
+
readonly height: number;
|
|
76
|
+
readonly baseline: number;
|
|
77
|
+
/**
|
|
78
|
+
* Items on the line. For backwards-compatibility the field is still
|
|
79
|
+
* named `runs`, but its element type now includes inline images.
|
|
80
|
+
* Renderers that previously assumed every entry was a text run
|
|
81
|
+
* should narrow on `item.type === "image"` first.
|
|
82
|
+
*/
|
|
83
|
+
readonly runs: readonly LineBoxItem[];
|
|
84
|
+
readonly alignment: "left" | "center" | "right" | "justify";
|
|
85
|
+
}
|
|
86
|
+
/** A positioned paragraph on a page. */
|
|
87
|
+
export interface LayoutParagraph {
|
|
88
|
+
readonly type: "paragraph";
|
|
89
|
+
readonly rect: LayoutRect;
|
|
90
|
+
readonly lines: readonly LineBox[];
|
|
91
|
+
readonly sourceIndex: number;
|
|
92
|
+
}
|
|
93
|
+
/** A positioned table on a page. */
|
|
94
|
+
export interface LayoutTable {
|
|
95
|
+
readonly type: "table";
|
|
96
|
+
readonly rect: LayoutRect;
|
|
97
|
+
readonly cells: readonly LayoutTableCell[];
|
|
98
|
+
readonly sourceIndex: number;
|
|
99
|
+
}
|
|
100
|
+
/** A positioned table cell. */
|
|
101
|
+
export interface LayoutTableCell {
|
|
102
|
+
readonly rect: LayoutRect;
|
|
103
|
+
readonly row: number;
|
|
104
|
+
readonly col: number;
|
|
105
|
+
readonly content: readonly (LayoutParagraph | LayoutTable)[];
|
|
106
|
+
readonly backgroundColor?: string;
|
|
107
|
+
readonly borders?: {
|
|
108
|
+
readonly top?: {
|
|
109
|
+
width: number;
|
|
110
|
+
color: string;
|
|
111
|
+
};
|
|
112
|
+
readonly bottom?: {
|
|
113
|
+
width: number;
|
|
114
|
+
color: string;
|
|
115
|
+
};
|
|
116
|
+
readonly left?: {
|
|
117
|
+
width: number;
|
|
118
|
+
color: string;
|
|
119
|
+
};
|
|
120
|
+
readonly right?: {
|
|
121
|
+
width: number;
|
|
122
|
+
color: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/** A positioned image on a page. */
|
|
127
|
+
export interface LayoutImage {
|
|
128
|
+
readonly type: "image";
|
|
129
|
+
readonly rect: LayoutRect;
|
|
130
|
+
readonly data: Uint8Array;
|
|
131
|
+
readonly mimeType: string;
|
|
132
|
+
readonly altText?: string;
|
|
133
|
+
readonly sourceIndex: number;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* How a {@link LayoutFloat} interacts with the surrounding text flow.
|
|
137
|
+
* Mirrors ECMA-376 `<wp:wrapXxx>` elements without prescribing a
|
|
138
|
+
* particular implementation: the layout engine consumes `topAndBottom`
|
|
139
|
+
* to push the in-flow cursor below the float; other styles are
|
|
140
|
+
* preserved here for downstream renderers (or future per-line
|
|
141
|
+
* exclusion-zone wrapping) and currently degrade to no wrap on the
|
|
142
|
+
* built-in body cursor.
|
|
143
|
+
*/
|
|
144
|
+
export interface LayoutFloatWrap {
|
|
145
|
+
readonly style: "square" | "tight" | "through" | "topAndBottom" | "none";
|
|
146
|
+
/** Which side(s) text may flow on (square/tight/through only). */
|
|
147
|
+
readonly side?: "bothSides" | "left" | "right" | "largest";
|
|
148
|
+
/** Padding around the float in points. */
|
|
149
|
+
readonly margins?: {
|
|
150
|
+
readonly top?: number;
|
|
151
|
+
readonly bottom?: number;
|
|
152
|
+
readonly left?: number;
|
|
153
|
+
readonly right?: number;
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/** A positioned floating object on a page. */
|
|
157
|
+
export interface LayoutFloat {
|
|
158
|
+
readonly type: "float";
|
|
159
|
+
readonly rect: LayoutRect;
|
|
160
|
+
readonly content: LayoutImage | LayoutParagraph;
|
|
161
|
+
readonly behindText?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Wrap behaviour declared by the source. Layout consumes
|
|
164
|
+
* `topAndBottom` to advance the body cursor over the float; other
|
|
165
|
+
* styles are recorded but the body wrap is not performed (renderers
|
|
166
|
+
* may implement their own per-line exclusion if required).
|
|
167
|
+
*/
|
|
168
|
+
readonly wrap?: LayoutFloatWrap;
|
|
169
|
+
readonly sourceIndex: number;
|
|
170
|
+
}
|
|
171
|
+
/** A positioned text-box (frame containing flowed body content). */
|
|
172
|
+
export interface LayoutTextBox {
|
|
173
|
+
readonly type: "textBox";
|
|
174
|
+
readonly rect: LayoutRect;
|
|
175
|
+
/** Inner content already positioned relative to `rect`. */
|
|
176
|
+
readonly content: readonly PageContent[];
|
|
177
|
+
readonly border?: {
|
|
178
|
+
readonly width: number;
|
|
179
|
+
readonly color: string;
|
|
180
|
+
};
|
|
181
|
+
readonly background?: string;
|
|
182
|
+
readonly sourceIndex: number;
|
|
183
|
+
}
|
|
184
|
+
/** A positioned drawing shape (rectangle, ellipse, callout, …). */
|
|
185
|
+
export interface LayoutShape {
|
|
186
|
+
readonly type: "shape";
|
|
187
|
+
readonly rect: LayoutRect;
|
|
188
|
+
/** OOXML preset shape type (e.g. "rect", "ellipse", "rightArrow"). */
|
|
189
|
+
readonly preset: string;
|
|
190
|
+
readonly fillColor?: string;
|
|
191
|
+
readonly strokeColor?: string;
|
|
192
|
+
readonly strokeWidth?: number;
|
|
193
|
+
/** Optional inner text-content positioned relative to the shape. */
|
|
194
|
+
readonly textContent?: readonly PageContent[];
|
|
195
|
+
readonly sourceIndex: number;
|
|
196
|
+
}
|
|
197
|
+
/** A positioned chart placeholder. */
|
|
198
|
+
export interface LayoutChart {
|
|
199
|
+
readonly type: "chart";
|
|
200
|
+
readonly rect: LayoutRect;
|
|
201
|
+
/** Chart family — selects the renderer to use. */
|
|
202
|
+
readonly chartKind: "chart" | "chartEx";
|
|
203
|
+
/** Optional pre-rendered SVG (eagerly-rendered charts). */
|
|
204
|
+
readonly svg?: string;
|
|
205
|
+
/** Title from the source chart, if any. */
|
|
206
|
+
readonly title?: string;
|
|
207
|
+
readonly altText?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Original `ChartContent` / `ChartExContent` payload from the source
|
|
210
|
+
* document. Carried so renderers (PDF, custom) can hand the rich data
|
|
211
|
+
* to plug-in chart renderers without re-walking the docx body.
|
|
212
|
+
*
|
|
213
|
+
* Typed as `unknown` here to keep `layout-model` free of optional
|
|
214
|
+
* `import type { ChartContent }` cycles; consumers narrow as needed.
|
|
215
|
+
*/
|
|
216
|
+
readonly source?: unknown;
|
|
217
|
+
readonly sourceIndex: number;
|
|
218
|
+
}
|
|
219
|
+
/** A positioned structured-document-tag (transparent flow container). */
|
|
220
|
+
export interface LayoutSdt {
|
|
221
|
+
readonly type: "sdt";
|
|
222
|
+
readonly rect: LayoutRect;
|
|
223
|
+
readonly content: readonly PageContent[];
|
|
224
|
+
readonly tag?: string;
|
|
225
|
+
readonly alias?: string;
|
|
226
|
+
readonly sourceIndex: number;
|
|
227
|
+
}
|
|
228
|
+
/** A positioned math block. */
|
|
229
|
+
export interface LayoutMath {
|
|
230
|
+
readonly type: "math";
|
|
231
|
+
readonly rect: LayoutRect;
|
|
232
|
+
/** Plain-text fallback — always present. */
|
|
233
|
+
readonly text: string;
|
|
234
|
+
/** MathML rendering — present when conversion succeeded. */
|
|
235
|
+
readonly mathML?: string;
|
|
236
|
+
readonly sourceIndex: number;
|
|
237
|
+
}
|
|
238
|
+
/** A positioned check-box glyph. */
|
|
239
|
+
export interface LayoutCheckBox {
|
|
240
|
+
readonly type: "checkBox";
|
|
241
|
+
readonly rect: LayoutRect;
|
|
242
|
+
readonly checked: boolean;
|
|
243
|
+
/** Glyph used for the box (Unicode fallback when font is unavailable). */
|
|
244
|
+
readonly glyph: string;
|
|
245
|
+
readonly fontSize: number;
|
|
246
|
+
readonly sourceIndex: number;
|
|
247
|
+
}
|
|
248
|
+
/** A positioned table-of-contents stub. */
|
|
249
|
+
export interface LayoutTableOfContents {
|
|
250
|
+
readonly type: "tableOfContents";
|
|
251
|
+
readonly rect: LayoutRect;
|
|
252
|
+
/** Cached entries when the source document has them; empty otherwise. */
|
|
253
|
+
readonly entries: readonly LayoutParagraph[];
|
|
254
|
+
readonly sourceIndex: number;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Embedded foreign content (`<w:altChunk>`). Layout cannot interpret HTML
|
|
258
|
+
* / RTF / etc.; consumers either render the foreign payload themselves
|
|
259
|
+
* (HTML inside an `<svg:foreignObject>`, for instance) or fall back to
|
|
260
|
+
* a placeholder.
|
|
261
|
+
*/
|
|
262
|
+
export interface LayoutAltChunk {
|
|
263
|
+
readonly type: "altChunk";
|
|
264
|
+
readonly rect: LayoutRect;
|
|
265
|
+
readonly contentType: string;
|
|
266
|
+
readonly fileName?: string;
|
|
267
|
+
readonly sourceIndex: number;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Opaque drawing markup that the document model could not normalise.
|
|
271
|
+
* Carried verbatim so high-fidelity renderers (e.g. an OOXML→OOXML
|
|
272
|
+
* pipeline) can preserve the source markup.
|
|
273
|
+
*/
|
|
274
|
+
export interface LayoutOpaqueDrawing {
|
|
275
|
+
readonly type: "opaqueDrawing";
|
|
276
|
+
readonly rect: LayoutRect;
|
|
277
|
+
readonly rawXml: string;
|
|
278
|
+
readonly sourceIndex: number;
|
|
279
|
+
}
|
|
280
|
+
/** Content that appears on a single page. */
|
|
281
|
+
export type PageContent = LayoutParagraph | LayoutTable | LayoutImage | LayoutFloat | LayoutTextBox | LayoutShape | LayoutChart | LayoutSdt | LayoutMath | LayoutCheckBox | LayoutTableOfContents | LayoutAltChunk | LayoutOpaqueDrawing;
|
|
282
|
+
/** Page geometry (margins, dimensions). */
|
|
283
|
+
export interface PageGeometry {
|
|
284
|
+
readonly width: number;
|
|
285
|
+
readonly height: number;
|
|
286
|
+
readonly marginTop: number;
|
|
287
|
+
readonly marginBottom: number;
|
|
288
|
+
readonly marginLeft: number;
|
|
289
|
+
readonly marginRight: number;
|
|
290
|
+
/** Usable content area. */
|
|
291
|
+
readonly contentWidth: number;
|
|
292
|
+
readonly contentHeight: number;
|
|
293
|
+
}
|
|
294
|
+
/** A fully laid-out page. */
|
|
295
|
+
export interface LayoutPage {
|
|
296
|
+
readonly pageNumber: number;
|
|
297
|
+
readonly geometry: PageGeometry;
|
|
298
|
+
readonly content: readonly PageContent[];
|
|
299
|
+
/**
|
|
300
|
+
* Header band content: paragraphs and (uncommonly) tables, laid out
|
|
301
|
+
* with y starting at the section's `pgMar.header` distance from the
|
|
302
|
+
* page top, x measured from `marginLeft`. Renderers translate the
|
|
303
|
+
* band into page coordinates by treating layout-y as relative to
|
|
304
|
+
* the page top (not the content area). `LayoutTable.cells` carry
|
|
305
|
+
* absolute x relative to the band's origin.
|
|
306
|
+
*/
|
|
307
|
+
readonly header?: readonly (LayoutParagraph | LayoutTable)[];
|
|
308
|
+
/** Footer band content; symmetric to `header`. */
|
|
309
|
+
readonly footer?: readonly (LayoutParagraph | LayoutTable)[];
|
|
310
|
+
readonly footnoteArea?: readonly LayoutParagraph[];
|
|
311
|
+
/**
|
|
312
|
+
* Visual separator drawn between body and footnote area
|
|
313
|
+
* (ECMA-376 §17.11.10).
|
|
314
|
+
*
|
|
315
|
+
* - `kind: "separator"` — drawn on pages that introduce their own
|
|
316
|
+
* newly-referenced footnotes; per Microsoft Word convention this
|
|
317
|
+
* is a short horizontal rule taking ~⅓ of the content width.
|
|
318
|
+
* - `kind: "continuationSeparator"` — drawn on pages whose
|
|
319
|
+
* footnote area only carries notes deferred from a previous page;
|
|
320
|
+
* the rule spans the full content width to signal continuation.
|
|
321
|
+
*
|
|
322
|
+
* `y` is in page-absolute coordinates (same convention as
|
|
323
|
+
* `footnoteArea[i].rect.y`) and points at the line's vertical
|
|
324
|
+
* position. Renderers stroke a 0.5pt black line at this y;
|
|
325
|
+
* the rule's left edge is `geometry.marginLeft` and its width is
|
|
326
|
+
* `kind === "separator" ? geometry.contentWidth / 3 :
|
|
327
|
+
* geometry.contentWidth`.
|
|
328
|
+
*
|
|
329
|
+
* Absent on pages with no footnote content.
|
|
330
|
+
*/
|
|
331
|
+
readonly footnoteSeparator?: {
|
|
332
|
+
readonly y: number;
|
|
333
|
+
readonly kind: "separator" | "continuationSeparator";
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
/** The complete layout result — a document broken into positioned pages. */
|
|
337
|
+
export interface LayoutDocument {
|
|
338
|
+
readonly pages: readonly LayoutPage[];
|
|
339
|
+
readonly totalPages: number;
|
|
340
|
+
/** Bookmark → page number mapping. */
|
|
341
|
+
readonly bookmarkPages: ReadonlyMap<string, number>;
|
|
342
|
+
/** Section boundaries (page indices where sections start). */
|
|
343
|
+
readonly sectionBreaks: readonly number[];
|
|
344
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Word Document Layout Engine — Advanced Pagination Model
|
|
3
|
+
*
|
|
4
|
+
* Provides page-break calculation for DOCX documents with support for:
|
|
5
|
+
* - Precise line-by-line text wrapping with greedy algorithm
|
|
6
|
+
* - CJK full-width character width awareness
|
|
7
|
+
* - First-line indent / hanging indent
|
|
8
|
+
* - Tab stop positioning
|
|
9
|
+
* - Contextual spacing (paragraph spacing collapse)
|
|
10
|
+
* - Widow & Orphan control
|
|
11
|
+
* - Footnote/Endnote space reservation
|
|
12
|
+
* - Table cell content height calculation
|
|
13
|
+
* - Inline image height contribution
|
|
14
|
+
* - Numbering (bullet/number) indent calculation
|
|
15
|
+
*
|
|
16
|
+
* Units reminder:
|
|
17
|
+
* 1 inch = 1440 twips
|
|
18
|
+
* 1 pt = 20 twips
|
|
19
|
+
* Default US Letter: 12240 × 15840 twips, margins 1440 each
|
|
20
|
+
* Half-point 24 = 12pt font; line height ~14.4pt = 288 twips (single-spaced)
|
|
21
|
+
*/
|
|
22
|
+
import type { DocxDocument } from "../types.js";
|
|
23
|
+
/** 分页结果:每个 body content 的页面位置 */
|
|
24
|
+
export interface LayoutResult {
|
|
25
|
+
/** 总页数 */
|
|
26
|
+
readonly pageCount: number;
|
|
27
|
+
/** 每一节的页数 */
|
|
28
|
+
readonly sectionPageCounts: readonly number[];
|
|
29
|
+
/** 每个 body content 项的页码(1-based) */
|
|
30
|
+
readonly contentPages: readonly number[];
|
|
31
|
+
/** 每个 body content 项的所在节(0-based) */
|
|
32
|
+
readonly contentSections: readonly number[];
|
|
33
|
+
/** 书签名 → 页码 的映射 */
|
|
34
|
+
readonly bookmarkPages: ReadonlyMap<string, number>;
|
|
35
|
+
}
|
|
36
|
+
/** 布局选项 */
|
|
37
|
+
export interface LayoutOptions {
|
|
38
|
+
/** 默认字号(半磅),默认 24 (= 12pt) */
|
|
39
|
+
readonly defaultFontSize?: number;
|
|
40
|
+
/** 默认每行字符数估算(用于行高计算),默认 80 */
|
|
41
|
+
readonly defaultCharsPerLine?: number;
|
|
42
|
+
/** 平均字符宽度(twips),默认基于 12pt 字体 */
|
|
43
|
+
readonly averageCharWidth?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Optional text measurement function for precise layout.
|
|
46
|
+
* Should return the width of the text in points.
|
|
47
|
+
* Uses heuristic character-count estimation if not provided.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { measureTextWidth, mapToStandardFont } from "../../../utils/font-metrics.js";
|
|
52
|
+
* const options: LayoutOptions = {
|
|
53
|
+
* measureText: (text, font, size) => measureTextWidth(text, mapToStandardFont(font), size)
|
|
54
|
+
* };
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
readonly measureText?: (text: string, fontName: string, fontSize: number) => number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 对文档进行分页布局计算。
|
|
61
|
+
* 返回每个 body content 所在的页码和总页数。
|
|
62
|
+
*/
|
|
63
|
+
export declare function layoutDocument(doc: DocxDocument, options?: LayoutOptions): LayoutResult;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Word Document Page Renderer — SVG Output
|
|
3
|
+
*
|
|
4
|
+
* Renders DOCX document pages to SVG strings for visual preview.
|
|
5
|
+
* Uses the layout engine for pagination and produces approximate
|
|
6
|
+
* visual representations of document content.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
*/
|
|
10
|
+
import type { DocxDocument } from "../types.js";
|
|
11
|
+
import type { LayoutDocument } from "./layout-model.js";
|
|
12
|
+
/** Options for rendering document pages to SVG. */
|
|
13
|
+
export interface RenderOptions {
|
|
14
|
+
/** Output SVG width in pixels. If not set, derived from page dimensions. */
|
|
15
|
+
readonly width?: number;
|
|
16
|
+
/** Output SVG height in pixels. If not set, derived from page dimensions. */
|
|
17
|
+
readonly height?: number;
|
|
18
|
+
/** Font family mapping: document font name → SVG font-family value. */
|
|
19
|
+
readonly fonts?: ReadonlyMap<string, string>;
|
|
20
|
+
/** Background color (CSS color string). Default: "white". */
|
|
21
|
+
readonly backgroundColor?: string;
|
|
22
|
+
/** Scale factor for the output. Default: 1.0. */
|
|
23
|
+
readonly scale?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Render a specific page of a DOCX document to an SVG string.
|
|
27
|
+
*
|
|
28
|
+
* @param doc - The parsed DOCX document
|
|
29
|
+
* @param pageNumber - 1-based page number to render
|
|
30
|
+
* @param options - Rendering options
|
|
31
|
+
* @returns SVG string for the specified page
|
|
32
|
+
*
|
|
33
|
+
* @stability experimental
|
|
34
|
+
*/
|
|
35
|
+
export declare function renderPageToSvg(doc: DocxDocument, pageNumber: number, options?: RenderOptions): string;
|
|
36
|
+
/**
|
|
37
|
+
* Render all pages of a DOCX document to SVG strings.
|
|
38
|
+
*
|
|
39
|
+
* @param doc - The parsed DOCX document
|
|
40
|
+
* @param options - Rendering options
|
|
41
|
+
* @returns Array of SVG strings, one per page
|
|
42
|
+
*
|
|
43
|
+
* @stability experimental
|
|
44
|
+
*/
|
|
45
|
+
export declare function renderDocumentToSvg(doc: DocxDocument, options?: RenderOptions): string[];
|
|
46
|
+
/**
|
|
47
|
+
* Render a page from a pre-computed LayoutDocument to SVG.
|
|
48
|
+
* This avoids re-computing layout — just serializes positioned elements to SVG.
|
|
49
|
+
*
|
|
50
|
+
* @param layout - A LayoutDocument produced by layoutDocumentFull().
|
|
51
|
+
* @param pageNumber - 1-based page number to render.
|
|
52
|
+
* @param options - Rendering options (scale, dimensions, background color).
|
|
53
|
+
* @returns SVG string.
|
|
54
|
+
*
|
|
55
|
+
* @stability experimental
|
|
56
|
+
*/
|
|
57
|
+
export declare function renderPageFromLayout(layout: LayoutDocument, pageNumber: number, options?: RenderOptions): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Markdown Converters (Subpath Entry)
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the Markdown converter API at `excelts/word/markdown`. This file
|
|
5
|
+
* is referenced by `package.json#exports["./word/markdown"]`; it forwards to
|
|
6
|
+
* the implementation under `./convert/markdown`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { renderToMarkdown, markdownToDocx, markdownToDocxBody } from "excelts/word/markdown";
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export { renderToMarkdown, markdownToDocx, markdownToDocxBody } from "./convert/markdown/markdown.js";
|
|
14
|
+
export type { MarkdownRenderOptions, MarkdownImportOptions, MarkdownImageData } from "./convert/markdown/markdown.js";
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOCX Module - Patcher
|
|
3
|
+
*
|
|
4
|
+
* Internal logic for replacing placeholders (e.g. `{{name}}`) in a DocxDocument
|
|
5
|
+
* with text, paragraphs, tables, or images. Used by `patchDocument` and
|
|
6
|
+
* `patchTemplate` in document-io.ts.
|
|
7
|
+
*
|
|
8
|
+
* Public API is exposed through document-io.ts; this file contains the
|
|
9
|
+
* pure patch logic (no IO).
|
|
10
|
+
*
|
|
11
|
+
* Container coverage: the patcher walks every container that may carry
|
|
12
|
+
* paragraphs — body, headers/footers, footnotes/endnotes, table cells
|
|
13
|
+
* (including nested tables), structured-document tags (block & inline),
|
|
14
|
+
* text boxes, drawing shape text bodies, and the cached paragraphs of a
|
|
15
|
+
* Table of Contents. Anything paragraph-shaped is run through
|
|
16
|
+
* `patchParagraph`, so a placeholder is matched the same way regardless
|
|
17
|
+
* of which container holds it.
|
|
18
|
+
*/
|
|
19
|
+
import type { DocxDocument, ImageDef, Paragraph, Table } from "./types.js";
|
|
20
|
+
/** Type of content to patch into a placeholder. */
|
|
21
|
+
export type PatchContent = {
|
|
22
|
+
readonly type: "text";
|
|
23
|
+
readonly text: string;
|
|
24
|
+
} | {
|
|
25
|
+
readonly type: "paragraph";
|
|
26
|
+
readonly children: readonly Paragraph[];
|
|
27
|
+
} | {
|
|
28
|
+
readonly type: "table";
|
|
29
|
+
readonly table: Table;
|
|
30
|
+
} | {
|
|
31
|
+
readonly type: "image";
|
|
32
|
+
readonly image: ImageDef;
|
|
33
|
+
readonly width: number;
|
|
34
|
+
readonly height: number;
|
|
35
|
+
};
|
|
36
|
+
/** A single patch operation mapping a placeholder to replacement content. */
|
|
37
|
+
export interface PatchOperation {
|
|
38
|
+
/** Placeholder string to find (e.g. "{{name}}"). */
|
|
39
|
+
readonly placeholder: string;
|
|
40
|
+
/** Content to replace the placeholder with. */
|
|
41
|
+
readonly content: PatchContent;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Apply patches to a parsed document model.
|
|
45
|
+
*
|
|
46
|
+
* Returns a NEW {@link DocxDocument} with a fresh `body` array and a new
|
|
47
|
+
* `images` array. However, the inner content reachable from
|
|
48
|
+
* `headers` / `footers` / `footnotes` / `endnotes` and from non-replaced
|
|
49
|
+
* paragraphs/tables is mutated in place: text replacements rewrite the
|
|
50
|
+
* existing `Paragraph.children[].content[].text`, table rows/cells are
|
|
51
|
+
* patched in place, etc.
|
|
52
|
+
*
|
|
53
|
+
* **Practical consequence**: do not keep using the input `doc` after calling
|
|
54
|
+
* this function — its inner state has been modified. Always use the return
|
|
55
|
+
* value. Concurrent use of the input `doc` from another thread/path is not
|
|
56
|
+
* supported.
|
|
57
|
+
*
|
|
58
|
+
* @param doc - The document model. Internal arrays/objects will be mutated.
|
|
59
|
+
* @param patches - Patches to apply.
|
|
60
|
+
* @returns A new {@link DocxDocument} reference with patches applied.
|
|
61
|
+
*/
|
|
62
|
+
export declare function applyPatchesToDocument(doc: DocxDocument, patches: readonly PatchOperation[]): DocxDocument;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compatibility Mode API
|
|
3
|
+
*
|
|
4
|
+
* Get and set the Word compatibility mode of a document.
|
|
5
|
+
*/
|
|
6
|
+
import type { DocxDocument } from "../types.js";
|
|
7
|
+
/** Word compatibility mode versions. */
|
|
8
|
+
export type CompatibilityMode = 11 | 12 | 14 | 15;
|
|
9
|
+
/**
|
|
10
|
+
* Get the compatibility mode of a document.
|
|
11
|
+
*
|
|
12
|
+
* Looks at the `compatSetting` named "compatibilityMode" in document settings.
|
|
13
|
+
* Returns 15 (Word 2013+) by default if not found.
|
|
14
|
+
*
|
|
15
|
+
* @param doc - The document to inspect.
|
|
16
|
+
* @returns The compatibility mode version number.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getCompatibilityMode(doc: DocxDocument): CompatibilityMode;
|
|
19
|
+
/**
|
|
20
|
+
* Set the compatibility mode of a document (mutates settings in place).
|
|
21
|
+
*
|
|
22
|
+
* @param doc - The document to modify (mutated in place).
|
|
23
|
+
* @param mode - The target compatibility mode (11=Word 2003, 12=Word 2007, 14=Word 2010, 15=Word 2013+).
|
|
24
|
+
*/
|
|
25
|
+
export declare function setCompatibilityMode(doc: DocxDocument, mode: CompatibilityMode): void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenDoPE Data Binding API
|
|
3
|
+
*
|
|
4
|
+
* Resolve data bindings in a document by evaluating XPath expressions
|
|
5
|
+
* against CustomXML parts and populating the SDT content with values.
|
|
6
|
+
*/
|
|
7
|
+
import type { DocxDocument } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Resolve data bindings in a document by evaluating XPath expressions
|
|
10
|
+
* against CustomXML parts and populating the SDT content with values.
|
|
11
|
+
*
|
|
12
|
+
* Supports:
|
|
13
|
+
* - Simple value binding: SDT text is replaced with XPath evaluation result
|
|
14
|
+
* - Repeating sections: SDT with `repeatingSection` is duplicated per data row
|
|
15
|
+
* - Conditional display: SDT is removed if XPath returns empty/false
|
|
16
|
+
*
|
|
17
|
+
* @param doc - The document to process (returns a new modified copy).
|
|
18
|
+
* @param data - Optional override data map (storeItemId → XML string). If not
|
|
19
|
+
* provided, uses the document's embedded CustomXML parts.
|
|
20
|
+
* @returns A new document with bindings resolved.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveDataBindings(doc: DocxDocument, data?: ReadonlyMap<string, string>): DocxDocument;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Form Field Data API
|
|
3
|
+
*
|
|
4
|
+
* Extract and fill form field values in a document.
|
|
5
|
+
*/
|
|
6
|
+
import type { DocxDocument } from "../types.js";
|
|
7
|
+
/** Result of extracting form field values from a document. */
|
|
8
|
+
export interface FormFieldEntry {
|
|
9
|
+
/** Field name (from ffData). */
|
|
10
|
+
readonly name: string;
|
|
11
|
+
/** Field type. */
|
|
12
|
+
readonly type: "text" | "checkBox" | "dropDown";
|
|
13
|
+
/** Current value (text content for text fields, checked state for checkbox, selected index for dropdown). */
|
|
14
|
+
readonly value: string | boolean | number;
|
|
15
|
+
/** For dropdown: the available entries. */
|
|
16
|
+
readonly entries?: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Extract all form field values from a document.
|
|
20
|
+
*
|
|
21
|
+
* Traverses the document body (paragraphs, tables, headers, footers)
|
|
22
|
+
* and collects all legacy form field data.
|
|
23
|
+
*
|
|
24
|
+
* @param doc - The document to extract from.
|
|
25
|
+
* @returns Array of form field entries with their current values.
|
|
26
|
+
*/
|
|
27
|
+
export declare function extractFormFields(doc: DocxDocument): FormFieldEntry[];
|
|
28
|
+
/**
|
|
29
|
+
* Fill form field values throughout a document.
|
|
30
|
+
*
|
|
31
|
+
* The body, headers, footers, footnotes, endnotes and comments are all
|
|
32
|
+
* processed so a form field placed inside a header (a common case) still
|
|
33
|
+
* gets filled. Inside paragraphs the visitor descends into hyperlinks and
|
|
34
|
+
* track-change wrappers so a form field referenced from a tracked
|
|
35
|
+
* insertion is also reachable.
|
|
36
|
+
*
|
|
37
|
+
* @param doc - The document to fill (returns a new copy with filled values).
|
|
38
|
+
* @param values - Map of field name → new value.
|
|
39
|
+
* @returns A new document with form fields populated.
|
|
40
|
+
*/
|
|
41
|
+
export declare function fillFormFields(doc: DocxDocument, values: ReadonlyMap<string, string | boolean | number>): DocxDocument;
|