@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
|
@@ -764,16 +764,11 @@ class ChartSpaceXform extends BaseXform {
|
|
|
764
764
|
this._renderMarker(xml, pf.marker);
|
|
765
765
|
}
|
|
766
766
|
// `c:pivotFmt` may carry a bare `c:dLbl` (no `c:dLbls` wrapper).
|
|
767
|
-
//
|
|
768
|
-
//
|
|
769
|
-
// the captured raw bytes for files parsed before the structured
|
|
770
|
-
// slot existed.
|
|
767
|
+
// Use the structured representation so callers can mutate label
|
|
768
|
+
// attributes programmatically.
|
|
771
769
|
if (pf.dLbl) {
|
|
772
770
|
this._renderDataLabelEntry(xml, pf.dLbl);
|
|
773
771
|
}
|
|
774
|
-
else if (pf.rawDLbl) {
|
|
775
|
-
xml.writeRaw(pf.rawDLbl);
|
|
776
|
-
}
|
|
777
772
|
else if (pf.dataLabels) {
|
|
778
773
|
this._renderDataLabels(xml, pf.dataLabels);
|
|
779
774
|
}
|
|
@@ -3710,18 +3705,11 @@ class ChartSpaceXform extends BaseXform {
|
|
|
3710
3705
|
!this.currentDataLabelEntry) {
|
|
3711
3706
|
this.rawXmlTarget = "c:tx:trendlineLbl";
|
|
3712
3707
|
}
|
|
3713
|
-
// c:dLbl inside pivotFmt is
|
|
3714
|
-
// `currentDataLabelEntry` branch below
|
|
3708
|
+
// c:dLbl inside pivotFmt is parsed structurally — see the
|
|
3709
|
+
// `currentDataLabelEntry` branch below. `c:dLbl` open always
|
|
3715
3710
|
// starts an entry, and the matching close routes it to the
|
|
3716
3711
|
// pivotFormat or the data-labels bundle depending on the
|
|
3717
|
-
// surrounding state
|
|
3718
|
-
// preempted structured parsing has been removed because it
|
|
3719
|
-
// made `PivotFormat.dLbl` unreachable from XML — callers could
|
|
3720
|
-
// only populate the field by mutating the model directly, and
|
|
3721
|
-
// the writer then had to consult both `dLbl` and the
|
|
3722
|
-
// deprecated `rawDLbl` fallback. Now the parser always
|
|
3723
|
-
// produces `dLbl`; `rawDLbl` remains on the type only for
|
|
3724
|
-
// legacy round-trip of files parsed by older versions.
|
|
3712
|
+
// surrounding state.
|
|
3725
3713
|
return true;
|
|
3726
3714
|
}
|
|
3727
3715
|
switch (name) {
|
|
@@ -4327,9 +4315,7 @@ class ChartSpaceXform extends BaseXform {
|
|
|
4327
4315
|
// Bare `<c:dLbl>` inside `<c:pivotFmt>` (no `<c:dLbls>`
|
|
4328
4316
|
// wrapper). Pivot samples from Excel emit a single dLbl
|
|
4329
4317
|
// here and the structured slot on `PivotFormat.dLbl`
|
|
4330
|
-
// captures it.
|
|
4331
|
-
// into `rawDLbl`, which made the structured field
|
|
4332
|
-
// unreachable from on-disk files.
|
|
4318
|
+
// captures it.
|
|
4333
4319
|
this.currentPivotFormat.dLbl = this.currentDataLabelEntry;
|
|
4334
4320
|
this.currentDataLabelEntry = null;
|
|
4335
4321
|
}
|
|
@@ -200,9 +200,19 @@ interface ZipEntryLike {
|
|
|
200
200
|
/**
|
|
201
201
|
* XLSX class - handles Excel file operations
|
|
202
202
|
* Works in both Node.js and Browser environments
|
|
203
|
+
*
|
|
204
|
+
* Generic over the concrete `Workbook` type so a Node subclass that extends
|
|
205
|
+
* `XLSX<NodeWorkbook>` automatically narrows `load()` / `read()` /
|
|
206
|
+
* `loadFromFiles()` / etc. to return the Node `Workbook` (which exposes
|
|
207
|
+
* `xlsx.readFile` / `xlsx.writeFile`). Without this, those methods are
|
|
208
|
+
* inherited unchanged and surface the browser `Workbook` type to Node
|
|
209
|
+
* consumers — see issue #160.
|
|
210
|
+
*
|
|
211
|
+
* The default type parameter keeps the public XLSX surface unchanged for
|
|
212
|
+
* external callers (`new XLSX(workbook)` is still typed as `XLSX<Workbook>`).
|
|
203
213
|
*/
|
|
204
|
-
declare class XLSX {
|
|
205
|
-
workbook:
|
|
214
|
+
declare class XLSX<TWorkbook extends Workbook = Workbook> {
|
|
215
|
+
workbook: TWorkbook;
|
|
206
216
|
static RelType: {
|
|
207
217
|
OfficeDocument: string;
|
|
208
218
|
Worksheet: string;
|
|
@@ -239,7 +249,7 @@ declare class XLSX {
|
|
|
239
249
|
Timeline: string;
|
|
240
250
|
TimelineCache: string;
|
|
241
251
|
};
|
|
242
|
-
constructor(workbook:
|
|
252
|
+
constructor(workbook: TWorkbook);
|
|
243
253
|
/**
|
|
244
254
|
* Create a stream from binary data (for media/themes)
|
|
245
255
|
*/
|
|
@@ -285,11 +295,11 @@ declare class XLSX {
|
|
|
285
295
|
/**
|
|
286
296
|
* Read workbook from a stream
|
|
287
297
|
*/
|
|
288
|
-
read(stream: IParseStream, options?: XlsxReadOptions): Promise<
|
|
298
|
+
read(stream: IParseStream, options?: XlsxReadOptions): Promise<TWorkbook>;
|
|
289
299
|
/**
|
|
290
300
|
* Write workbook to a stream
|
|
291
301
|
*/
|
|
292
|
-
write(stream: IWritableStream, options?: XlsxWriteOptions): Promise<
|
|
302
|
+
write(stream: IWritableStream, options?: XlsxWriteOptions): Promise<this>;
|
|
293
303
|
/**
|
|
294
304
|
* Load a workbook from binary data.
|
|
295
305
|
*
|
|
@@ -302,11 +312,11 @@ declare class XLSX {
|
|
|
302
312
|
* raw binary cannot be round-tripped through a JS string and is rejected
|
|
303
313
|
* to prevent silent corruption.
|
|
304
314
|
*/
|
|
305
|
-
load(data: Uint8Array | ArrayBuffer | ArrayBufferView | string, options?: XlsxReadOptions): Promise<
|
|
315
|
+
load(data: Uint8Array | ArrayBuffer | ArrayBufferView | string, options?: XlsxReadOptions): Promise<TWorkbook>;
|
|
306
316
|
/**
|
|
307
317
|
* Internal: Load from Uint8Array buffer
|
|
308
318
|
*/
|
|
309
|
-
protected loadBuffer(buffer: Uint8Array, options?: XlsxReadOptions): Promise<
|
|
319
|
+
protected loadBuffer(buffer: Uint8Array, options?: XlsxReadOptions): Promise<TWorkbook>;
|
|
310
320
|
/**
|
|
311
321
|
* Internal: Load workbook from an async stream of ZIP entries.
|
|
312
322
|
*
|
|
@@ -328,7 +338,7 @@ declare class XLSX {
|
|
|
328
338
|
* Returns true if handled, false if should be passed to _processDefaultEntry
|
|
329
339
|
*/
|
|
330
340
|
protected _processKnownEntry(stream: IParseStream, model: any, entryName: string, options?: XlsxOptions): Promise<boolean>;
|
|
331
|
-
protected loadFromZipEntries(entries: AsyncIterable<ZipEntryLike>, options?: XlsxOptions): Promise<
|
|
341
|
+
protected loadFromZipEntries(entries: AsyncIterable<ZipEntryLike>, options?: XlsxOptions): Promise<TWorkbook>;
|
|
332
342
|
/**
|
|
333
343
|
* Write workbook to buffer
|
|
334
344
|
*/
|
|
@@ -470,7 +480,7 @@ declare class XLSX {
|
|
|
470
480
|
_processChartRelsEntry(stream: IParseStream, model: any, chartNumber: number): Promise<void>;
|
|
471
481
|
_processChartStyleEntry(stream: IParseStream, model: any, styleNumber: number): Promise<void>;
|
|
472
482
|
_processChartColorsEntry(stream: IParseStream, model: any, colorsNumber: number): Promise<void>;
|
|
473
|
-
loadFromFiles(zipData: Record<string, Uint8Array>, options?: XlsxReadOptions): Promise<
|
|
483
|
+
loadFromFiles(zipData: Record<string, Uint8Array>, options?: XlsxReadOptions): Promise<TWorkbook>;
|
|
474
484
|
/**
|
|
475
485
|
* Process default entries (drawings, comments, tables, etc.)
|
|
476
486
|
* @param rawData Optional raw entry data for passthrough preservation (used by loadFromFiles)
|
|
@@ -174,6 +174,25 @@ class StreamingZipWriterAdapter {
|
|
|
174
174
|
resolve();
|
|
175
175
|
}
|
|
176
176
|
});
|
|
177
|
+
// Forward sink errors to the zip pipeline. Without this, a user sink
|
|
178
|
+
// that errors mid-write (write failure, EPIPE, abort, etc) would leave
|
|
179
|
+
// `_finalize()` hanging forever — `writeToZip` keeps writing into a
|
|
180
|
+
// dead sink, but `_finalize`'s 'finish'/'error' listeners on the zip
|
|
181
|
+
// adapter never fire because nothing tells the adapter the sink died.
|
|
182
|
+
stream.on("error", (err) => {
|
|
183
|
+
this._emit("error", err);
|
|
184
|
+
// Wake any backpressure waiters so writeToZip's `await zip.waitForDrain()`
|
|
185
|
+
// returns instead of hanging forever for a 'drain' that will never come.
|
|
186
|
+
this._needsDrain = false;
|
|
187
|
+
const resolvers = this._drainResolvers.splice(0);
|
|
188
|
+
for (const resolve of resolvers) {
|
|
189
|
+
resolve();
|
|
190
|
+
}
|
|
191
|
+
const asyncResolvers = this._pendingWriteResolvers.splice(0);
|
|
192
|
+
for (const resolve of asyncResolvers) {
|
|
193
|
+
resolve();
|
|
194
|
+
}
|
|
195
|
+
});
|
|
177
196
|
}
|
|
178
197
|
}
|
|
179
198
|
/**
|
|
@@ -1239,14 +1258,9 @@ function buildRawChartExLegendXml(legend) {
|
|
|
1239
1258
|
}
|
|
1240
1259
|
function buildRawChartExDataXml(chartData) {
|
|
1241
1260
|
const parts = ["<cx:chartData>"];
|
|
1242
|
-
//
|
|
1243
|
-
//
|
|
1244
|
-
//
|
|
1245
|
-
// rejected in strict mode. The structured writer and raw-patch
|
|
1246
|
-
// paths now both emit externalData at the chartSpace level; any
|
|
1247
|
-
// legacy `chartData.externalData` is migrated to
|
|
1248
|
-
// `chartSpace.externalData` at parse time so the deprecated slot
|
|
1249
|
-
// can be ignored here without data loss.
|
|
1261
|
+
// `cx:externalData` is a child of `cx:chartSpace` per Chart2014's
|
|
1262
|
+
// `CT_ChartSpace`, NOT of `cx:chartData`. Emitted at the chartSpace
|
|
1263
|
+
// level by the structured writer; nothing for us to do here.
|
|
1250
1264
|
for (const entry of chartData?.data ?? []) {
|
|
1251
1265
|
parts.push(`<cx:data id="${entry.id}">`);
|
|
1252
1266
|
if (entry.strDim) {
|
|
@@ -3768,6 +3782,16 @@ function escapeAttr(value) {
|
|
|
3768
3782
|
/**
|
|
3769
3783
|
* XLSX class - handles Excel file operations
|
|
3770
3784
|
* Works in both Node.js and Browser environments
|
|
3785
|
+
*
|
|
3786
|
+
* Generic over the concrete `Workbook` type so a Node subclass that extends
|
|
3787
|
+
* `XLSX<NodeWorkbook>` automatically narrows `load()` / `read()` /
|
|
3788
|
+
* `loadFromFiles()` / etc. to return the Node `Workbook` (which exposes
|
|
3789
|
+
* `xlsx.readFile` / `xlsx.writeFile`). Without this, those methods are
|
|
3790
|
+
* inherited unchanged and surface the browser `Workbook` type to Node
|
|
3791
|
+
* consumers — see issue #160.
|
|
3792
|
+
*
|
|
3793
|
+
* The default type parameter keeps the public XLSX surface unchanged for
|
|
3794
|
+
* external callers (`new XLSX(workbook)` is still typed as `XLSX<Workbook>`).
|
|
3771
3795
|
*/
|
|
3772
3796
|
class XLSX {
|
|
3773
3797
|
constructor(workbook) {
|
|
@@ -6,18 +6,26 @@
|
|
|
6
6
|
* - writeFile: Write to file path
|
|
7
7
|
* - Constructor injects readFileAsync for filename-based media loading
|
|
8
8
|
*
|
|
9
|
-
* Inherited from XLSX
|
|
9
|
+
* Inherited from XLSX (and narrowed to the Node `Workbook` type via the
|
|
10
|
+
* `XLSXBase<Workbook>` generic):
|
|
10
11
|
* - read: Read from stream
|
|
11
12
|
* - write: Write to stream
|
|
12
13
|
* - load: Load from buffer
|
|
13
14
|
* - writeBuffer: Write to buffer (Uint8Array)
|
|
14
15
|
* - addMedia: Supports buffer, base64, and filename (via readFileAsync)
|
|
16
|
+
*
|
|
17
|
+
* The `<Workbook>` type argument is what makes `wb.xlsx.load(buf)` /
|
|
18
|
+
* `wb.xlsx.read(stream)` return the *Node* Workbook (which exposes
|
|
19
|
+
* `xlsx.readFile` / `xlsx.writeFile`) instead of the browser base class.
|
|
20
|
+
* Without the generic, the inherited methods would be typed against the
|
|
21
|
+
* browser `Workbook` and Node consumers chaining off the returned value
|
|
22
|
+
* would lose access to the Node-only file APIs — issue #160.
|
|
15
23
|
*/
|
|
16
24
|
import type { Workbook } from "../workbook.js";
|
|
17
25
|
import type { XlsxReadOptions, XlsxWriteOptions } from "./xlsx.browser.js";
|
|
18
26
|
import { XLSX as XLSXBase } from "./xlsx.browser.js";
|
|
19
27
|
import type { ReadableLike } from "../../stream/types.js";
|
|
20
|
-
declare class XLSX extends XLSXBase {
|
|
28
|
+
declare class XLSX extends XLSXBase<Workbook> {
|
|
21
29
|
constructor(workbook: Workbook);
|
|
22
30
|
private static iterateZipEntries;
|
|
23
31
|
read(stream: ReadableLike, options?: XlsxReadOptions): Promise<Workbook>;
|
|
@@ -6,12 +6,20 @@
|
|
|
6
6
|
* - writeFile: Write to file path
|
|
7
7
|
* - Constructor injects readFileAsync for filename-based media loading
|
|
8
8
|
*
|
|
9
|
-
* Inherited from XLSX
|
|
9
|
+
* Inherited from XLSX (and narrowed to the Node `Workbook` type via the
|
|
10
|
+
* `XLSXBase<Workbook>` generic):
|
|
10
11
|
* - read: Read from stream
|
|
11
12
|
* - write: Write to stream
|
|
12
13
|
* - load: Load from buffer
|
|
13
14
|
* - writeBuffer: Write to buffer (Uint8Array)
|
|
14
15
|
* - addMedia: Supports buffer, base64, and filename (via readFileAsync)
|
|
16
|
+
*
|
|
17
|
+
* The `<Workbook>` type argument is what makes `wb.xlsx.load(buf)` /
|
|
18
|
+
* `wb.xlsx.read(stream)` return the *Node* Workbook (which exposes
|
|
19
|
+
* `xlsx.readFile` / `xlsx.writeFile`) instead of the browser base class.
|
|
20
|
+
* Without the generic, the inherited methods would be typed against the
|
|
21
|
+
* browser `Workbook` and Node consumers chaining off the returned value
|
|
22
|
+
* would lose access to the Node-only file APIs — issue #160.
|
|
15
23
|
*/
|
|
16
24
|
import { Parse } from "../../archive/unzip/stream.browser.js";
|
|
17
25
|
import { ExcelFileError } from "../errors.js";
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Converts Excel Workbook data into the PDF module's independent data model.
|
|
5
5
|
* This is the ONLY file in the PDF module that imports from @excel.
|
|
6
|
+
* It also imports from @word/bridge/excel-bridge for Word chart → ChartModel mapping.
|
|
6
7
|
*
|
|
7
8
|
* @example
|
|
8
9
|
* ```typescript
|
|
@@ -15,7 +16,9 @@
|
|
|
15
16
|
* ```
|
|
16
17
|
*/
|
|
17
18
|
import type { Chart, RegionMapDataOptions } from "../excel/chart/index.js";
|
|
18
|
-
import type { Workbook } from "../excel/workbook.js";
|
|
19
|
+
import type { Workbook } from "../excel/workbook.browser.js";
|
|
20
|
+
import type { Chart as WordChart } from "../word/types.js";
|
|
21
|
+
import { type PdfPageBuilder } from "./builder/document-builder.js";
|
|
19
22
|
import { type PdfExportOptions } from "./types.js";
|
|
20
23
|
/**
|
|
21
24
|
* Export an Excel Workbook directly to PDF.
|
|
@@ -97,3 +100,29 @@ export interface ChartToPdfOptions {
|
|
|
97
100
|
* `@cj-tech-master/excelts/pdf` alongside `excelToPdf`.
|
|
98
101
|
*/
|
|
99
102
|
export declare function chartToPdf(chart: Chart, options?: ChartToPdfOptions): Promise<Uint8Array>;
|
|
103
|
+
/**
|
|
104
|
+
* Create a chart renderer callback for use with `docxToPdf`.
|
|
105
|
+
*
|
|
106
|
+
* This factory returns a function that converts Word Chart definitions
|
|
107
|
+
* into Excel's internal ChartModel and renders them using the full
|
|
108
|
+
* Excel chart rendering engine (8000+ lines of vector drawing logic).
|
|
109
|
+
*
|
|
110
|
+
* Requires `installChartSupport()` to have been called.
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* import { installChartSupport } from "excelts/chart";
|
|
115
|
+
* import { docxToPdf, createWordChartPdfRenderer } from "excelts/pdf";
|
|
116
|
+
*
|
|
117
|
+
* installChartSupport();
|
|
118
|
+
* const pdfBytes = await docxToPdf(doc, {
|
|
119
|
+
* chartRenderer: createWordChartPdfRenderer()
|
|
120
|
+
* });
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export declare function createWordChartPdfRenderer(): (chart: WordChart, page: PdfPageBuilder, rect: {
|
|
124
|
+
x: number;
|
|
125
|
+
y: number;
|
|
126
|
+
width: number;
|
|
127
|
+
height: number;
|
|
128
|
+
}) => void;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Converts Excel Workbook data into the PDF module's independent data model.
|
|
5
5
|
* This is the ONLY file in the PDF module that imports from @excel.
|
|
6
|
+
* It also imports from @word/bridge/excel-bridge for Word chart → ChartModel mapping.
|
|
6
7
|
*
|
|
7
8
|
* @example
|
|
8
9
|
* ```typescript
|
|
@@ -25,6 +26,7 @@ import { ValueType } from "../excel/enums.js";
|
|
|
25
26
|
import { formatCellValue } from "../excel/utils/cell-format.js";
|
|
26
27
|
import { tryInvokeFormulaEngine } from "../formula/host-registry.js";
|
|
27
28
|
import { base64ToUint8Array } from "../../utils/utils.base.js";
|
|
29
|
+
import { wordChartToChartModel } from "../word/bridge/excel-bridge.js";
|
|
28
30
|
import { PdfDocumentBuilder } from "./builder/document-builder.js";
|
|
29
31
|
import { exportPdf } from "./render/pdf-exporter.js";
|
|
30
32
|
import { PdfCellType } from "./types.js";
|
|
@@ -1140,3 +1142,33 @@ async function convertChartsheet(cs) {
|
|
|
1140
1142
|
pageSetup
|
|
1141
1143
|
};
|
|
1142
1144
|
}
|
|
1145
|
+
// =============================================================================
|
|
1146
|
+
// Word Chart → PDF Integration
|
|
1147
|
+
// =============================================================================
|
|
1148
|
+
/**
|
|
1149
|
+
* Create a chart renderer callback for use with `docxToPdf`.
|
|
1150
|
+
*
|
|
1151
|
+
* This factory returns a function that converts Word Chart definitions
|
|
1152
|
+
* into Excel's internal ChartModel and renders them using the full
|
|
1153
|
+
* Excel chart rendering engine (8000+ lines of vector drawing logic).
|
|
1154
|
+
*
|
|
1155
|
+
* Requires `installChartSupport()` to have been called.
|
|
1156
|
+
*
|
|
1157
|
+
* @example
|
|
1158
|
+
* ```typescript
|
|
1159
|
+
* import { installChartSupport } from "excelts/chart";
|
|
1160
|
+
* import { docxToPdf, createWordChartPdfRenderer } from "excelts/pdf";
|
|
1161
|
+
*
|
|
1162
|
+
* installChartSupport();
|
|
1163
|
+
* const pdfBytes = await docxToPdf(doc, {
|
|
1164
|
+
* chartRenderer: createWordChartPdfRenderer()
|
|
1165
|
+
* });
|
|
1166
|
+
* ```
|
|
1167
|
+
*/
|
|
1168
|
+
export function createWordChartPdfRenderer() {
|
|
1169
|
+
return (chart, page, rect) => {
|
|
1170
|
+
const support = getChartSupport();
|
|
1171
|
+
const model = wordChartToChartModel(chart);
|
|
1172
|
+
support.drawChartPdf(page, model, rect);
|
|
1173
|
+
};
|
|
1174
|
+
}
|
|
@@ -1,59 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Character width metrics for the 14 PDF standard Type 1 fonts.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* width_in_points = (charWidth / 1000) * fontSize
|
|
7
|
-
*
|
|
8
|
-
* The 14 standard fonts are guaranteed to be available in every PDF viewer:
|
|
9
|
-
* - Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique
|
|
10
|
-
* - Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic
|
|
11
|
-
* - Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique
|
|
12
|
-
* - Symbol, ZapfDingbats
|
|
13
|
-
*
|
|
14
|
-
* We provide metrics for the most commonly needed: Helvetica and Times families,
|
|
15
|
-
* plus Courier (fixed-width). For other fonts, we fall back to Helvetica metrics.
|
|
16
|
-
*
|
|
17
|
-
* Character widths are for the Latin-1 (ISO 8859-1) encoding.
|
|
4
|
+
* This module re-exports from the shared @utils/font-metrics to avoid
|
|
5
|
+
* data duplication while maintaining backward compatibility.
|
|
18
6
|
*
|
|
19
7
|
* @see PDF Reference 1.7, Appendix D - Standard Type 1 Fonts
|
|
20
8
|
* @see Adobe Font Metrics files (AFM) for canonical widths
|
|
21
9
|
*/
|
|
22
|
-
|
|
23
|
-
* Get the width of a character in a given font.
|
|
24
|
-
* @param charCode - Unicode code point (or char code)
|
|
25
|
-
* @param fontName - PDF standard font name
|
|
26
|
-
* @returns Width in thousandths of a unit
|
|
27
|
-
*/
|
|
28
|
-
export declare function getCharWidth(charCode: number, fontName: string): number;
|
|
29
|
-
/**
|
|
30
|
-
* Measure the width of a text string in the given font and size.
|
|
31
|
-
* @param text - The string to measure
|
|
32
|
-
* @param fontName - PDF standard font name
|
|
33
|
-
* @param fontSize - Font size in points
|
|
34
|
-
* @returns Width in points
|
|
35
|
-
*/
|
|
36
|
-
export declare function measureText(text: string, fontName: string, fontSize: number): number;
|
|
37
|
-
/**
|
|
38
|
-
* Get the font ascent for a given font and size.
|
|
39
|
-
* @returns Ascent in points (positive, distance above baseline)
|
|
40
|
-
*/
|
|
41
|
-
export declare function getFontAscent(fontName: string, fontSize: number): number;
|
|
42
|
-
/**
|
|
43
|
-
* Get the font descent for a given font and size.
|
|
44
|
-
* @returns Descent in points (negative, distance below baseline)
|
|
45
|
-
*/
|
|
46
|
-
export declare function getFontDescent(fontName: string, fontSize: number): number;
|
|
47
|
-
/**
|
|
48
|
-
* Get the total line height (ascent - descent) for a font.
|
|
49
|
-
* @returns Line height in points
|
|
50
|
-
*/
|
|
51
|
-
export declare function getLineHeight(fontName: string, fontSize: number): number;
|
|
52
|
-
/**
|
|
53
|
-
* Check if a font name is a known standard PDF font.
|
|
54
|
-
*/
|
|
55
|
-
export declare function isStandardFont(fontName: string): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Get all supported standard font names.
|
|
58
|
-
*/
|
|
59
|
-
export declare function getStandardFontNames(): string[];
|
|
10
|
+
export { measureTextWidth as measureText, getCharWidth, getFontAscent, getFontDescent, getLineHeight, isStandardFont, getStandardFontNames } from "../../../utils/font-metrics.js";
|
|
@@ -1,244 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Character width metrics for the 14 PDF standard Type 1 fonts.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* width_in_points = (charWidth / 1000) * fontSize
|
|
7
|
-
*
|
|
8
|
-
* The 14 standard fonts are guaranteed to be available in every PDF viewer:
|
|
9
|
-
* - Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique
|
|
10
|
-
* - Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic
|
|
11
|
-
* - Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique
|
|
12
|
-
* - Symbol, ZapfDingbats
|
|
13
|
-
*
|
|
14
|
-
* We provide metrics for the most commonly needed: Helvetica and Times families,
|
|
15
|
-
* plus Courier (fixed-width). For other fonts, we fall back to Helvetica metrics.
|
|
16
|
-
*
|
|
17
|
-
* Character widths are for the Latin-1 (ISO 8859-1) encoding.
|
|
4
|
+
* This module re-exports from the shared @utils/font-metrics to avoid
|
|
5
|
+
* data duplication while maintaining backward compatibility.
|
|
18
6
|
*
|
|
19
7
|
* @see PDF Reference 1.7, Appendix D - Standard Type 1 Fonts
|
|
20
8
|
* @see Adobe Font Metrics files (AFM) for canonical widths
|
|
21
9
|
*/
|
|
22
|
-
|
|
23
|
-
// Helvetica Metrics (afm data: Helvetica)
|
|
24
|
-
// =============================================================================
|
|
25
|
-
/**
|
|
26
|
-
* Average character widths per font. We store only a representative subset:
|
|
27
|
-
* ASCII 32-126. For characters outside this range, we use the average width.
|
|
28
|
-
*
|
|
29
|
-
* Values are in thousandths of a unit of text space.
|
|
30
|
-
*/
|
|
31
|
-
// prettier-ignore
|
|
32
|
-
const HELVETICA_WIDTHS = {
|
|
33
|
-
32: 278, 33: 278, 34: 355, 35: 556, 36: 556, 37: 889, 38: 667, 39: 191, 40: 333, 41: 333,
|
|
34
|
-
42: 389, 43: 584, 44: 278, 45: 333, 46: 278, 47: 278, 48: 556, 49: 556, 50: 556, 51: 556,
|
|
35
|
-
52: 556, 53: 556, 54: 556, 55: 556, 56: 556, 57: 556, 58: 278, 59: 278, 60: 584, 61: 584,
|
|
36
|
-
62: 584, 63: 556, 64: 1015, 65: 667, 66: 667, 67: 722, 68: 722, 69: 667, 70: 611, 71: 778,
|
|
37
|
-
72: 722, 73: 278, 74: 500, 75: 667, 76: 556, 77: 833, 78: 722, 79: 778, 80: 667, 81: 778,
|
|
38
|
-
82: 722, 83: 667, 84: 611, 85: 722, 86: 667, 87: 944, 88: 667, 89: 667, 90: 611, 91: 278,
|
|
39
|
-
92: 278, 93: 278, 94: 469, 95: 556, 96: 333, 97: 556, 98: 556, 99: 500, 100: 556, 101: 556,
|
|
40
|
-
102: 278, 103: 556, 104: 556, 105: 222, 106: 222, 107: 500, 108: 222, 109: 833, 110: 556,
|
|
41
|
-
111: 556, 112: 556, 113: 556, 114: 333, 115: 500, 116: 278, 117: 556, 118: 500, 119: 722,
|
|
42
|
-
120: 500, 121: 500, 122: 500, 123: 334, 124: 260, 125: 334, 126: 584
|
|
43
|
-
};
|
|
44
|
-
// prettier-ignore
|
|
45
|
-
const HELVETICA_BOLD_WIDTHS = {
|
|
46
|
-
32: 278, 33: 333, 34: 474, 35: 556, 36: 556, 37: 889, 38: 722, 39: 238, 40: 333, 41: 333,
|
|
47
|
-
42: 389, 43: 584, 44: 278, 45: 333, 46: 278, 47: 278, 48: 556, 49: 556, 50: 556, 51: 556,
|
|
48
|
-
52: 556, 53: 556, 54: 556, 55: 556, 56: 556, 57: 556, 58: 333, 59: 333, 60: 584, 61: 584,
|
|
49
|
-
62: 584, 63: 611, 64: 975, 65: 722, 66: 722, 67: 722, 68: 722, 69: 667, 70: 611, 71: 778,
|
|
50
|
-
72: 722, 73: 278, 74: 556, 75: 722, 76: 611, 77: 833, 78: 722, 79: 778, 80: 667, 81: 778,
|
|
51
|
-
82: 722, 83: 667, 84: 611, 85: 722, 86: 667, 87: 944, 88: 667, 89: 667, 90: 611, 91: 333,
|
|
52
|
-
92: 278, 93: 333, 94: 584, 95: 556, 96: 333, 97: 556, 98: 611, 99: 556, 100: 611, 101: 556,
|
|
53
|
-
102: 333, 103: 611, 104: 611, 105: 278, 106: 278, 107: 556, 108: 278, 109: 889, 110: 611,
|
|
54
|
-
111: 611, 112: 611, 113: 611, 114: 389, 115: 556, 116: 333, 117: 611, 118: 556, 119: 778,
|
|
55
|
-
120: 556, 121: 556, 122: 500, 123: 389, 124: 280, 125: 389, 126: 584
|
|
56
|
-
};
|
|
57
|
-
// prettier-ignore
|
|
58
|
-
const TIMES_ROMAN_WIDTHS = {
|
|
59
|
-
32: 250, 33: 333, 34: 408, 35: 500, 36: 500, 37: 833, 38: 778, 39: 180, 40: 333, 41: 333,
|
|
60
|
-
42: 500, 43: 564, 44: 250, 45: 333, 46: 250, 47: 278, 48: 500, 49: 500, 50: 500, 51: 500,
|
|
61
|
-
52: 500, 53: 500, 54: 500, 55: 500, 56: 500, 57: 500, 58: 278, 59: 278, 60: 564, 61: 564,
|
|
62
|
-
62: 564, 63: 444, 64: 921, 65: 722, 66: 667, 67: 667, 68: 722, 69: 611, 70: 556, 71: 722,
|
|
63
|
-
72: 722, 73: 333, 74: 389, 75: 722, 76: 611, 77: 889, 78: 722, 79: 722, 80: 556, 81: 722,
|
|
64
|
-
82: 667, 83: 556, 84: 611, 85: 722, 86: 722, 87: 944, 88: 722, 89: 722, 90: 611, 91: 333,
|
|
65
|
-
92: 278, 93: 333, 94: 469, 95: 500, 96: 333, 97: 444, 98: 500, 99: 444, 100: 500, 101: 444,
|
|
66
|
-
102: 333, 103: 500, 104: 500, 105: 278, 106: 278, 107: 500, 108: 278, 109: 778, 110: 500,
|
|
67
|
-
111: 500, 112: 500, 113: 500, 114: 333, 115: 389, 116: 278, 117: 500, 118: 500, 119: 722,
|
|
68
|
-
120: 500, 121: 500, 122: 444, 123: 480, 124: 200, 125: 480, 126: 541
|
|
69
|
-
};
|
|
70
|
-
// prettier-ignore
|
|
71
|
-
const TIMES_BOLD_WIDTHS = {
|
|
72
|
-
32: 250, 33: 333, 34: 555, 35: 500, 36: 500, 37: 1000, 38: 833, 39: 278, 40: 333, 41: 333,
|
|
73
|
-
42: 500, 43: 570, 44: 250, 45: 333, 46: 250, 47: 278, 48: 500, 49: 500, 50: 500, 51: 500,
|
|
74
|
-
52: 500, 53: 500, 54: 500, 55: 500, 56: 500, 57: 500, 58: 333, 59: 333, 60: 570, 61: 570,
|
|
75
|
-
62: 570, 63: 500, 64: 930, 65: 722, 66: 667, 67: 722, 68: 722, 69: 667, 70: 611, 71: 778,
|
|
76
|
-
72: 778, 73: 389, 74: 500, 75: 778, 76: 667, 77: 944, 78: 722, 79: 778, 80: 611, 81: 778,
|
|
77
|
-
82: 722, 83: 556, 84: 667, 85: 722, 86: 722, 87: 1000, 88: 722, 89: 722, 90: 667, 91: 333,
|
|
78
|
-
92: 278, 93: 333, 94: 581, 95: 500, 96: 333, 97: 500, 98: 556, 99: 444, 100: 556, 101: 444,
|
|
79
|
-
102: 333, 103: 500, 104: 556, 105: 278, 106: 333, 107: 556, 108: 278, 109: 833, 110: 556,
|
|
80
|
-
111: 500, 112: 556, 113: 556, 114: 444, 115: 389, 116: 333, 117: 556, 118: 500, 119: 722,
|
|
81
|
-
120: 500, 121: 500, 122: 444, 123: 394, 124: 220, 125: 394, 126: 520
|
|
82
|
-
};
|
|
83
|
-
// Courier is monospaced - every character is 600 units wide
|
|
84
|
-
const COURIER_WIDTH = 600;
|
|
85
|
-
const FONT_DESCRIPTORS = {
|
|
86
|
-
Helvetica: {
|
|
87
|
-
ascent: 718,
|
|
88
|
-
descent: -207,
|
|
89
|
-
capHeight: 718,
|
|
90
|
-
avgWidth: 513,
|
|
91
|
-
widths: HELVETICA_WIDTHS
|
|
92
|
-
},
|
|
93
|
-
"Helvetica-Bold": {
|
|
94
|
-
ascent: 718,
|
|
95
|
-
descent: -207,
|
|
96
|
-
capHeight: 718,
|
|
97
|
-
avgWidth: 535,
|
|
98
|
-
widths: HELVETICA_BOLD_WIDTHS
|
|
99
|
-
},
|
|
100
|
-
"Helvetica-Oblique": {
|
|
101
|
-
ascent: 718,
|
|
102
|
-
descent: -207,
|
|
103
|
-
capHeight: 718,
|
|
104
|
-
avgWidth: 513,
|
|
105
|
-
widths: HELVETICA_WIDTHS // same widths as regular
|
|
106
|
-
},
|
|
107
|
-
"Helvetica-BoldOblique": {
|
|
108
|
-
ascent: 718,
|
|
109
|
-
descent: -207,
|
|
110
|
-
capHeight: 718,
|
|
111
|
-
avgWidth: 535,
|
|
112
|
-
widths: HELVETICA_BOLD_WIDTHS
|
|
113
|
-
},
|
|
114
|
-
"Times-Roman": {
|
|
115
|
-
ascent: 683,
|
|
116
|
-
descent: -217,
|
|
117
|
-
capHeight: 662,
|
|
118
|
-
avgWidth: 478,
|
|
119
|
-
widths: TIMES_ROMAN_WIDTHS
|
|
120
|
-
},
|
|
121
|
-
"Times-Bold": {
|
|
122
|
-
ascent: 683,
|
|
123
|
-
descent: -217,
|
|
124
|
-
capHeight: 676,
|
|
125
|
-
avgWidth: 505,
|
|
126
|
-
widths: TIMES_BOLD_WIDTHS
|
|
127
|
-
},
|
|
128
|
-
"Times-Italic": {
|
|
129
|
-
ascent: 683,
|
|
130
|
-
descent: -217,
|
|
131
|
-
capHeight: 653,
|
|
132
|
-
avgWidth: 478,
|
|
133
|
-
widths: TIMES_ROMAN_WIDTHS // approximate
|
|
134
|
-
},
|
|
135
|
-
"Times-BoldItalic": {
|
|
136
|
-
ascent: 683,
|
|
137
|
-
descent: -217,
|
|
138
|
-
capHeight: 669,
|
|
139
|
-
avgWidth: 505,
|
|
140
|
-
widths: TIMES_BOLD_WIDTHS // approximate
|
|
141
|
-
},
|
|
142
|
-
Courier: {
|
|
143
|
-
ascent: 629,
|
|
144
|
-
descent: -157,
|
|
145
|
-
capHeight: 562,
|
|
146
|
-
avgWidth: 600,
|
|
147
|
-
widths: null,
|
|
148
|
-
monoWidth: COURIER_WIDTH
|
|
149
|
-
},
|
|
150
|
-
"Courier-Bold": {
|
|
151
|
-
ascent: 629,
|
|
152
|
-
descent: -157,
|
|
153
|
-
capHeight: 562,
|
|
154
|
-
avgWidth: 600,
|
|
155
|
-
widths: null,
|
|
156
|
-
monoWidth: COURIER_WIDTH
|
|
157
|
-
},
|
|
158
|
-
"Courier-Oblique": {
|
|
159
|
-
ascent: 629,
|
|
160
|
-
descent: -157,
|
|
161
|
-
capHeight: 562,
|
|
162
|
-
avgWidth: 600,
|
|
163
|
-
widths: null,
|
|
164
|
-
monoWidth: COURIER_WIDTH
|
|
165
|
-
},
|
|
166
|
-
"Courier-BoldOblique": {
|
|
167
|
-
ascent: 629,
|
|
168
|
-
descent: -157,
|
|
169
|
-
capHeight: 562,
|
|
170
|
-
avgWidth: 600,
|
|
171
|
-
widths: null,
|
|
172
|
-
monoWidth: COURIER_WIDTH
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
// =============================================================================
|
|
176
|
-
// Public API
|
|
177
|
-
// =============================================================================
|
|
178
|
-
/**
|
|
179
|
-
* Get the width of a character in a given font.
|
|
180
|
-
* @param charCode - Unicode code point (or char code)
|
|
181
|
-
* @param fontName - PDF standard font name
|
|
182
|
-
* @returns Width in thousandths of a unit
|
|
183
|
-
*/
|
|
184
|
-
export function getCharWidth(charCode, fontName) {
|
|
185
|
-
const desc = FONT_DESCRIPTORS[fontName];
|
|
186
|
-
if (!desc) {
|
|
187
|
-
// Fall back to Helvetica
|
|
188
|
-
return getCharWidth(charCode, "Helvetica");
|
|
189
|
-
}
|
|
190
|
-
if (desc.monoWidth !== undefined) {
|
|
191
|
-
return desc.monoWidth;
|
|
192
|
-
}
|
|
193
|
-
return desc.widths?.[charCode] ?? desc.avgWidth;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Measure the width of a text string in the given font and size.
|
|
197
|
-
* @param text - The string to measure
|
|
198
|
-
* @param fontName - PDF standard font name
|
|
199
|
-
* @param fontSize - Font size in points
|
|
200
|
-
* @returns Width in points
|
|
201
|
-
*/
|
|
202
|
-
export function measureText(text, fontName, fontSize) {
|
|
203
|
-
let totalWidth = 0;
|
|
204
|
-
for (let i = 0; i < text.length; i++) {
|
|
205
|
-
totalWidth += getCharWidth(text.charCodeAt(i), fontName);
|
|
206
|
-
}
|
|
207
|
-
return (totalWidth / 1000) * fontSize;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Get the font ascent for a given font and size.
|
|
211
|
-
* @returns Ascent in points (positive, distance above baseline)
|
|
212
|
-
*/
|
|
213
|
-
export function getFontAscent(fontName, fontSize) {
|
|
214
|
-
const desc = FONT_DESCRIPTORS[fontName] ?? FONT_DESCRIPTORS["Helvetica"];
|
|
215
|
-
return (desc.ascent / 1000) * fontSize;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Get the font descent for a given font and size.
|
|
219
|
-
* @returns Descent in points (negative, distance below baseline)
|
|
220
|
-
*/
|
|
221
|
-
export function getFontDescent(fontName, fontSize) {
|
|
222
|
-
const desc = FONT_DESCRIPTORS[fontName] ?? FONT_DESCRIPTORS["Helvetica"];
|
|
223
|
-
return (desc.descent / 1000) * fontSize;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Get the total line height (ascent - descent) for a font.
|
|
227
|
-
* @returns Line height in points
|
|
228
|
-
*/
|
|
229
|
-
export function getLineHeight(fontName, fontSize) {
|
|
230
|
-
const desc = FONT_DESCRIPTORS[fontName] ?? FONT_DESCRIPTORS["Helvetica"];
|
|
231
|
-
return ((desc.ascent - desc.descent) / 1000) * fontSize;
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Check if a font name is a known standard PDF font.
|
|
235
|
-
*/
|
|
236
|
-
export function isStandardFont(fontName) {
|
|
237
|
-
return fontName in FONT_DESCRIPTORS;
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Get all supported standard font names.
|
|
241
|
-
*/
|
|
242
|
-
export function getStandardFontNames() {
|
|
243
|
-
return Object.keys(FONT_DESCRIPTORS);
|
|
244
|
-
}
|
|
10
|
+
export { measureTextWidth as measureText, getCharWidth, getFontAscent, getFontDescent, getLineHeight, isStandardFont, getStandardFontNames } from "../../../utils/font-metrics.js";
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
/** Standalone PDF generation — accepts plain arrays, sheet objects, or workbooks. */
|
|
44
44
|
export { pdf } from "./pdf.js";
|
|
45
45
|
/** Excel-to-PDF conversion — accepts an Excel Workbook instance. */
|
|
46
|
-
export { excelToPdf, chartToPdf, type ChartToPdfOptions } from "./excel-bridge.js";
|
|
46
|
+
export { excelToPdf, chartToPdf, createWordChartPdfRenderer, type ChartToPdfOptions } from "./excel-bridge.js";
|
|
47
47
|
/** Word-to-PDF conversion — accepts a DocxDocument. */
|
|
48
48
|
export { docxToPdf } from "./word-bridge.js";
|
|
49
49
|
export type { DocxToPdfOptions } from "./word-bridge.js";
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
/** Standalone PDF generation — accepts plain arrays, sheet objects, or workbooks. */
|
|
47
47
|
export { pdf } from "./pdf.js";
|
|
48
48
|
/** Excel-to-PDF conversion — accepts an Excel Workbook instance. */
|
|
49
|
-
export { excelToPdf, chartToPdf } from "./excel-bridge.js";
|
|
49
|
+
export { excelToPdf, chartToPdf, createWordChartPdfRenderer } from "./excel-bridge.js";
|
|
50
50
|
/** Word-to-PDF conversion — accepts a DocxDocument. */
|
|
51
51
|
export { docxToPdf } from "./word-bridge.js";
|
|
52
52
|
// =============================================================================
|