@jcyao/print-sdk 1.0.1 → 1.1.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/CHANGELOG.md +106 -0
- package/README.md +13 -5
- package/dist/index.esm.js +291 -67
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +291 -67
- package/dist/index.js.map +1 -1
- package/dist/printEngine/constants.d.ts +2 -2
- package/dist/printEngine.d.ts +8 -3
- package/package.json +2 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
所有版本的变更记录都列在这里,遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/) 规范。
|
|
4
|
+
|
|
5
|
+
## [1.1.0] - 2026-04-15
|
|
6
|
+
|
|
7
|
+
### 🎯 重大改进
|
|
8
|
+
|
|
9
|
+
#### 表格分页精度革命性提升
|
|
10
|
+
- **渲染后测量方案**:将表格真实渲染到隐藏 DOM 中,测量每行实际高度
|
|
11
|
+
- **彻底解决长文本换行问题**:不再依赖估算行高,避免分页截断
|
|
12
|
+
- **表头高度真实测量**:支持表头换行场景
|
|
13
|
+
- **合计行高度真实测量**:避免合计行间距不一致
|
|
14
|
+
|
|
15
|
+
#### 组件定位逻辑优化
|
|
16
|
+
- **支持负 gap(组件重叠)**:完全保留设计时的相对位置关系
|
|
17
|
+
- **表格跨页后精确定位**:后续组件定位到表格实际底部
|
|
18
|
+
- **新页面组件间距处理**:正确处理与页面顶部的间距
|
|
19
|
+
|
|
20
|
+
#### 表格渲染改进
|
|
21
|
+
- **列宽均分方案**:按列数百分比均分,避免宽度溢出
|
|
22
|
+
- **单元格垂直居中**:文字垂直居中对齐
|
|
23
|
+
- **min-height 替代固定高度**:允许内容自然撑开
|
|
24
|
+
|
|
25
|
+
### 🔧 工程改进
|
|
26
|
+
|
|
27
|
+
- **iframe 生命周期优化**:使用 `afterprint` 事件 + 5秒兜底,确保可靠清理
|
|
28
|
+
- **DOMParser 替代正则**:批量打印时更健壮地提取 body 内容
|
|
29
|
+
- **Decimal.js 错误处理**:添加友好的"计算错误"提示
|
|
30
|
+
- **表格宽度溢出检测**:`xMm` 越界时输出明确错误提示
|
|
31
|
+
- **异步架构改造**:核心方法改为 `async/await`,支持渲染后测量
|
|
32
|
+
|
|
33
|
+
### 🐛 问题修复
|
|
34
|
+
|
|
35
|
+
| 问题 | 修复内容 |
|
|
36
|
+
|------|----------|
|
|
37
|
+
| 分页计算精度丢失 | 使用真实渲染高度代替估算高度 |
|
|
38
|
+
| 表格高度计算不一致 | 渲染后测量 + min-height |
|
|
39
|
+
| 组件间距为负数 | 保留设计意图,支持组件重叠 |
|
|
40
|
+
| iframe 移除时机 | afterprint 事件 + 兜底定时器 |
|
|
41
|
+
| 表格宽度溢出 | 添加 xMm 越界检测 |
|
|
42
|
+
| 正则提取 body | 使用 DOMParser |
|
|
43
|
+
| Decimal.js 错误 | 添加错误处理和友好提示 |
|
|
44
|
+
|
|
45
|
+
### ⚠️ 已知限制
|
|
46
|
+
|
|
47
|
+
- 页码宽高固定(20mm x 6mm),大字体时可能溢出
|
|
48
|
+
- 连续纸模式高度为 Infinity(设计如此,适配连续纸打印)
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## [1.0.1] - 2026-01-22
|
|
53
|
+
|
|
54
|
+
### ✨ 新增功能
|
|
55
|
+
|
|
56
|
+
- **页码功能**:支持6种位置、3种格式、自定义样式
|
|
57
|
+
- 位置:上左/上中/上右/下左/下中/下右
|
|
58
|
+
- 格式:simple、slash、text
|
|
59
|
+
- 支持偏移量、前后缀、样式自定义
|
|
60
|
+
|
|
61
|
+
- **批量打印预览**:支持多份文档一次性预览和打印
|
|
62
|
+
- 自动合并 HTML
|
|
63
|
+
- 显示文档分割线和序号
|
|
64
|
+
- 支持进度回调
|
|
65
|
+
|
|
66
|
+
- **PageNumberRenderer**:新增页码渲染器插件
|
|
67
|
+
|
|
68
|
+
### 🎨 体验优化
|
|
69
|
+
|
|
70
|
+
- 组件库和数据资产支持双击快速添加
|
|
71
|
+
- 组件库和数据资产支持拖拽精确定位
|
|
72
|
+
- 智能计算画布中心位置
|
|
73
|
+
|
|
74
|
+
### 🔧 架构优化
|
|
75
|
+
|
|
76
|
+
- 页码功能从组件模式重构为页面配置模式
|
|
77
|
+
- SDK 增加 PageNumberRenderer 支持
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## [1.0.0] - 2026-01-20
|
|
82
|
+
|
|
83
|
+
### 🎉 初始发布
|
|
84
|
+
|
|
85
|
+
**核心功能**
|
|
86
|
+
- 可视化模板设计器(拖拽 + 对齐 + 网格吸附)
|
|
87
|
+
- 7种基础组件:文本、图片、表格、二维码、条形码、矩形、线条
|
|
88
|
+
- Schema 字典管理 + Mock 数据管理
|
|
89
|
+
- 数据绑定 + Pipes 格式化
|
|
90
|
+
- SDK 打印引擎 + 表格分页渲染
|
|
91
|
+
|
|
92
|
+
**技术特性**
|
|
93
|
+
- 插件化架构(渲染器、管道)
|
|
94
|
+
- TypeScript 完整类型定义
|
|
95
|
+
- 客户端渲染,零服务端压力
|
|
96
|
+
- 使用 decimal.js 保证数值精度
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 版本号说明
|
|
101
|
+
|
|
102
|
+
遵循 [语义化版本 2.0.0](https://semver.org/lang/zh-CN/):
|
|
103
|
+
|
|
104
|
+
- **主版本号**:不兼容的 API 修改
|
|
105
|
+
- **次版本号**:向下兼容的功能新增
|
|
106
|
+
- **修订号**:向下兼容的问题修复
|
package/README.md
CHANGED
|
@@ -5,13 +5,21 @@
|
|
|
5
5
|
|
|
6
6
|
通用打印 SDK - 客户端打印解决方案
|
|
7
7
|
|
|
8
|
-
**当前版本**: v1.0
|
|
8
|
+
**当前版本**: v1.1.0
|
|
9
9
|
|
|
10
|
-
## 🆕 v1.0
|
|
10
|
+
## 🆕 v1.1.0 重大改进
|
|
11
11
|
|
|
12
|
-
- ⭐
|
|
13
|
-
- ⭐
|
|
14
|
-
- ⭐
|
|
12
|
+
- ⭐ **表格分页精度大幅提升**:引入「渲染后测量」方案,彻底解决长文本换行导致的分页截断问题
|
|
13
|
+
- ⭐ **组件定位优化**:支持负 gap(组件重叠),表格跨页后后续组件精确定位
|
|
14
|
+
- ⭐ **表格渲染改进**:列宽均分、单元格垂直居中、使用 min-height 替代固定高度
|
|
15
|
+
- 🔧 **错误处理增强**:iframe 使用 afterprint 事件、DOMParser 替代正则、Decimal.js 错误友好提示
|
|
16
|
+
|
|
17
|
+
## 📋 历史版本
|
|
18
|
+
|
|
19
|
+
### v1.0.1
|
|
20
|
+
- 页码功能:支持6种位置、3种格式、自定义样式
|
|
21
|
+
- 批量打印预览:支持多份文档一次性预览和打印
|
|
22
|
+
- PageNumberRenderer:新增页码渲染器插件
|
|
15
23
|
|
|
16
24
|
## ✨ 特性
|
|
17
25
|
|