x-pdf-u PDF预览
PDF 预览组件。分页渲染、页码事件、跳页和系统打印。
兼容性
| Harmony | IOS | Android | WEB | 小程序 |
|---|---|---|---|---|
| 支持 | 支持 | 支持 | 支持 | 不支持 |
调用
vue
<x-pdf-u ref="pdf" :url="url" style="width:100%;height:450px;" @onInit="onPdfInit" @pageChange="onPageChange"></x-pdf-u>ts
uni.downloadFile({
url: "https://example.com/a.pdf",
success: (evt) => {
url.value = evt.tempFilePath
}
})
function onPdfInit(event : Map<string, number>) : void {
console.log(event)
}
pdf.value?.jumpTo(2)
pdf.value?.print()App 端远程 http/https/ftp 会先下载再渲染。本地支持绝对路径、file:///、鸿蒙文档库授权 URI(file://docs/...)、Android content://、iOS unifile://;中文文件名的百分号编码会解开。
参数
| 字段 | 说明 | 默认 |
|---|---|---|
| url | PDF 地址 | "" |
事件
| 名称 | 参数 | 说明 |
|---|---|---|
| onInit | { page, pageCount } | PDF 加载完成,page 从 0 开始 |
| pageChange | { page, pageCount } | 当前页变化 |
| error | { errMsg } | 文件不存在、下载失败或解析失败 |
方法
| 名称 | 需要 | 说明 |
|---|---|---|
| render | url: string | 手动加载并渲染 PDF |
| getCurrent | 无 | 返回当前页,从 0 开始 |
| getPageCount | 无 | 返回总页数 |
| jumpTo | page: number | 跳到指定页 |
| 无 | 打开系统打印 |
平台差异
- 无微信实现。
- Web 跨域 PDF 需要 CORS;
print()可能被浏览器拦截弹窗。 - Android 含本地 AAR,需自定义基座。预览在
scroll-view内会拦住触摸,翻页/缩放不穿透到页面。 - 鸿蒙使用系统 PDFKit 预览,打印需要
ohos.permission.PRINT。
版本
版权归https://xui.tmui.design你不得修改及二次开发,仅供TMUI4会员商用使用。不得转给非VIP会员使用,一经查实数倍赔偿,并追究法律责任。
更新日志
1.0.9(2026-09-09)
- 安卓已是沙箱绝对路径、
file://不再先convert2AbsFullPath,避免合成后的 cache PDF 打不开。
1.0.8(2026-09-08)
- 全端补
error事件({ errMsg }):文件不存在、路径无效、解析失败、远程下载失败都会回调,不再只打日志。
1.0.7(2026-09-08)
- 全端规范化本地文档路径:鸿蒙
file://docs/...授权 URI 先落沙箱再打开(不再剥成docs/storage/...);Android 处理file:///content:///unifile://;iOS 对齐 mime-s 解析file://与unifile://;Web 解开file://百分号路径。
1.0.6(2026-08-18)
- Android 预览在 scroll-view 内禁止父级拦截触摸,翻页/缩放只留在 PDF 内,不再穿透到页面。
1.0.5(2026-08-18)
- Android/iOS 的 onInit 改为 keepAlive setter 注册,不再放进构造参数对象,避免回调释放后无法再次执行。
1.0.4(2026-08-15)
- 新增 HarmonyOS 预览、跳页、页码事件与系统打印,与 Android/iOS/Web API 对齐。
1.0.0(2026-07-31)
- 破坏式更新以支持蒸汽模式
1.0.3(2025-10-09)
- 修复新的sdk兼容问题,安卓依赖版本切换,以兼容4.76 sdk的版本打包匹配。
1.0.2(2024-09-18)
- 修复本地路径可能的错误.
1.0.1(2024-09-18)
- 修复本地路径可能的错误.
1.0.0(2024-09-14)
发布第一版本,双端支持打印pdf文件及预览操作pdf文件,嵌入视频预览pdf,方便定义界面。
