• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-888784

hvigor/06-May-2025-3836

screenshots/06-May-2025-

.gitignoreD06-May-2025133 1212

README.mdD06-May-20255.1 KiB13281

build-profile.json5D06-May-20251.3 KiB5251

code-linter.json5D06-May-2025958 3534

hvigorfile.tsD06-May-2025830 225

oh-package.json5D06-May-2025834 2624

ohosTest.mdD06-May-20251.9 KiB2516

README.md

1## 使用Web组件打印前端页面
2
3### 介绍
4
52. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-print.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
6
7### InitiatePrintW3CAPI
8
9#### 介绍
10
111. 本示例主要介绍使用Web组件打印前端页面,通过创建打印适配器,拉起打印应用,并对当前Web页面内容进行渲染,渲染后生成的PDF文件信息通过fd传递给打印框架。W3C标准协议接口window.print()方法用于打印当前页面或弹出打印对话框。该方法没有任何参数,只需要在JavaScript中调用即可。
12
13#### 效果预览
14
15| 主页                                                         |
16| ------------------------------------------------------------ |
17| <img src="./screenshots/InitiatePrintW3CAPI.png" width="360;" /> |
18
19使用说明
20
211. 点击print按钮,触发window.print()操作,即可对页面内容进行打印。
22
23### InitiatePrintAppAPI
24
25#### 介绍
26
271. 本示例主要介绍使用Web组件打印前端页面,应用侧通过调用createWebPrintDocumentAdapter创建打印适配器,通过将适配器传入打印的print接口调起打印。
28
29#### 效果预览
30
31| 主页                                                         |
32| ------------------------------------------------------------ |
33| <img src="./screenshots/InitiatePrintAppAPI.png" width="360;" /> |
34
35使用说明
36
371. 点击createWebPrintDocumentAdapter按钮应用侧会创建打印适配器,并将其传入打印接口,以触发打印操作。
38
39## 使用Web组件的PDF文档预览能力
40
41### 介绍
42
431. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-pdf-preview.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
44
45### PreviewPDF
46
47#### 介绍
48
491. 本示例主要介绍使用Web组件的PDF文档预览能力。Web组件提供了在网页中预览PDF的能力。应用可以通过Web组件的src参数和loadUrl()接口中传入PDF文件,来加载PDF文档。根据PDF文档来源不同,可以分为三种常用场景:加载网络PDF文档、加载本地PDF文档、加载应用内resource资源PDF文档。
50
51#### 效果预览
52
53| 主页                                                    |
54| ------------------------------------------------------- |
55| <img src="./screenshots/PreviewPDF.png" width="360;" /> |
56
57使用说明
58
591. Web组件创建时指定默认加载的网络PDF文档example.com/test.pdf60
61## 网页中安全区域计算和避让适配
62
63### 介绍
64
65### CalcAdjustSafeArea
66
671. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-safe-area-insets.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
68
69#### 介绍
70
711. 本示例主要介绍网页中安全区域计算和避让适配。Web组件提供了利用W3C CSS进行安全区域计算并避让适配的能力,用来支持异形屏幕设备在沉浸式效果下页面的正常显示。此时,网页开发者想对重叠元素进行避让,就可以该能力。ArkWeb内核将持续监测Web组件及系统安全区域的位置与尺寸,依据两者的重叠部分,计算出当前Web组件的安全区域,以及在各个方向上所需避让的具体距离。
72
73#### 效果预览
74
75| 主页                                                         |
76| ------------------------------------------------------------ |
77| <img src="./screenshots/CalcAdjustSafeArea.png" width="360;" /> |
78
79使用说明
80
811. 通过expandSafeArea来开启沉浸式效果。Web组件根据实际情况对网页元素进行相应的避让,防止与系统的非安全区域发生重叠遮挡。
82
83## 工程目录
84
85```
86entry/src/main/
87|---ets
88|---|---entryability
89|---|---|---EntryAbility.ets
90|---|---pages
91|---|---|---Index.ets						// 首页
92|---|---|---InitiatePrintAppAPI
93|---|---|---InitiatePrintW3CAPI
94|---|---|---PreviewPDF
95|---|---|---CalcAdjustSafeArea
96|---resources								// 静态资源
97|---ohosTest
98|---|---ets
99|---|---|---tests
100|---|---|---|---Ability.test.ets            // 自动化测试用例
101```
102
103
104## 相关权限
105
106[ohos.permission.PRINT](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissionprint)
107
108[ohos.permission.INTERNET](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet)
109
110## 依赖
111
112不涉及。
113
114## 约束与限制
115
1161. 本示例仅支持标准系统上运行,支持设备:RK3568。
1172. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。
1183. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。
119
120## 下载
121
122如需单独下载本工程,执行如下命令:
123
124```
125git init
126git config core.sparsecheckout true
127echo code/DocsSample/ArkWeb/ProcessWebPageCont > .git/info/sparse-checkout
128git remote add origin https://gitee.com/openharmony/applications_app_samples.git
129git pull origin master
130```
131
132