| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 22-Oct-2025 | - | 35 | 32 | ||
| entry/ | 22-Oct-2025 | - | 903 | 800 | ||
| hvigor/ | 22-Oct-2025 | - | 38 | 36 | ||
| screenshots/ | 22-Oct-2025 | - | ||||
| .gitignore | D | 22-Oct-2025 | 133 | 12 | 12 | |
| README.md | D | 22-Oct-2025 | 5.1 KiB | 132 | 81 | |
| build-profile.json5 | D | 22-Oct-2025 | 1.3 KiB | 52 | 51 | |
| code-linter.json5 | D | 22-Oct-2025 | 958 | 35 | 34 | |
| hvigorfile.ts | D | 22-Oct-2025 | 830 | 22 | 5 | |
| oh-package.json5 | D | 22-Oct-2025 | 834 | 26 | 24 | |
| ohosTest.md | D | 22-Oct-2025 | 1.9 KiB | 25 | 16 |
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.pdf。 60 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