前端文件预览,PDF,word,TXT

先说一下需求:

这里要做的就是从后端返回的URL下载地址,然后前端去渲染出来

刚开始看了其他的一些博主的文章,都是不怎么适用于我,我自己找了几个新的第三方库

vue-office/pdf

官网:vue-office简介 | vue-office

这里支持docx,xlsx,PDF文件格式

mammoth.js

文档:mammoth - npm

PDF预览

我用的是vue-office/pdf这个库

html 复制代码
<vue-office-pdf :src="src" />
javascript 复制代码
//引入该库
import VueOfficePdf from '@vue-office/pdf'

// 使用ref创建一个DOM引用
const src = ref('')

// 简历预览
const handleChange = () => {
  axios({
    method: 'get',
    responseType: 'blob',
    url: 后端传递给你的下载文件的地址
  }).then(({ data }) => {
    // console.log(data, '后端返回') // 后端返回的是流文件
     pdfPrew(data)
  })
}

// pdf文件预览
const pdfPrew = (data) => {
  let reader = new FileReader()
  reader.readAsArrayBuffer(data)
  reader.onload = (loadEvent) => {
    let arrayBuffer = loadEvent.target.result
    src.value = arrayBuffer
  }
}

docx文件预览

我用的是mammoth.js

html 复制代码
<div v-html="convertedHtml"></div>
javascript 复制代码
  const convertedHtml = ref()

// mammoth  word文件预览
const convertToHtml = (file) => {
  const reader = new FileReader()
  reader.onload = (event) => {
    const arrayBuffer = event.target.result
    mammoth
      .convertToHtml({ arrayBuffer: arrayBuffer })
      .then((result) => {
        convertedHtml.value = result.value // 将转换后的 HTML 设置到 data 属性中
      })
      .catch((err) => console.error(err))
  }
  reader.readAsArrayBuffer(file) // 读取文件内容
}

TXT文件

对于txt文件,其实很简单,没必要去用其他的第三方库

html 复制代码
<pre>{{ fileContent }}</pre>
javascript 复制代码
 const fileContent = ref('')

// 此处用于TXT文件的预览
const handleFileUpload = (file) => {
  if (file) {
    const reader = new FileReader()
    reader.readAsText(file, 'UTF-8')
    reader.onload = (e) => {
      fileContent.value = e.target.result
    }
  }
}
相关推荐
jiangbqing4 小时前
职场动物进化手册(升级版).pdf 免费分享
pdf·职场动物净化·职场必读潜规则
合合技术团队5 小时前
智能合同审查搭建教程:低质量PDF怎么处理?先解析清洗,再分路审阅(附GitHub项目地址)
pdf·prompt·github·textin
南风微微吹8 小时前
【管综】考研199管理类综合联考历年真题及答案解析PDF电子版(2009-2026年)
考研·pdf
优化控制仿真模型8 小时前
【英一】考研英语一历年真题及答案解析PDF电子版(1980-2026年)
经验分享·pdf
其实秋天的枫8 小时前
【英一】考研英语一历年真题及答案解析PDF电子版(1980-2026年)
经验分享·pdf
要不枉此行8 小时前
【Python 实战】一键爬取 HTML 文档并合并为完整 PDF
python·pdf·html
E_ICEBLUE8 小时前
在 Java 中使用 Spire.PDF 合并 PDF 文档(含加密与压缩处理)
java·pdf
其实秋天的枫9 小时前
日语N1、N2、N3、N4、N5历年真题及答案解析PDF电子版(2010-2025年12月)
经验分享·pdf
优化控制仿真模型9 小时前
日语N1、N2、N3、N4、N5历年真题及答案解析PDF电子版(2010-2025年12月)
经验分享·pdf
CHANG_THE_WORLD10 小时前
gc.py 功能介绍:PDF 对象流还原工具(用于 pdfium 测试)
算法·pdf