@netless/window-manager 0.4.50 → 0.4.51

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.
@@ -0,0 +1,46 @@
1
+ # 导出 PDF
2
+
3
+ 此功能需要额外安装 `jspdf` 依赖才能使用
4
+
5
+ ```
6
+ npm install jspdf@2.5.1
7
+ ```
8
+
9
+ ### 支持的 app 及版本
10
+
11
+ 1. @netless/app-slide `0.2.23` 及以上版本支持保存动态 ppt 板书
12
+
13
+ 2. @netless/app-docs-viewer `0.2.10` 及以上版本支持保存 pdf 板书, **注意** app-docs-viewer 中可以展示静态 ppt, pdf, 动态 ppt. 其中只有 pdf 文件支持保存板书
14
+
15
+ 对应 @netless/window-manager `0.4.50` 及以上
16
+
17
+ ### 发起保存板书任务
18
+
19
+ 通过 `window.postMessage` 发事件来发起保存板书任务, 注意不要在任务尚未完成之前重复发送该事件.
20
+
21
+ ```js
22
+ window.postMessage({
23
+ type: "@netless/_request_save_pdf_",
24
+ appId: /* windowManager.addApp 返回的值, 指定要保存哪个窗口的板书, */
25
+ })
26
+ ```
27
+
28
+ ### 获取任务进度
29
+
30
+ 任务进度也通过 message 事件传递, 你需要在发起任务之前监听任务进度事件, 实例代码如下所示.
31
+ 其中 data.result 只有在任务成功时候才有值, 任务失败或者任务进行中都为 Null.
32
+ 如果下载任务失败, 则 progress 为 100 但是 result 为 Null.
33
+
34
+ ```js
35
+ window.addEventListener("message", evt => {
36
+ if (evt.data.type === "@netless/_result_save_pdf_") {
37
+ console.log(evt.data);
38
+ // data 包含如下属性
39
+ // data.type: 固定值 "@netless/_result_save_pdf_"
40
+ // data.appId: 指明是哪次下载任务, 与发起保存板书时候传递的 appId 值一致
41
+ // data.progress: 下载进度, 0 ~ 100
42
+ // data.result: ArrayBuffer 或者 Null, 值为板书的 pdf 文件内容, 仅当下载进度 100 时才有值.
43
+ // 获取到 ArrayBuffer 后需要自行完成下载到本地的逻辑.
44
+ }
45
+ });
46
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netless/window-manager",
3
- "version": "0.4.50",
3
+ "version": "0.4.51",
4
4
  "description": "",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",
@@ -9,8 +9,14 @@
9
9
  "author": "l1shen <lishen1635@gmail.com> (https://github.com/l1shen)",
10
10
  "license": "MIT",
11
11
  "peerDependencies": {
12
+ "jspdf": "2.5.1",
12
13
  "white-web-sdk": "^2.16.0"
13
14
  },
15
+ "peerDependenciesMeta": {
16
+ "jspdf": {
17
+ "optional": true
18
+ }
19
+ },
14
20
  "dependencies": {
15
21
  "@juggle/resize-observer": "^3.3.1",
16
22
  "@netless/telebox-insider": "0.2.27",
@@ -22,7 +28,7 @@
22
28
  "video.js": ">=7"
23
29
  },
24
30
  "devDependencies": {
25
- "@netless/app-docs-viewer": "^0.2.10",
31
+ "@netless/app-docs-viewer": "^0.2.11",
26
32
  "@netless/app-media-player": "0.1.0-beta.5",
27
33
  "@rollup/plugin-commonjs": "^20.0.0",
28
34
  "@rollup/plugin-node-resolve": "^13.0.4",