dompdf.js 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.versionrc +8 -0
- package/CHANGELOG.md +32 -543
- package/README.md +172 -160
- package/README_CN.md +233 -238
- package/dist/dompdf.esm.js +124 -124
- package/dist/dompdf.esm.js.map +1 -1
- package/dist/dompdf.js +124 -124
- package/dist/dompdf.js.map +1 -1
- package/dist/dompdf.min.js +67 -0
- package/dist/index.d.ts +2 -1
- package/dist/lib/__tests__/index.js +144 -0
- package/dist/lib/__tests__/index.js.map +1 -0
- package/dist/lib/core/__mocks__/cache-storage.js +10 -0
- package/dist/lib/core/__mocks__/cache-storage.js.map +1 -0
- package/dist/lib/core/__mocks__/context.js +22 -0
- package/dist/lib/core/__mocks__/context.js.map +1 -0
- package/dist/lib/core/__mocks__/features.js +12 -0
- package/dist/lib/core/__mocks__/features.js.map +1 -0
- package/dist/lib/core/__mocks__/logger.js +24 -0
- package/dist/lib/core/__mocks__/logger.js.map +1 -0
- package/dist/lib/core/__tests__/cache-storage.js +420 -0
- package/dist/lib/core/__tests__/cache-storage.js.map +1 -0
- package/dist/lib/core/__tests__/logger.js +28 -0
- package/dist/lib/core/__tests__/logger.js.map +1 -0
- package/dist/lib/core/bitwise.js +6 -0
- package/dist/lib/core/bitwise.js.map +1 -0
- package/dist/lib/core/cache-storage.js +198 -0
- package/dist/lib/core/cache-storage.js.map +1 -0
- package/dist/lib/core/context.js +18 -0
- package/dist/lib/core/context.js.map +1 -0
- package/dist/lib/core/debugger.js +25 -0
- package/dist/lib/core/debugger.js.map +1 -0
- package/dist/lib/core/features.js +193 -0
- package/dist/lib/core/features.js.map +1 -0
- package/dist/lib/core/logger.js +92 -0
- package/dist/lib/core/logger.js.map +1 -0
- package/dist/lib/core/util.js +5 -0
- package/dist/lib/core/util.js.map +1 -0
- package/dist/lib/css/IPropertyDescriptor.js +3 -0
- package/dist/lib/css/IPropertyDescriptor.js.map +1 -0
- package/dist/lib/css/ITypeDescriptor.js +3 -0
- package/dist/lib/css/ITypeDescriptor.js.map +1 -0
- package/dist/lib/css/index.js +216 -0
- package/dist/lib/css/index.js.map +1 -0
- package/dist/lib/css/layout/__mocks__/bounds.js +9 -0
- package/dist/lib/css/layout/__mocks__/bounds.js.map +1 -0
- package/dist/lib/css/layout/bounds.js +42 -0
- package/dist/lib/css/layout/bounds.js.map +1 -0
- package/dist/lib/css/layout/text.js +137 -0
- package/dist/lib/css/layout/text.js.map +1 -0
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js +48 -0
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -0
- package/dist/lib/css/property-descriptors/__tests__/font-family.js +25 -0
- package/dist/lib/css/property-descriptors/__tests__/font-family.js.map +1 -0
- package/dist/lib/css/property-descriptors/__tests__/paint-order.js +88 -0
- package/dist/lib/css/property-descriptors/__tests__/paint-order.js.map +1 -0
- package/dist/lib/css/property-descriptors/__tests__/text-shadow.js +94 -0
- package/dist/lib/css/property-descriptors/__tests__/text-shadow.js.map +1 -0
- package/dist/lib/css/property-descriptors/__tests__/transform-tests.js +18 -0
- package/dist/lib/css/property-descriptors/__tests__/transform-tests.js.map +1 -0
- package/dist/lib/css/property-descriptors/background-clip.js +24 -0
- package/dist/lib/css/property-descriptors/background-clip.js.map +1 -0
- package/dist/lib/css/property-descriptors/background-color.js +11 -0
- package/dist/lib/css/property-descriptors/background-color.js.map +1 -0
- package/dist/lib/css/property-descriptors/background-image.js +24 -0
- package/dist/lib/css/property-descriptors/background-image.js.map +1 -0
- package/dist/lib/css/property-descriptors/background-origin.js +24 -0
- package/dist/lib/css/property-descriptors/background-origin.js.map +1 -0
- package/dist/lib/css/property-descriptors/background-position.js +17 -0
- package/dist/lib/css/property-descriptors/background-position.js.map +1 -0
- package/dist/lib/css/property-descriptors/background-repeat.js +36 -0
- package/dist/lib/css/property-descriptors/background-repeat.js.map +1 -0
- package/dist/lib/css/property-descriptors/background-size.js +24 -0
- package/dist/lib/css/property-descriptors/background-size.js.map +1 -0
- package/dist/lib/css/property-descriptors/border-color.js +15 -0
- package/dist/lib/css/property-descriptors/border-color.js.map +1 -0
- package/dist/lib/css/property-descriptors/border-radius.js +18 -0
- package/dist/lib/css/property-descriptors/border-radius.js.map +1 -0
- package/dist/lib/css/property-descriptors/border-style.js +30 -0
- package/dist/lib/css/property-descriptors/border-style.js.map +1 -0
- package/dist/lib/css/property-descriptors/border-width.js +21 -0
- package/dist/lib/css/property-descriptors/border-width.js.map +1 -0
- package/dist/lib/css/property-descriptors/box-shadow.js +55 -0
- package/dist/lib/css/property-descriptors/box-shadow.js.map +1 -0
- package/dist/lib/css/property-descriptors/color.js +11 -0
- package/dist/lib/css/property-descriptors/color.js.map +1 -0
- package/dist/lib/css/property-descriptors/content.js +20 -0
- package/dist/lib/css/property-descriptors/content.js.map +1 -0
- package/dist/lib/css/property-descriptors/counter-increment.js +31 -0
- package/dist/lib/css/property-descriptors/counter-increment.js.map +1 -0
- package/dist/lib/css/property-descriptors/counter-reset.js +27 -0
- package/dist/lib/css/property-descriptors/counter-reset.js.map +1 -0
- package/dist/lib/css/property-descriptors/direction.js +19 -0
- package/dist/lib/css/property-descriptors/direction.js.map +1 -0
- package/dist/lib/css/property-descriptors/display.js +82 -0
- package/dist/lib/css/property-descriptors/display.js.map +1 -0
- package/dist/lib/css/property-descriptors/duration.js +15 -0
- package/dist/lib/css/property-descriptors/duration.js.map +1 -0
- package/dist/lib/css/property-descriptors/float.js +23 -0
- package/dist/lib/css/property-descriptors/float.js.map +1 -0
- package/dist/lib/css/property-descriptors/font-family.js +33 -0
- package/dist/lib/css/property-descriptors/font-family.js.map +1 -0
- package/dist/lib/css/property-descriptors/font-size.js +11 -0
- package/dist/lib/css/property-descriptors/font-size.js.map +1 -0
- package/dist/lib/css/property-descriptors/font-style.js +21 -0
- package/dist/lib/css/property-descriptors/font-style.js.map +1 -0
- package/dist/lib/css/property-descriptors/font-variant.js +14 -0
- package/dist/lib/css/property-descriptors/font-variant.js.map +1 -0
- package/dist/lib/css/property-descriptors/font-weight.js +26 -0
- package/dist/lib/css/property-descriptors/font-weight.js.map +1 -0
- package/dist/lib/css/property-descriptors/letter-spacing.js +22 -0
- package/dist/lib/css/property-descriptors/letter-spacing.js.map +1 -0
- package/dist/lib/css/property-descriptors/line-break.js +24 -0
- package/dist/lib/css/property-descriptors/line-break.js.map +1 -0
- package/dist/lib/css/property-descriptors/line-height.js +25 -0
- package/dist/lib/css/property-descriptors/line-height.js.map +1 -0
- package/dist/lib/css/property-descriptors/list-style-image.js +17 -0
- package/dist/lib/css/property-descriptors/list-style-image.js.map +1 -0
- package/dist/lib/css/property-descriptors/list-style-position.js +19 -0
- package/dist/lib/css/property-descriptors/list-style-position.js.map +1 -0
- package/dist/lib/css/property-descriptors/list-style-type.js +123 -0
- package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -0
- package/dist/lib/css/property-descriptors/margin.js +14 -0
- package/dist/lib/css/property-descriptors/margin.js.map +1 -0
- package/dist/lib/css/property-descriptors/opacity.js +17 -0
- package/dist/lib/css/property-descriptors/opacity.js.map +1 -0
- package/dist/lib/css/property-descriptors/overflow-wrap.js +19 -0
- package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -0
- package/dist/lib/css/property-descriptors/overflow.js +28 -0
- package/dist/lib/css/property-descriptors/overflow.js.map +1 -0
- package/dist/lib/css/property-descriptors/padding.js +15 -0
- package/dist/lib/css/property-descriptors/padding.js.map +1 -0
- package/dist/lib/css/property-descriptors/paint-order.js +34 -0
- package/dist/lib/css/property-descriptors/paint-order.js.map +1 -0
- package/dist/lib/css/property-descriptors/position.js +23 -0
- package/dist/lib/css/property-descriptors/position.js.map +1 -0
- package/dist/lib/css/property-descriptors/quotes.js +42 -0
- package/dist/lib/css/property-descriptors/quotes.js.map +1 -0
- package/dist/lib/css/property-descriptors/text-align.js +22 -0
- package/dist/lib/css/property-descriptors/text-align.js.map +1 -0
- package/dist/lib/css/property-descriptors/text-decoration-color.js +11 -0
- package/dist/lib/css/property-descriptors/text-decoration-color.js.map +1 -0
- package/dist/lib/css/property-descriptors/text-decoration-line.js +29 -0
- package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -0
- package/dist/lib/css/property-descriptors/text-shadow.js +47 -0
- package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -0
- package/dist/lib/css/property-descriptors/text-transform.js +21 -0
- package/dist/lib/css/property-descriptors/text-transform.js.map +1 -0
- package/dist/lib/css/property-descriptors/transform-origin.js +25 -0
- package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -0
- package/dist/lib/css/property-descriptors/transform.js +37 -0
- package/dist/lib/css/property-descriptors/transform.js.map +1 -0
- package/dist/lib/css/property-descriptors/visibility.js +21 -0
- package/dist/lib/css/property-descriptors/visibility.js.map +1 -0
- package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js +11 -0
- package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js.map +1 -0
- package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js +17 -0
- package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -0
- package/dist/lib/css/property-descriptors/word-break.js +27 -0
- package/dist/lib/css/property-descriptors/word-break.js.map +1 -0
- package/dist/lib/css/property-descriptors/z-index.js +20 -0
- package/dist/lib/css/property-descriptors/z-index.js.map +1 -0
- package/dist/lib/css/syntax/__tests__/tokernizer-tests.js +34 -0
- package/dist/lib/css/syntax/__tests__/tokernizer-tests.js.map +1 -0
- package/dist/lib/css/syntax/parser.js +147 -0
- package/dist/lib/css/syntax/parser.js.map +1 -0
- package/dist/lib/css/syntax/tokenizer.js +630 -0
- package/dist/lib/css/syntax/tokenizer.js.map +1 -0
- package/dist/lib/css/types/__tests__/color-tests.js +66 -0
- package/dist/lib/css/types/__tests__/color-tests.js.map +1 -0
- package/dist/lib/css/types/__tests__/image-tests.js +233 -0
- package/dist/lib/css/types/__tests__/image-tests.js.map +1 -0
- package/dist/lib/css/types/angle.js +81 -0
- package/dist/lib/css/types/angle.js.map +1 -0
- package/dist/lib/css/types/color.js +311 -0
- package/dist/lib/css/types/color.js.map +1 -0
- package/dist/lib/css/types/functions/-prefix-linear-gradient.js +33 -0
- package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -0
- package/dist/lib/css/types/functions/-prefix-radial-gradient.js +84 -0
- package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -0
- package/dist/lib/css/types/functions/-webkit-gradient.js +60 -0
- package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -0
- package/dist/lib/css/types/functions/__tests__/radial-gradient.js +68 -0
- package/dist/lib/css/types/functions/__tests__/radial-gradient.js.map +1 -0
- package/dist/lib/css/types/functions/counter.js +374 -0
- package/dist/lib/css/types/functions/counter.js.map +1 -0
- package/dist/lib/css/types/functions/gradient.js +165 -0
- package/dist/lib/css/types/functions/gradient.js.map +1 -0
- package/dist/lib/css/types/functions/linear-gradient.js +28 -0
- package/dist/lib/css/types/functions/linear-gradient.js.map +1 -0
- package/dist/lib/css/types/functions/radial-gradient.js +91 -0
- package/dist/lib/css/types/functions/radial-gradient.js.map +1 -0
- package/dist/lib/css/types/image.js +53 -0
- package/dist/lib/css/types/image.js.map +1 -0
- package/dist/lib/css/types/index.js +3 -0
- package/dist/lib/css/types/index.js.map +1 -0
- package/dist/lib/css/types/length-percentage.js +52 -0
- package/dist/lib/css/types/length-percentage.js.map +1 -0
- package/dist/lib/css/types/length.js +8 -0
- package/dist/lib/css/types/length.js.map +1 -0
- package/dist/lib/css/types/time.js +18 -0
- package/dist/lib/css/types/time.js.map +1 -0
- package/dist/lib/dom/__mocks__/document-cloner.js +24 -0
- package/dist/lib/dom/__mocks__/document-cloner.js.map +1 -0
- package/dist/lib/dom/document-cloner.js +530 -0
- package/dist/lib/dom/document-cloner.js.map +1 -0
- package/dist/lib/dom/element-container.js +39 -0
- package/dist/lib/dom/element-container.js.map +1 -0
- package/dist/lib/dom/elements/li-element-container.js +30 -0
- package/dist/lib/dom/elements/li-element-container.js.map +1 -0
- package/dist/lib/dom/elements/ol-element-container.js +31 -0
- package/dist/lib/dom/elements/ol-element-container.js.map +1 -0
- package/dist/lib/dom/elements/select-element-container.js +31 -0
- package/dist/lib/dom/elements/select-element-container.js.map +1 -0
- package/dist/lib/dom/elements/textarea-element-container.js +30 -0
- package/dist/lib/dom/elements/textarea-element-container.js.map +1 -0
- package/dist/lib/dom/node-parser.js +306 -0
- package/dist/lib/dom/node-parser.js.map +1 -0
- package/dist/lib/dom/replaced-elements/canvas-element-container.js +32 -0
- package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -0
- package/dist/lib/dom/replaced-elements/iframe-element-container.js +54 -0
- package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -0
- package/dist/lib/dom/replaced-elements/image-element-container.js +33 -0
- package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -0
- package/dist/lib/dom/replaced-elements/index.js +3 -0
- package/dist/lib/dom/replaced-elements/index.js.map +1 -0
- package/dist/lib/dom/replaced-elements/input-element-container.js +102 -0
- package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -0
- package/dist/lib/dom/replaced-elements/pseudo-elements.js +1 -0
- package/dist/lib/dom/replaced-elements/pseudo-elements.js.map +1 -0
- package/dist/lib/dom/replaced-elements/svg-element-container.js +38 -0
- package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -0
- package/dist/lib/dom/text-container.js +32 -0
- package/dist/lib/dom/text-container.js.map +1 -0
- package/dist/lib/index.js +274 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/invariant.js +10 -0
- package/dist/lib/invariant.js.map +1 -0
- package/dist/lib/render/background.js +187 -0
- package/dist/lib/render/background.js.map +1 -0
- package/dist/lib/render/bezier-curve.js +36 -0
- package/dist/lib/render/bezier-curve.js.map +1 -0
- package/dist/lib/render/border.js +105 -0
- package/dist/lib/render/border.js.map +1 -0
- package/dist/lib/render/bound-curves.js +190 -0
- package/dist/lib/render/bound-curves.js.map +1 -0
- package/dist/lib/render/box-sizing.js +21 -0
- package/dist/lib/render/box-sizing.js.map +1 -0
- package/dist/lib/render/canvas/foreignobject-renderer.js +108 -0
- package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -0
- package/dist/lib/render/canvas/pdf-renderer.js +1340 -0
- package/dist/lib/render/canvas/pdf-renderer.js.map +1 -0
- package/dist/lib/render/effects.js +41 -0
- package/dist/lib/render/effects.js.map +1 -0
- package/dist/lib/render/font-metrics.js +55 -0
- package/dist/lib/render/font-metrics.js.map +1 -0
- package/dist/lib/render/page-format-map.js +54 -0
- package/dist/lib/render/page-format-map.js.map +1 -0
- package/dist/lib/render/paginate copy 2.js +178 -0
- package/dist/lib/render/paginate copy 2.js.map +1 -0
- package/dist/lib/render/paginate.js +211 -0
- package/dist/lib/render/paginate.js.map +1 -0
- package/dist/lib/render/path.js +27 -0
- package/dist/lib/render/path.js.map +1 -0
- package/dist/lib/render/renderer.js +12 -0
- package/dist/lib/render/renderer.js.map +1 -0
- package/dist/lib/render/stacking-context.js +172 -0
- package/dist/lib/render/stacking-context.js.map +1 -0
- package/dist/lib/render/vector.js +18 -0
- package/dist/lib/render/vector.js.map +1 -0
- package/dist/lib/utils/css-utils.js +19 -0
- package/dist/lib/utils/css-utils.js.map +1 -0
- package/dist/lib/utils/element-utils.js +25 -0
- package/dist/lib/utils/element-utils.js.map +1 -0
- package/dist/lib/utils/font-utils.js +70 -0
- package/dist/lib/utils/font-utils.js.map +1 -0
- package/dist/lib/utils/index.js +22 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/type-utils.js +40 -0
- package/dist/lib/utils/type-utils.js.map +1 -0
- package/dist/lib/utils/url-path.js +22 -0
- package/dist/lib/utils/url-path.js.map +1 -0
- package/dist/render/canvas/pdf-renderer.d.ts +2 -2
- package/dist/render/paginate copy 2.d.ts +3 -0
- package/dist/render/paginate.d.ts +1 -1
- package/dist/types/__tests__/index.d.ts +1 -0
- package/dist/types/core/__mocks__/cache-storage.d.ts +2 -0
- package/dist/types/core/__mocks__/context.d.ts +9 -0
- package/dist/types/core/__mocks__/features.d.ts +8 -0
- package/dist/types/core/__mocks__/logger.d.ts +9 -0
- package/dist/types/core/__tests__/cache-storage.d.ts +1 -0
- package/dist/types/core/__tests__/logger.d.ts +1 -0
- package/dist/types/core/bitwise.d.ts +1 -0
- package/dist/types/core/cache-storage.d.ts +26 -0
- package/dist/types/core/context.d.ts +15 -0
- package/dist/types/core/debugger.d.ts +8 -0
- package/dist/types/core/features.d.ts +12 -0
- package/dist/types/core/logger.d.ts +18 -0
- package/dist/types/core/util.d.ts +1 -0
- package/dist/types/css/IPropertyDescriptor.d.ts +36 -0
- package/dist/types/css/ITypeDescriptor.d.ts +6 -0
- package/dist/types/css/index.d.ts +132 -0
- package/dist/types/css/layout/__mocks__/bounds.d.ts +2 -0
- package/dist/types/css/layout/bounds.d.ts +14 -0
- package/dist/types/css/layout/text.d.ts +10 -0
- package/dist/types/css/property-descriptors/__tests__/background-tests.d.ts +1 -0
- package/dist/types/css/property-descriptors/__tests__/font-family.d.ts +1 -0
- package/dist/types/css/property-descriptors/__tests__/paint-order.d.ts +1 -0
- package/dist/types/css/property-descriptors/__tests__/text-shadow.d.ts +1 -0
- package/dist/types/css/property-descriptors/__tests__/transform-tests.d.ts +1 -0
- package/dist/types/css/property-descriptors/background-clip.d.ts +8 -0
- package/dist/types/css/property-descriptors/background-color.d.ts +2 -0
- package/dist/types/css/property-descriptors/background-image.d.ts +3 -0
- package/dist/types/css/property-descriptors/background-origin.d.ts +8 -0
- package/dist/types/css/property-descriptors/background-position.d.ts +5 -0
- package/dist/types/css/property-descriptors/background-repeat.d.ts +9 -0
- package/dist/types/css/property-descriptors/background-size.d.ts +11 -0
- package/dist/types/css/property-descriptors/border-color.d.ts +5 -0
- package/dist/types/css/property-descriptors/border-radius.d.ts +7 -0
- package/dist/types/css/property-descriptors/border-style.d.ts +12 -0
- package/dist/types/css/property-descriptors/border-width.d.ts +5 -0
- package/dist/types/css/property-descriptors/box-shadow.d.ts +14 -0
- package/dist/types/css/property-descriptors/color.d.ts +2 -0
- package/dist/types/css/property-descriptors/content.d.ts +4 -0
- package/dist/types/css/property-descriptors/counter-increment.d.ts +7 -0
- package/dist/types/css/property-descriptors/counter-reset.d.ts +7 -0
- package/dist/types/css/property-descriptors/direction.d.ts +6 -0
- package/dist/types/css/property-descriptors/display.d.ts +35 -0
- package/dist/types/css/property-descriptors/duration.d.ts +2 -0
- package/dist/types/css/property-descriptors/float.d.ts +9 -0
- package/dist/types/css/property-descriptors/font-family.d.ts +4 -0
- package/dist/types/css/property-descriptors/font-size.d.ts +2 -0
- package/dist/types/css/property-descriptors/font-style.d.ts +7 -0
- package/dist/types/css/property-descriptors/font-variant.d.ts +2 -0
- package/dist/types/css/property-descriptors/font-weight.d.ts +2 -0
- package/dist/types/css/property-descriptors/letter-spacing.d.ts +2 -0
- package/dist/types/css/property-descriptors/line-break.d.ts +6 -0
- package/dist/types/css/property-descriptors/line-height.d.ts +4 -0
- package/dist/types/css/property-descriptors/list-style-image.d.ts +3 -0
- package/dist/types/css/property-descriptors/list-style-position.d.ts +6 -0
- package/dist/types/css/property-descriptors/list-style-type.d.ts +58 -0
- package/dist/types/css/property-descriptors/margin.d.ts +5 -0
- package/dist/types/css/property-descriptors/opacity.d.ts +2 -0
- package/dist/types/css/property-descriptors/overflow-wrap.d.ts +6 -0
- package/dist/types/css/property-descriptors/overflow.d.ts +9 -0
- package/dist/types/css/property-descriptors/padding.d.ts +5 -0
- package/dist/types/css/property-descriptors/paint-order.d.ts +8 -0
- package/dist/types/css/property-descriptors/position.d.ts +9 -0
- package/dist/types/css/property-descriptors/quotes.d.ts +8 -0
- package/dist/types/css/property-descriptors/text-align.d.ts +7 -0
- package/dist/types/css/property-descriptors/text-decoration-color.d.ts +2 -0
- package/dist/types/css/property-descriptors/text-decoration-line.d.ts +10 -0
- package/dist/types/css/property-descriptors/text-shadow.d.ts +12 -0
- package/dist/types/css/property-descriptors/text-transform.d.ts +8 -0
- package/dist/types/css/property-descriptors/transform-origin.d.ts +4 -0
- package/dist/types/css/property-descriptors/transform.d.ts +4 -0
- package/dist/types/css/property-descriptors/visibility.d.ts +7 -0
- package/dist/types/css/property-descriptors/webkit-text-stroke-color.d.ts +2 -0
- package/dist/types/css/property-descriptors/webkit-text-stroke-width.d.ts +2 -0
- package/dist/types/css/property-descriptors/word-break.d.ts +7 -0
- package/dist/types/css/property-descriptors/z-index.d.ts +7 -0
- package/dist/types/css/syntax/__tests__/tokernizer-tests.d.ts +1 -0
- package/dist/types/css/syntax/parser.d.ts +34 -0
- package/dist/types/css/syntax/tokenizer.d.ts +94 -0
- package/dist/types/css/types/__tests__/color-tests.d.ts +1 -0
- package/dist/types/css/types/__tests__/image-tests.d.ts +1 -0
- package/dist/types/css/types/angle.d.ts +7 -0
- package/dist/types/css/types/color.d.ts +11 -0
- package/dist/types/css/types/functions/-prefix-linear-gradient.d.ts +4 -0
- package/dist/types/css/types/functions/-prefix-radial-gradient.d.ts +4 -0
- package/dist/types/css/types/functions/-webkit-gradient.d.ts +4 -0
- package/dist/types/css/types/functions/__tests__/radial-gradient.d.ts +1 -0
- package/dist/types/css/types/functions/counter.d.ts +10 -0
- package/dist/types/css/types/functions/gradient.d.ts +7 -0
- package/dist/types/css/types/functions/linear-gradient.d.ts +4 -0
- package/dist/types/css/types/functions/radial-gradient.d.ts +12 -0
- package/dist/types/css/types/image.d.ts +54 -0
- package/dist/types/css/types/index.d.ts +1 -0
- package/dist/types/css/types/length-percentage.d.ts +11 -0
- package/dist/types/css/types/length.d.ts +4 -0
- package/dist/types/css/types/time.d.ts +2 -0
- package/dist/types/dom/__mocks__/document-cloner.d.ts +6 -0
- package/dist/types/dom/document-cloner.d.ts +45 -0
- package/dist/types/dom/element-container.d.ts +23 -0
- package/dist/types/dom/elements/li-element-container.d.ts +6 -0
- package/dist/types/dom/elements/ol-element-container.d.ts +7 -0
- package/dist/types/dom/elements/select-element-container.d.ts +6 -0
- package/dist/types/dom/elements/textarea-element-container.d.ts +6 -0
- package/dist/types/dom/node-parser.d.ts +23 -0
- package/dist/types/dom/replaced-elements/canvas-element-container.d.ts +8 -0
- package/dist/types/dom/replaced-elements/iframe-element-container.d.ts +11 -0
- package/dist/types/dom/replaced-elements/image-element-container.d.ts +8 -0
- package/dist/types/dom/replaced-elements/index.d.ts +4 -0
- package/dist/types/dom/replaced-elements/input-element-container.d.ts +12 -0
- package/dist/types/dom/replaced-elements/pseudo-elements.d.ts +0 -0
- package/dist/types/dom/replaced-elements/svg-element-container.d.ts +8 -0
- package/dist/types/dom/text-container.d.ts +8 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/invariant.d.ts +1 -0
- package/dist/types/render/background.d.ts +16 -0
- package/dist/types/render/bezier-curve.d.ts +14 -0
- package/dist/types/render/border.d.ts +6 -0
- package/dist/types/render/bound-curves.d.ts +32 -0
- package/dist/types/render/box-sizing.d.ts +4 -0
- package/dist/types/render/canvas/foreignobject-renderer.d.ts +11 -0
- package/dist/types/render/canvas/pdf-renderer.d.ts +110 -0
- package/dist/types/render/effects.d.ts +38 -0
- package/dist/types/render/font-metrics.d.ts +11 -0
- package/dist/types/render/page-format-map.d.ts +4 -0
- package/dist/types/render/paginate copy 2.d.ts +3 -0
- package/dist/types/render/paginate.d.ts +3 -0
- package/dist/types/render/path.d.ts +13 -0
- package/dist/types/render/renderer.d.ts +7 -0
- package/dist/types/render/stacking-context.d.ts +24 -0
- package/dist/types/render/vector.d.ts +9 -0
- package/dist/types/utils/css-utils.d.ts +2 -0
- package/dist/types/utils/element-utils.d.ts +7 -0
- package/dist/types/utils/font-utils.d.ts +9 -0
- package/dist/types/utils/index.d.ts +5 -0
- package/dist/types/utils/type-utils.d.ts +4 -0
- package/dist/types/utils/url-path.d.ts +7 -0
- package/dist/utils/font-utils.d.ts +2 -0
- package/fontconverter/fontconverter.html +2 -2
- package/package.json +135 -135
- package/page_sizes.md +50 -0
- package/.vscode/settings.json +0 -5
- package/html2pdf-userscript.js +0 -936
package/dist/dompdf.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* dompdf.js 1.
|
|
2
|
+
* dompdf.js 1.2.0 <https://dompdfjs.lisky.com.cn>
|
|
3
3
|
* Copyright (c) 2026 lfc <https://dompdfjs.lisky.com.cn/>
|
|
4
4
|
* Released under MIT License
|
|
5
5
|
*/
|
|
@@ -6054,9 +6054,7 @@
|
|
|
6054
6054
|
};
|
|
6055
6055
|
|
|
6056
6056
|
var LIST_OWNERS$1 = ['OL', 'UL', 'MENU'];
|
|
6057
|
-
// let foreignObjectRendererList: any = []
|
|
6058
6057
|
var parseNodeTree$1 = function (context, node, parent, root, foreignObjectRendererList) {
|
|
6059
|
-
// console.log('parseNodeTree', context,node,parent,root)
|
|
6060
6058
|
for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {
|
|
6061
6059
|
nextNode = childNode.nextSibling;
|
|
6062
6060
|
if (isTextNode$1(childNode) && childNode.data.trim().length > 0) {
|
|
@@ -6095,9 +6093,6 @@
|
|
|
6095
6093
|
if (isElementNode$1(node) && node.hasAttribute('foreignobjectrendering')) {
|
|
6096
6094
|
foreignObjectRendererList.push(node);
|
|
6097
6095
|
}
|
|
6098
|
-
// if (parent.foreignobjectrendering){
|
|
6099
|
-
// container.foreignobjectrendering = true;
|
|
6100
|
-
// }
|
|
6101
6096
|
parent.elements.push(container);
|
|
6102
6097
|
childNode.slot;
|
|
6103
6098
|
if (childNode.shadowRoot) {
|
|
@@ -6143,13 +6138,6 @@
|
|
|
6143
6138
|
}
|
|
6144
6139
|
return new ElementContainer$1(context, element);
|
|
6145
6140
|
};
|
|
6146
|
-
// export const parseTree = (context: Context, element: HTMLElement): ElementContainer => {
|
|
6147
|
-
// const container = createContainer(context, element);
|
|
6148
|
-
// container.flags |= FLAGS.CREATES_REAL_STACKING_CONTEXT;
|
|
6149
|
-
// console.log(element,'nodedom解析')
|
|
6150
|
-
// parseNodeTree(context, element, container, container);
|
|
6151
|
-
// return container;
|
|
6152
|
-
// };
|
|
6153
6141
|
var createsRealStackingContext$1 = function (node, container, root) {
|
|
6154
6142
|
return (container.styles.isPositionedWithZIndex() ||
|
|
6155
6143
|
container.styles.opacity < 1 ||
|
|
@@ -6183,9 +6171,6 @@
|
|
|
6183
6171
|
var itemNode = uniqueList[index];
|
|
6184
6172
|
var width = itemNode.offsetWidth || itemNode.getBoundingClientRect().width || 100;
|
|
6185
6173
|
var height = itemNode.offsetHeight || itemNode.getBoundingClientRect().height || 100;
|
|
6186
|
-
// const rect = itemNode.getBoundingClientRect();
|
|
6187
|
-
// const scrollX = window.scrollX || document.documentElement.scrollLeft;
|
|
6188
|
-
// const scrollY = window.scrollY || document.documentElement.scrollTop;
|
|
6189
6174
|
// 创建图片容器
|
|
6190
6175
|
var bgContainer = document.createElement('div');
|
|
6191
6176
|
bgContainer.style.width = Math.ceil(width) + 'px';
|
|
@@ -6275,53 +6260,6 @@
|
|
|
6275
6260
|
}
|
|
6276
6261
|
});
|
|
6277
6262
|
}); };
|
|
6278
|
-
// 修复3:安全截图(不修改原始 DOM)
|
|
6279
|
-
// const renderForeignObject = async (element: HTMLElement) => {
|
|
6280
|
-
// // 1. 克隆元素(包括所有子元素)
|
|
6281
|
-
// const clone = element.cloneNode(true) as HTMLElement;
|
|
6282
|
-
// // 2. 创建临时容器(确保正确计算样式)
|
|
6283
|
-
// const container = document.createElement('div');
|
|
6284
|
-
// container.style.position = 'absolute';
|
|
6285
|
-
// container.style.left = '-9999px';
|
|
6286
|
-
// container.appendChild(clone);
|
|
6287
|
-
// document.body.appendChild(container);
|
|
6288
|
-
// // 3. 应用透明样式到克隆体
|
|
6289
|
-
// const applyInvisibleStyle = (el: Element) => {
|
|
6290
|
-
// if (el instanceof HTMLElement) {
|
|
6291
|
-
// el.style.color = 'transparent';
|
|
6292
|
-
// el.style.backgroundColor = 'transparent';
|
|
6293
|
-
// Array.from(el.children).forEach(applyInvisibleStyle);
|
|
6294
|
-
// }
|
|
6295
|
-
// };
|
|
6296
|
-
// applyInvisibleStyle(clone);
|
|
6297
|
-
// // 4. 获取尺寸
|
|
6298
|
-
// const rect = clone.getBoundingClientRect();
|
|
6299
|
-
// if (rect.width === 0 || rect.height === 0) {
|
|
6300
|
-
// document.body.removeChild(container);
|
|
6301
|
-
// return null;
|
|
6302
|
-
// }
|
|
6303
|
-
// try {
|
|
6304
|
-
// // 5. 截图克隆体
|
|
6305
|
-
// const capture = await snapdom(clone, {
|
|
6306
|
-
// // width: Math.ceil(rect.width),
|
|
6307
|
-
// // height: Math.ceil(rect.height)
|
|
6308
|
-
// });
|
|
6309
|
-
// const pngData = await capture.toPng({
|
|
6310
|
-
// quality: 0.9,
|
|
6311
|
-
// // width: Math.ceil(rect.width),
|
|
6312
|
-
// // height: Math.ceil(rect.height)
|
|
6313
|
-
// });
|
|
6314
|
-
// return pngData;
|
|
6315
|
-
// } catch (error) {
|
|
6316
|
-
// console.error('截图失败:', error);
|
|
6317
|
-
// return null;
|
|
6318
|
-
// } finally {
|
|
6319
|
-
// // 6. 确保清理临时元素
|
|
6320
|
-
// document.body.removeChild(container);
|
|
6321
|
-
// }
|
|
6322
|
-
// };
|
|
6323
|
-
// 修复4:移除原有的 makeInvisible 函数
|
|
6324
|
-
// 不再需要,因为新方法使用克隆体
|
|
6325
6263
|
var createsStackingContext$1 = function (styles) { return styles.isPositioned() || styles.isFloating(); };
|
|
6326
6264
|
var isTextNode$1 = function (node) { return node.nodeType === Node.TEXT_NODE; };
|
|
6327
6265
|
var isElementNode$1 = function (node) { return node.nodeType === Node.ELEMENT_NODE; };
|
|
@@ -22790,13 +22728,29 @@
|
|
|
22790
22728
|
return false;
|
|
22791
22729
|
}
|
|
22792
22730
|
}
|
|
22793
|
-
//
|
|
22731
|
+
// check:fontWeight is only 400 or 700
|
|
22794
22732
|
if (![400, 700].includes(config.fontWeight)) {
|
|
22795
22733
|
console.error("The fontWeight value is invalid. It can only be 400 or 700. Actual value:".concat(config.fontWeight));
|
|
22796
22734
|
return false;
|
|
22797
22735
|
}
|
|
22736
|
+
if (config.iconFont !== undefined && typeof config.iconFont !== 'boolean') {
|
|
22737
|
+
console.error("The field iconFont has a type error. Expected boolean, but received ".concat(typeof config.iconFont));
|
|
22738
|
+
return false;
|
|
22739
|
+
}
|
|
22798
22740
|
}
|
|
22799
22741
|
return true;
|
|
22742
|
+
}
|
|
22743
|
+
// The core function for handling configuration and populating default values
|
|
22744
|
+
function setOptionFontConfig(rawConfig) {
|
|
22745
|
+
if (!validateFontConfig(rawConfig)) {
|
|
22746
|
+
return undefined;
|
|
22747
|
+
}
|
|
22748
|
+
var configList = isArray$1(rawConfig) ? rawConfig : [rawConfig];
|
|
22749
|
+
var processedList = configList.map(function (config) {
|
|
22750
|
+
var _a;
|
|
22751
|
+
return (__assign$1(__assign$1({}, config), { iconFont: (_a = config.iconFont) !== null && _a !== void 0 ? _a : false }));
|
|
22752
|
+
});
|
|
22753
|
+
return processedList;
|
|
22800
22754
|
}
|
|
22801
22755
|
|
|
22802
22756
|
/**
|
|
@@ -23065,13 +23019,7 @@
|
|
|
23065
23019
|
// reset all font
|
|
23066
23020
|
CanvasRenderer.prototype.resetJsPDFFont = function () {
|
|
23067
23021
|
var _this = this;
|
|
23068
|
-
|
|
23069
|
-
if (isObject$4(this.options.fontConfig) &&
|
|
23070
|
-
this.options.fontConfig &&
|
|
23071
|
-
this.options.fontConfig.fontFamily) {
|
|
23072
|
-
this.jspdfCtx.setFont(this.options.fontConfig.fontFamily);
|
|
23073
|
-
}
|
|
23074
|
-
else if (isArray$1(this.options.fontConfig) && !isEmptyValue(this.options.fontConfig)) {
|
|
23022
|
+
if (isArray$1(this.options.fontConfig) && !isEmptyValue(this.options.fontConfig)) {
|
|
23075
23023
|
this.options.fontConfig.forEach(function (v) {
|
|
23076
23024
|
v.fontFamily && _this.jspdfCtx.setFont(v.fontFamily);
|
|
23077
23025
|
});
|
|
@@ -23080,16 +23028,25 @@
|
|
|
23080
23028
|
// setFont form options
|
|
23081
23029
|
CanvasRenderer.prototype.setTextFont = function (styles) {
|
|
23082
23030
|
var _a, _b, _c;
|
|
23083
|
-
// console.log(styles.fontWeight, styles.fontStyle, 'styles');
|
|
23031
|
+
// console.log(styles.fontWeight, styles.fontStyle, styles.fontFamily, 'styles');
|
|
23084
23032
|
if (isEmptyValue(this.options.fontConfig)) {
|
|
23085
23033
|
return '';
|
|
23086
23034
|
}
|
|
23087
|
-
|
|
23088
|
-
|
|
23035
|
+
var fontConfigRef = this.options.fontConfig;
|
|
23036
|
+
// 处理字体图标场景
|
|
23037
|
+
var isIconFont = fontConfigRef.find(function (v) { return v.iconFont; });
|
|
23038
|
+
var otherFonts = fontConfigRef.filter(function (v) { return !v.iconFont; });
|
|
23039
|
+
if (isIconFont && styles.fontFamily.some(function (family) { return family.includes(isIconFont.fontFamily); })) {
|
|
23040
|
+
isIconFont.fontFamily && this.jspdfCtx.setFont(isIconFont.fontFamily);
|
|
23041
|
+
return isIconFont.fontFamily;
|
|
23042
|
+
}
|
|
23043
|
+
// 除开字体图标场景
|
|
23044
|
+
if (otherFonts.length === 1) {
|
|
23045
|
+
var fontFamilyCustom_1 = (_a = otherFonts[0].fontFamily) !== null && _a !== void 0 ? _a : '';
|
|
23089
23046
|
fontFamilyCustom_1 && this.jspdfCtx.setFont(fontFamilyCustom_1);
|
|
23090
23047
|
return fontFamilyCustom_1;
|
|
23091
23048
|
}
|
|
23092
|
-
var fontFamilyCustom = (_c = (_b =
|
|
23049
|
+
var fontFamilyCustom = (_c = (_b = otherFonts.find(function (v) { return v.fontWeight === (styles.fontWeight > 500 ? 700 : 400) && v.fontStyle === styles.fontStyle; })) === null || _b === void 0 ? void 0 : _b.fontFamily) !== null && _c !== void 0 ? _c : '';
|
|
23093
23050
|
fontFamilyCustom && this.jspdfCtx.setFont(fontFamilyCustom);
|
|
23094
23051
|
return fontFamilyCustom;
|
|
23095
23052
|
};
|
|
@@ -23207,7 +23164,7 @@
|
|
|
23207
23164
|
_a = this.createFontStyle(styles), font = _a[0], fontFamily = _a[1], fontSize = _a[2];
|
|
23208
23165
|
fontFamilyFinal = this.setTextFont(styles);
|
|
23209
23166
|
this.context2dCtx.font = fontFamilyFinal || font;
|
|
23210
|
-
// console.log(fontFamilyFinal, 'render getFont', this.jspdfCtx.getFont());
|
|
23167
|
+
// console.log(fontFamilyFinal, styles, 'render getFont', this.jspdfCtx.getFont());
|
|
23211
23168
|
// jspdf context2d not supported ‘direction’
|
|
23212
23169
|
// this.context2dCtx.direction = styles.direction === DIRECTION.RTL ? 'rtl' : 'ltr';
|
|
23213
23170
|
this.context2dCtx.textAlign = 'left';
|
|
@@ -24046,22 +24003,32 @@
|
|
|
24046
24003
|
_a.sent();
|
|
24047
24004
|
this.applyEffects([]);
|
|
24048
24005
|
if (cfg === null || cfg === void 0 ? void 0 : cfg.header) {
|
|
24049
|
-
|
|
24050
|
-
.
|
|
24051
|
-
|
|
24052
|
-
|
|
24053
|
-
|
|
24054
|
-
|
|
24055
|
-
|
|
24006
|
+
if (typeof cfg.header.content === 'function') {
|
|
24007
|
+
cfg.header.content(this, String(pageNum));
|
|
24008
|
+
}
|
|
24009
|
+
else {
|
|
24010
|
+
headerText = String(cfg.header.content)
|
|
24011
|
+
.replace('${currentPage}', String(pageNum))
|
|
24012
|
+
.replace('${totalPages}', String(this.totalPages));
|
|
24013
|
+
this.jspdfCtx.setFontSize(this.safe(this.pxToPt(cfg.header.contentFontSize), 1));
|
|
24014
|
+
this.setTextColorFromString(cfg.header.contentColor);
|
|
24015
|
+
headerPos = this.computeContentPosition(cfg.header.contentPosition, pageW, pageH, cfg.header.height, mt, mb, 'header', cfg.header.padding);
|
|
24016
|
+
this.textPdf(headerText, headerPos.x, headerPos.y, headerPos.align);
|
|
24017
|
+
}
|
|
24056
24018
|
}
|
|
24057
24019
|
if (cfg === null || cfg === void 0 ? void 0 : cfg.footer) {
|
|
24058
|
-
|
|
24059
|
-
.
|
|
24060
|
-
|
|
24061
|
-
|
|
24062
|
-
|
|
24063
|
-
|
|
24064
|
-
|
|
24020
|
+
if (typeof cfg.footer.content === 'function') {
|
|
24021
|
+
cfg.footer.content(this, String(pageNum));
|
|
24022
|
+
}
|
|
24023
|
+
else {
|
|
24024
|
+
footerText = String(cfg.footer.content)
|
|
24025
|
+
.replace('${currentPage}', String(pageNum))
|
|
24026
|
+
.replace('${totalPages}', String(this.totalPages));
|
|
24027
|
+
this.jspdfCtx.setFontSize(this.safe(this.pxToPt(cfg.footer.contentFontSize), 1));
|
|
24028
|
+
this.setTextColorFromString(cfg.footer.contentColor);
|
|
24029
|
+
footerPos = this.computeContentPosition(cfg.footer.contentPosition, pageW, pageH, cfg.footer.height, mt, mb, 'footer', cfg.footer.padding);
|
|
24030
|
+
this.textPdf(footerText, footerPos.x, footerPos.y, footerPos.align);
|
|
24031
|
+
}
|
|
24065
24032
|
}
|
|
24066
24033
|
return [2 /*return*/];
|
|
24067
24034
|
}
|
|
@@ -24287,6 +24254,8 @@
|
|
|
24287
24254
|
var activePageHeight = 1123;
|
|
24288
24255
|
var pageMarginTop = 0;
|
|
24289
24256
|
var pageMarginBottom = 0;
|
|
24257
|
+
// let realPageSize = 0;
|
|
24258
|
+
var pageTopOffset = 10;
|
|
24290
24259
|
var cloneContainerShallow = function (src) {
|
|
24291
24260
|
var c = Object.create(Object.getPrototypeOf(src));
|
|
24292
24261
|
var srcObj = src;
|
|
@@ -24334,11 +24303,14 @@
|
|
|
24334
24303
|
for (var _i = 0, _a = container.textNodes; _i < _a.length; _i++) {
|
|
24335
24304
|
var tc = _a[_i];
|
|
24336
24305
|
var filtered = [];
|
|
24337
|
-
|
|
24338
|
-
var tb = _c[_b];
|
|
24306
|
+
var _loop_1 = function (tb) {
|
|
24339
24307
|
var pageIndex = Math.floor(pageEnd / activePageHeight);
|
|
24340
24308
|
var maxKey = Math.max.apply(Math, Object.keys(offSetPageObj).map(function (k) { return +k; }));
|
|
24341
|
-
var activePageOffset = offSetPageObj[maxKey] || 0;
|
|
24309
|
+
var activePageOffset = pageIndex === 1 ? 0 : offSetPageObj[maxKey] || 0;
|
|
24310
|
+
var prevMaxKey = Math.max.apply(Math, Object.keys(offSetPageObj)
|
|
24311
|
+
.filter(function (k) { return +k < pageIndex; })
|
|
24312
|
+
.map(function (k) { return +k; }));
|
|
24313
|
+
var prevPageOffset = offSetPageObj[prevMaxKey] || 0;
|
|
24342
24314
|
var top_1 = tb.bounds.top + activePageOffset;
|
|
24343
24315
|
var bottom = tb.bounds.top + tb.bounds.height + activePageOffset;
|
|
24344
24316
|
var intersects = bottom > pageStart && top_1 < pageEnd;
|
|
@@ -24346,11 +24318,24 @@
|
|
|
24346
24318
|
if (intersects && !crossesToNextPage) {
|
|
24347
24319
|
var offsetNum = 0;
|
|
24348
24320
|
if (top_1 < pageStart) {
|
|
24349
|
-
|
|
24350
|
-
|
|
24351
|
-
|
|
24352
|
-
|
|
24353
|
-
|
|
24321
|
+
if (prevPageOffset || pageIndex > 1) {
|
|
24322
|
+
// Because the offset is only increased when paging occurs, and each time elements are paged, a full traversal is performed
|
|
24323
|
+
// Determine that the current text does not require pagination rendering based on the height calculated on the previous page, so proceed directly to continue
|
|
24324
|
+
var prevPageStart = pageStart - activePageHeight;
|
|
24325
|
+
var prevPageEnd = pageEnd - activePageHeight;
|
|
24326
|
+
var prevTop = tb.bounds.top + prevPageOffset;
|
|
24327
|
+
var prevBottom = tb.bounds.top + tb.bounds.height + prevPageOffset;
|
|
24328
|
+
var prevIntersects = prevBottom > prevPageStart && prevTop < prevPageEnd;
|
|
24329
|
+
var prevCrossesToNextPage = prevBottom > prevPageEnd;
|
|
24330
|
+
if (prevIntersects && !prevCrossesToNextPage) {
|
|
24331
|
+
return "continue";
|
|
24332
|
+
}
|
|
24333
|
+
}
|
|
24334
|
+
offsetNum = pageStart - top_1 + pageTopOffset;
|
|
24335
|
+
var prev = offSetPageObj[pageIndex] || 0;
|
|
24336
|
+
if (!offSetPageObj[pageIndex] || prev < offsetNum) {
|
|
24337
|
+
if (prev < offsetNum) {
|
|
24338
|
+
offSetTotal = offSetTotal - prev + offsetNum;
|
|
24354
24339
|
}
|
|
24355
24340
|
else {
|
|
24356
24341
|
offSetTotal += offsetNum;
|
|
@@ -24359,29 +24344,26 @@
|
|
|
24359
24344
|
}
|
|
24360
24345
|
// Fix the issue where no offset is added for the first text container
|
|
24361
24346
|
bottom += offsetNum;
|
|
24347
|
+
top_1 += offsetNum;
|
|
24348
|
+
// fix add realpageSize
|
|
24349
|
+
// TODO
|
|
24350
|
+
// if (offsetNum && realPageSize <= pageIndex) {
|
|
24351
|
+
// realPageSize = pageIndex + 1;
|
|
24352
|
+
// }
|
|
24362
24353
|
}
|
|
24363
24354
|
var visibleTop = Math.max(top_1, pageStart);
|
|
24364
24355
|
var visibleBottom = Math.min(bottom, pageEnd);
|
|
24365
24356
|
var newTop = visibleTop - pageStart;
|
|
24366
24357
|
var newHeight = Math.max(0, visibleBottom - visibleTop);
|
|
24367
|
-
//
|
|
24358
|
+
// Generate new Bounds based on the visible area
|
|
24368
24359
|
var nb = new Bounds$1(tb.bounds.left, newTop + pageMarginTop, tb.bounds.width, newHeight);
|
|
24369
|
-
//
|
|
24370
|
-
// console.log(
|
|
24371
|
-
// 'nb',
|
|
24372
|
-
// nb,
|
|
24373
|
-
// 'pageStart',
|
|
24374
|
-
// pageStart,
|
|
24375
|
-
// 'tb.bounds.top',
|
|
24376
|
-
// tb.bounds.top,
|
|
24377
|
-
// 'activePageOffset',
|
|
24378
|
-
// activePageOffset,
|
|
24379
|
-
// (tb as any).text
|
|
24380
|
-
// );
|
|
24381
|
-
// }
|
|
24382
|
-
// 把文字内容和新的 bounds 一起放进 filtered
|
|
24360
|
+
// Put the text content and the new bounds into filtered
|
|
24383
24361
|
filtered.push({ text: tb.text, bounds: nb });
|
|
24384
24362
|
}
|
|
24363
|
+
};
|
|
24364
|
+
for (var _b = 0, _c = tc.textBounds; _b < _c.length; _b++) {
|
|
24365
|
+
var tb = _c[_b];
|
|
24366
|
+
_loop_1(tb);
|
|
24385
24367
|
}
|
|
24386
24368
|
if (filtered.length > 0) {
|
|
24387
24369
|
var clone = cloneTextContainerShallow(tc);
|
|
@@ -24394,26 +24376,37 @@
|
|
|
24394
24376
|
var filterElementForPage = function (container, pageStart, pageEnd) {
|
|
24395
24377
|
var pageIndex = Math.floor(pageEnd / activePageHeight);
|
|
24396
24378
|
var maxKey = Math.max.apply(Math, Object.keys(offSetPageObj).map(function (k) { return +k; }));
|
|
24397
|
-
var activePageOffset = offSetPageObj[maxKey] || 0;
|
|
24379
|
+
var activePageOffset = pageIndex === 1 ? 0 : offSetPageObj[maxKey] || 0;
|
|
24398
24380
|
var top = container.bounds.top + activePageOffset;
|
|
24399
24381
|
var bottom = container.bounds.top + container.bounds.height + activePageOffset;
|
|
24400
24382
|
if (container.divisionDisable && bottom > pageEnd && top < pageEnd) {
|
|
24401
|
-
var offsetNum = pageEnd - top;
|
|
24383
|
+
var offsetNum = pageEnd - top + pageTopOffset;
|
|
24402
24384
|
var prev = offSetPageObj[pageIndex] || 0;
|
|
24403
24385
|
if (!offSetPageObj[pageIndex] || prev < offsetNum) {
|
|
24404
24386
|
offSetTotal += offsetNum - prev;
|
|
24405
24387
|
offSetPageObj[pageIndex] = offSetTotal;
|
|
24406
24388
|
}
|
|
24389
|
+
// fix add realpageSize
|
|
24390
|
+
// TODO
|
|
24391
|
+
// if (offsetNum && realPageSize <= pageIndex) {
|
|
24392
|
+
// realPageSize = pageIndex + 1;
|
|
24393
|
+
// }
|
|
24407
24394
|
return null;
|
|
24408
24395
|
}
|
|
24409
24396
|
var children = [];
|
|
24397
|
+
// Modify the order of `filterTextNodesForPage` and `filterElementForPage`, traversing text nodes first and then child elements, to avoid incorrect setting of `activePageOffset` when the current section spans multiple pages
|
|
24398
|
+
var textNodes = filterTextNodesForPage(container, pageStart, pageEnd);
|
|
24410
24399
|
for (var _i = 0, _a = container.elements; _i < _a.length; _i++) {
|
|
24411
24400
|
var child = _a[_i];
|
|
24412
24401
|
var part = filterElementForPage(child, pageStart, pageEnd);
|
|
24413
24402
|
if (part)
|
|
24414
24403
|
children.push(part);
|
|
24415
24404
|
}
|
|
24416
|
-
|
|
24405
|
+
// Prevent the outer container from not synchronizing the offsetPage when the text spans multiple pages
|
|
24406
|
+
maxKey = Math.max.apply(Math, Object.keys(offSetPageObj).map(function (k) { return +k; }));
|
|
24407
|
+
activePageOffset = pageIndex === 1 ? 0 : offSetPageObj[maxKey] || 0;
|
|
24408
|
+
top = container.bounds.top + activePageOffset;
|
|
24409
|
+
bottom = container.bounds.top + container.bounds.height + activePageOffset;
|
|
24417
24410
|
var visibleTop = Math.max(top, pageStart);
|
|
24418
24411
|
var visibleBottom = Math.min(bottom, pageEnd);
|
|
24419
24412
|
var newHeight = Math.max(0, visibleBottom - visibleTop);
|
|
@@ -24427,18 +24420,19 @@
|
|
|
24427
24420
|
clone.bounds = new Bounds$1(container.bounds.left, newTop + pageMarginTop, container.bounds.width, newHeight);
|
|
24428
24421
|
return clone;
|
|
24429
24422
|
};
|
|
24430
|
-
var paginateNode = function (root, pageHeight, initialOffset, pageConfig) {
|
|
24423
|
+
var paginateNode = function (root, pageHeight, initialOffset, totalHeight, pageConfig) {
|
|
24431
24424
|
var _a, _b;
|
|
24432
24425
|
if (initialOffset === void 0) { initialOffset = 0; }
|
|
24433
24426
|
if (initialOffset < 0)
|
|
24434
24427
|
initialOffset = 0;
|
|
24435
24428
|
offSetTotal = 0;
|
|
24436
24429
|
offSetPageObj = {};
|
|
24437
|
-
var maxBottom = computeMaxBottom(root);
|
|
24430
|
+
var maxBottom = totalHeight || computeMaxBottom(root);
|
|
24438
24431
|
pageMarginTop = ((_a = pageConfig === null || pageConfig === void 0 ? void 0 : pageConfig.header) === null || _a === void 0 ? void 0 : _a.height) || 0;
|
|
24439
24432
|
pageMarginBottom = ((_b = pageConfig === null || pageConfig === void 0 ? void 0 : pageConfig.footer) === null || _b === void 0 ? void 0 : _b.height) || 0;
|
|
24440
24433
|
activePageHeight = pageHeight - pageMarginTop - pageMarginBottom;
|
|
24441
24434
|
var totalPages = Math.max(1, Math.ceil((maxBottom - initialOffset) / activePageHeight));
|
|
24435
|
+
// realPageSize = totalPages;
|
|
24442
24436
|
var pages = [];
|
|
24443
24437
|
for (var i = 0; i < totalPages; i++) {
|
|
24444
24438
|
var pageStart = initialOffset + i * activePageHeight;
|
|
@@ -24447,6 +24441,16 @@
|
|
|
24447
24441
|
if (pageRoot)
|
|
24448
24442
|
pages.push(pageRoot);
|
|
24449
24443
|
}
|
|
24444
|
+
// If the number of pages increases due to divisionDisable or text truncation, recalculation of pages is required
|
|
24445
|
+
// TODO
|
|
24446
|
+
// if (realPageSize > totalPages) {
|
|
24447
|
+
// for (let i = totalPages; i < realPageSize; i++) {
|
|
24448
|
+
// const pageStart = initialOffset + i * activePageHeight;
|
|
24449
|
+
// const pageEnd = pageStart + activePageHeight;
|
|
24450
|
+
// const pageRoot = filterElementForPage(root, pageStart, pageEnd);
|
|
24451
|
+
// if (pageRoot) pages.push(pageRoot);
|
|
24452
|
+
// }
|
|
24453
|
+
// }
|
|
24450
24454
|
// console.log(offSetPageObj, '偏移量');
|
|
24451
24455
|
return pages;
|
|
24452
24456
|
};
|
|
@@ -24548,11 +24552,7 @@
|
|
|
24548
24552
|
y: ((_q = opts.y) !== null && _q !== void 0 ? _q : 0) + top,
|
|
24549
24553
|
width: (_r = opts.width) !== null && _r !== void 0 ? _r : Math.ceil(width),
|
|
24550
24554
|
height: (_s = opts.height) !== null && _s !== void 0 ? _s : Math.ceil(height),
|
|
24551
|
-
fontConfig:
|
|
24552
|
-
? isArray$1(opts.fontConfig)
|
|
24553
|
-
? opts.fontConfig
|
|
24554
|
-
: [opts.fontConfig]
|
|
24555
|
-
: undefined,
|
|
24555
|
+
fontConfig: setOptionFontConfig(opts.fontConfig),
|
|
24556
24556
|
encryption: isEmptyValue(opts.encryption) ? undefined : opts.encryption,
|
|
24557
24557
|
precision: (_t = opts.precision) !== null && _t !== void 0 ? _t : 16,
|
|
24558
24558
|
floatPrecision: (_u = opts.floatPrecision) !== null && _u !== void 0 ? _u : 16,
|
|
@@ -24614,7 +24614,7 @@
|
|
|
24614
24614
|
};
|
|
24615
24615
|
adjustTop_1(root, offsetY);
|
|
24616
24616
|
}
|
|
24617
|
-
pageRoots = paginateNode(root, pageHeight, renderOptions.y, renderOptions.pageConfig);
|
|
24617
|
+
pageRoots = paginateNode(root, pageHeight, renderOptions.y, renderOptions.height, renderOptions.pageConfig);
|
|
24618
24618
|
Reflect.deleteProperty(root, 'context');
|
|
24619
24619
|
if (backgroundColor === root.styles.backgroundColor) {
|
|
24620
24620
|
root.styles.backgroundColor = COLORS$1.TRANSPARENT;
|