【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word等office文件

1、Office Web(微软的开发接口)

优点

  1. 没有 Office也可以直接查看Office 文件
  2. 适用于移动端、PC
  3. 无需下载文件就可以在浏览器中查看

<iframe src="文档地址" frameborder="0" />

复制代码
const docUrl = '外网可预览的地址'
const url = encodeURIComponent(docUrl)
const officeUrl = 'http://view.officeapps.live.com/op/view.aspx?src=' + url
// 在新窗口打开编码后 的链接
window.open(officeUrl, '_target')

const documentUrl = '' // 将此替换为你的Word文档的URL
const officeOnlineViewerUrl = 'https://view.officeapps.live.com/op/view.aspx?src='
// 第一种
// this.previewUrl = officeOnlineViewerUrl + encodeURIComponent(documentUrl)

// 第二种
// this.previewUrl = `${officeOnlineViewerUrl}${documentUrl}&embedded=true`

// 没有下载按钮的--https://view.officeapps.live.com/op/embed.aspx?src=

// 有下载按钮的--https://view.officeapps.live.com/op/view.aspx?src=

2、XDOC文档预览云服务(预览pdf、word、xls、ppt)

XDOC文档预览云服务

注意:文档地址要用utf-8编码,并且外网可访问。

优点:

  1. 只需要传入文档URL,基于内容自动识别文档格式
  2. 高效、快速、实时预览,重复请求0毫秒响应
  3. 使用HTML5方式展现内容,同时适配PC端和移动端
  4. 支持PDF,OFD,DOC/X,XLS/X,PPT/X,JPG,MP4等多种文档格式

调用方法

javascript 复制代码
https://view.xdocin.com/view?src=文档地址(https://)

eg:
const url = 'https://view.xdocin.com/view?src=文档地址【https(http)://】可预览的地址'

JS调用:
https://view.xdocin.com/view?src=https%3A%2F%2Fview.xdocin.com%2Fdemo%2Fview.docx

可选参数

  1. &pdf=true,word文档尝试以pdf方式显示,默认false
  2. &watermark=水印文本,显示文本水印;"img:"+图片url表示图片水印,如:img:https://view.xdocin.com/demo/wm.png
  3. &saveable=true,是否允许保存源文件,默认false
  4. &printable=false,是否允许打印,默认true
  5. ©able=false,是否允许选择复制内容,默认true
  6. &toolbar=false,是否显示底部工具条,默认true
  7. &title=自定义标题
  8. &expire=30,预览链接有效期,单位分钟,默认永久有效
  9. &limit=,限制页数,如:"5"表示只显示前5页,"2,5"表示从第2页开始的5页,对pdf/doc/docx/ppt/pptx有效
  10. &filename=文件名,辅助识别文档格式
  11. &fontsize=字体大小(单位px),默认14,范围:6~58
  12. &mtime=文件修改时间戳(如:1633093801,精确到秒)或修改时间(如:2021-10-01 21:10:01),值改变刷新缓存
javascript 复制代码
<template>
  <iframe
  :src="xsrc"
  frameborder="0"
  scrolling="auto"
  style="width:100%;height:100%;"
  ></iframe>
</template>

<script>
export default {
  name: 'XdocView',
  data () {
    return {
      xsrc: ''
    }
  },
  props: {
    src: String,
    watermark: String
  },
  watch: {
    src: {
      handler (val) {
        this.genXsrc()
      },
      immediate: true
    },
    watermark: {
      handler (val) {
        this.genXsrc()
      },
      immediate: true
    }
  },
  methods: {
    genXsrc () {
      if (this.src) {
        // 你的文档地址
        const file = this.src
        // XDOC文档预览服务地址
        let xurl = 'https://view.xdocin.com/view?src='
        // 传入文档地址
        xurl += encodeURIComponent(file)
        // 预览参数
        const ops = {
          watermark: this.watermark,
          // pdf: true, // word文档尝试以pdf方式显示,默认false
          // img: true, // 尝试以图片方式显示,默认false
          // "saveable": true, //是否允许保存源文件,默认false
          printable: false // 是否允许打印,默认true
          // "copyable": false, //是否允许选择复制内容,默认true
          // toolbar: false // 是否显示底部工具条,默认true
          // "expire": 30, //预览链接有效期,单位分钟,默认永久有效
          // "limit": "1,3", //限制页数,如:"5"表示只显示前5页,"2,5"表示从第2页开始的5页,对pdf/doc/docx/ppt/pptx有效
          // "mtime": 1633093801, //文件修改时间戳(精确到秒)或修改时间(如:2021-10-01 21:10:01),值改变刷新缓存,实时预览
        }
        // 传入预览参数
        for (const a in ops) {
          if (ops[a] != undefined) {
            xurl += '&' + a + '=' + encodeURIComponent(ops[a])
          }
        }
        // 开始预览
        this.xsrc = xurl
      }
    }
  }
}
</script>

<style>

</style>
相关推荐
其实秋天的枫1 小时前
【26年3月最新】计算机二级WPS真题试题及答案14套电子版PDF(含操作题和选择题)
经验分享·pdf
DeskUI~~1 小时前
倚天剑术34--批量获取PDF文档中的图片
pdf
河北之花1 小时前
演示软件界面及快捷键、幻灯片操作、输出为PDF
pdf·wps
开开心心就好2 小时前
安卓免费证件照制作软件,无广告弹窗
linux·运维·安全·pdf·迭代器模式·依赖倒置原则·1024程序员节
萝卜白菜。3 小时前
TongWeb7.0配置tongweb-web.xml修改jsessionid名及其值的长度
xml·前端·word
YXWik63 小时前
Linux 环境 libreoffice 执行word转pdf 中文乱码问题
linux·pdf·word
这辈子谁会真的心疼你3 小时前
怎么把caj转化为pdf?批量转换的方法
pdf
南风微微吹3 小时前
【2026年最新】英语四级历年真题及答案解析PDF电子版(2015-2025年12月)
pdf·英语四级
其实秋天的枫15 小时前
2025年12月大学英语六级真题及答案电子版pdf三套全
经验分享·pdf
优化控制仿真模型18 小时前
2026年最新驾考科目一考试题库2309道全。电子版pdf
经验分享·算法·pdf