electron客户端预览doc、docx、excel、pdf、ppt、csv、txt等文件类型

需求:已知文件路径,通过点击列表页的操作按钮可查看文件内容。

提供思路:实现方式有两种:

(1)打开弹窗或客户端新开窗口。不同类型应用不同插件进行直接预览查看。

(2)通过electron的shell.openPath指定系统默认程序直接打开页面。(这种方式实现简单,样式规范,具有统一性)

这里介绍第二种实现方式:

主进程监听:main.js

javascript 复制代码
const { shell } = require('electron')
// 通过系统打开窗口预览文件 
ipcMain.on('open-file', (event, filePath) => {
  // 打开文件
  shell
    .openPath(filePath)
    .then(() => {
      console.log('文件已使用系统默认程序打开')
    })
    .catch(err => {
      console.error('打开文件失败:', err)
    })
})

渲染进程preload.js

javascript 复制代码
  // 打开窗口预览文件
  openFileSend: (...args) => ipcRenderer.send("open-file", ...args),

vue组件使用:

javascript 复制代码
function previewFile (row) {
  // const filePath = 'D:\\work\\test.csv' 调试用
  window.electronAPI?.openFileSend(row.cached_file_path)
}
相关推荐
我也有在努力5 小时前
解决Electron拖拽窗口点击事件失效问题
前端·javascript·vue.js·typescript·electron·vue
Bio Coder6 小时前
批量将当前目录里的所有pdf 转化为png 格式
python·pdf·脚本·批量·pdf2image
南城花随雪。7 小时前
Excel表文本函数、日期和时间函数
excel
王维志9 小时前
在Unity中使用Epplus写Excel
unity·游戏引擎·excel
Funky_oaNiu1 天前
如何使用EasyExcel生成多列表组合填充的复杂Excel示例
java·excel·easyexcel
夜白宋1 天前
【EasyExcel等比例缩小导出图片】
java·excel
刽子手发艺1 天前
Javamail发送Excel附件具体实现
java·后端·excel
大海星辰7981 天前
java itext后端生成pdf导出
java·pdf
怕冷的火焰(~杰)1 天前
Electron: 主进程和渲染进程之间通信
electron