HarmonyOS 鸿蒙Next 使用系统预览器预览pdf文件提示预览失败

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用系统预览器预览pdf文件提示预览失败

首先我用官方提供的pdfAPI进行文件加载 预览成功,但是用系统预览器打开 显示预览失败

2 回复

您将下载公共目录的文件的代码修改成下面这个试下呢

// 保存文件类型['后缀类型描述|后缀类型'],选择所有文件:'所有文件(*.*)|.*'(可选) ,如过选择项存在多个后缀,默认选择第一个。
documentSaveOptions.fileSuffixChoices = ['.pdf']; //'.doc',
// 请确保 getContext(this) 返回结果为 UIAbilityContext
let context = getContext(this) as common.Context;
// 创建文件选择器实例。
const documentViewPicker = new picker.DocumentViewPicker(context);
//用户选择目标文件夹,用户选择与文件类型相对应的文件夹,即可完成文件保存操作。保存成功后,返回保存文档的uri。
const res = await documentViewPicker.save(documentSaveOptions)
console.log('---', JSON.stringify(res))
const filePath = res[0]
// 2.2 根据uri同步打开文件
const appFile = fs.openSync(this.FilePath)
// 2.3 同步获取文件的详细信息
// const stat = fs.statSync(appFile.fd)
// 2.4 创建缓冲区存储读取的文件流
// const buffer = new ArrayBuffer(stat.size)
const file = fs.openSync(filePath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
// fs.copyFileSync(this.FilePath, filePath);
fs.copyFileSync(appFile.fd, file.fd);
// fs.writeSync(file.fd, buffer);
fs.closeSync(file);
fs.closeSync(appFile);

<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

更多关于HarmonyOS 鸿蒙Next 使用系统预览器预览pdf文件提示预览失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,若使用系统预览器预览PDF文件时提示预览失败,可能的原因及解决方式如下:

  1. 文件格式问题

    • 确认PDF文件未损坏且格式标准,尝试用其他PDF阅读器(如Adobe Reader、Foxit Reader)打开验证。
  2. 文件路径与权限

    • 确保PDF文件存储在系统可访问的路径下,且应用具有读取该文件的权限。检查应用权限设置,允许应用访问存储。
  3. 系统预览器版本

    • 检查系统预览器是否为最新版本,有时软件更新能解决兼容性问题。
  4. 系统缓存

    • 清除系统缓存或重启设备,有时缓存问题可能导致文件预览失败。
  5. 文件大小与内存

    • 对于大型PDF文件,检查设备内存是否充足,内存不足可能导致预览失败。
  6. 系统错误

    • 若是系统级错误,可能需等待系统更新修复。

若上述方法均无法解决问题,可能是系统或文件本身的深层次问题。此时,建议直接联系官方客服进行专业排查。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部