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)
}
相关推荐
扎量丙不要犟11 小时前
跨平台的客户端gui到底是选“原生”还是web
前端·javascript·c++·qt·rust·electron·tauri
XYX的Blog14 小时前
Pandas基础07(Csv/Excel/Mysql数据的存储与读取)
mysql·excel·pandas
东京老树根18 小时前
Excel 技巧23 - 在Excel中用切片器做出查询效果(★★★)
笔记·学习·excel
daqinzl1 天前
electron 应用开发实践
electron
流形填表1 天前
Pdf to forms如何实现?如何在3分钟内将PDF自动转换为Microsoft Forms
microsoft·pdf·c#
IDRSolutions_CN1 天前
什么是线性化PDF?
经验分享·pdf·软件工程·团队开发
辣香牛肉面1 天前
开源PDF分割合并工具 PDFsam Basic v5.3.0绿色版
pdf
天赐信息科技2 天前
衡水市城区小区地图)矢量高清cdr|pdf大图内容测评
pdf·贴图
SunkingYang2 天前
C#如何通过使用XpsToPdf库来转换xps为pdf文件
pdf·c#·使用方法·转换·xps·xpstopdf
东京老树根2 天前
Excel 技巧22 - Ctrl+D 向下复制(★★),复制同间距图形
笔记·学习·excel