HarmonyOS 鸿蒙Next是否有文件预览相关的能力或工具包?是否支持在线预览?

HarmonyOS 鸿蒙Next是否有文件预览相关的能力或工具包?是否支持在线预览? 回答请包括能力或开发包关键字,并附上相关文档链接,谢谢!

5 回复

鸿蒙(HarmonyOS)提供了 Preview Kit(文件预览服务) 作为官方文件预览能力工具包,支持本地及在线文件的预览功能1。以下是关键信息:

  • 支持格式:覆盖超过 5 种基本类型(文本、HTML、图片、视频、音频),扩展支持 18 种详细文件格式
  • 关键特性
    • 提供缩放交互、音频/视频全屏播放(背景自适应优化)。
    • 支持在线预览(通过 uri 参数传入网络文件路径即可)。
  • 开发接口
    • filePreview.canPreview():检测文件是否可预览。
    • filePreview.openPreview():打开预览界面。

参考一下:数据和文件-文件预览服务(ArkTS)-HarmonyOS NEXT-Codelabs-华为开发者联盟

更多关于HarmonyOS 鸿蒙Next是否有文件预览相关的能力或工具包?是否支持在线预览?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


文件预览 Preview Kit

当前 Preview Kit 的文件预览能力采用拉起新窗口的方式来实现,在新的窗口中展示需要预览的文件,并按照统一设计的界面进行展示,如果开发者需要使用 Preview Kit 的文件预览能力,需要注意以下事项:

  • 当前 Preview Kit 仅支持跳出应用进行文件的预览,暂不支持应用内预览。
  • Office 类型文档预览借助 WPS 提供的能力来实现,在预览文档类型文件时会存在"WPS 提供技术支持"、"使用 WPS Office 打开"等相关字样。
  • 当前 Preview Kit 暂不支持安全定制能力,包括禁止截录屏、屏蔽其他应用打开入口、屏蔽分享入口等安全预览能力。
  • 当前 Preview Kit 需要调用方存在对应 uri 的转授权能力,从而让预览获得该文件的访问权限来正常读取文件,具体问题可以参考 Preview Kit 常见问题 2

接口说明

接口返回值有两种返回形式:callback 和 promise,promise 和 callback 只是返回值方式不一样,功能相同。具体 API 说明详见 接口文档

表 1 Preview Kit 的接口介绍

接口名 描述
openPreview(context: Context, file: PreviewInfo, info?: DisplayInfo): Promise<void> 打开预览功能。通过传入单个文件预览信息以及悬浮窗口属性信息,打开预览窗口。1 秒内重复调用无效。使用 Promise 方式异步返回结果。
openPreview(context: Context, file: PreviewInfo, info: DisplayInfo, callback: AsyncCallback<void>): void 打开预览功能。通过传入单个文件预览信息以及悬浮窗口属性信息,打开预览窗口。1 秒内重复调用无效。传入 callback 进行异步回调。
openPreview(context: Context, files: Array<PreviewInfo>, index?: number): Promise<void> 打开预览功能。通过传入多个文件预览信息以及选择展示的文件信息下标,打开预览窗口。1 秒内重复调用无效。使用 Promise 方式异步返回结果。仅移动端可用。
canPreview(context: Context, uri: string): Promise<boolean> 根据文件的 uri 判断文件是否可预览。
- 当传入支持的文件类型(图片、视频、音频、文本、html)并且文件存在时,会返回 true。
- 当传入不可预览的文件 uri 时,返回 false。
hasDisplayed(context: Context): Promise<boolean> 判断预览窗口是否已经存在。预览窗口是单例的形式。
- 如果预览窗口已经打开过并且没关闭,那会返回 true。
- 如果没打开或者打开后已关闭,那将返回 false。
closePreview(context: Context): Promise<void> 关闭预览窗口,仅当预览窗口存在时起效。
loadData(context: Context, file: PreviewInfo): Promise<void> 加载预览文件信息。仅当预览窗口存在时生效。100 毫秒内重复调用无效。
- 传入可预览文件时展示对应预览界面。
- 传入不可预览文件显示不支持预览界面。

官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/preview-filepreview

包的兄弟,包的

这个这个:文件预览

鸿蒙Next提供文件预览能力,通过PreviewKit工具包实现。支持图片、PDF、文本等格式预览,可集成在线预览功能。开发者可通过PreviewPicker组件调用系统预览服务,无需依赖第三方库。

HarmonyOS Next提供了完整的文件预览能力,支持多种格式的在线预览。主要开发包和关键能力如下:

1. FilePicker(文件选择器)

2. FileIO(文件输入输出)

3. Media Library(媒体库)

在线预览支持:

  • 支持常见文档格式(PDF、Word、Excel等)
  • 支持图片格式(JPEG、PNG、GIF等)
  • 支持视频格式(MP4、AVI等)
  • 可通过Web组件实现网页内容预览

开发者可根据具体需求选择合适的API实现文件预览功能。

回到顶部