iframe 在线预览pdf、word、excel、ppt、txt、图片、视频

简介: iframe 在线预览pdf、word、excel、ppt、txt、图片、视频

第一种方式通过 iframe 在线预览 pdf,word,excel,ppt,txt,图片,视频

<template>
    <el-button  @click="openHandler">预览</el-button>
    <el-dialog @close="closeHandler" v-model="maskObj.flag" title="预览">
        <iframe  sandbox="allow-scripts allow-top-navigation allow-same-origin allow-popups" 
            :src="maskObj.url"
            frameborder="0"
            style=" z-index: 1000;height:560px;width:100%">
        </iframe>
    </el-dialog>
</template>
<script lang="ts" setup>
import {shallowReactive } from 'vue'
let maskObj = shallowReactive({
    flag: false,
    url:''
})
const openHandler = () => { 
    maskObj.url = '', //你的地址
    maskObj.flag = true;
    // 在预览的时候,可以判断一个文件的类型,不符合要求的类型不支持预览。
    // 在预览视频的时候,关闭弹窗的时候也应该把视频的值清空。否者视频会一直播放的
}
const closeHandler = () => { 
    maskObj.url =''//清空值
    maskObj.flag = false;
}
</script>

预览word

预览视频

通过插件预览

如果通过插件预览就需要安装对应的插件。
vue-pdf 可以实现对pdf的预览。

vue-pdf预览pdf

<template>
    <el-dialog title="预览" :visible.sync="viewVisible" width="100%" height="100%" :before-close='closeDialog'>
        <div class="pdf" v-show="fileType === 'pdf'">
            <pdf :src="pdfsrc"></pdf>
        </div>
    </el-dialog>
</template>
<script>
// 引入刚才下载的 pdf 
import pdf from 'vue-pdf'
export default {
    components: {
        pdf
    },
    data() {
        yuming: "你的url",  // 
        viewVisible: false, // 弹框隐藏
        fileType: 'pdf', // 文件类型
        pdfsrc: '',  // 文件地址
    },
    created() {
        // 有时PDF文件地址会出现跨域的情况,最好先处理一下
        this.pdfsrc = pdf.createLoadingTask(this.pdfsrc)
    },
    methods: {
        handleEdit(index, row) {
            //console.log(row.wjYsmc)
            if (!/\.(pdf|PDF)$/.test(row.wjYsmc)) {
                window.open(
                    "https://view.officeapps.live.com/op/view.aspx?src=" + this.yuming + "/anli?id=" + row.id,
                    "_blank"
                );
                return false;
            } else {
                let url = this.yuming + "/anli?id=" + row.id
                this.viewVisible = true
                this.pdfsrc = url
            }
        },
        closeDialog(done) {
            done();
        },
    }
}
</script>

个人认为

目前来说,通过iframe来预览的形式会更加好一些。
在 iframe预览视频的时候,关闭弹窗的时候也应该把视频的值清空。否者视频会一直播放的
插件预览的缺点
插件预览只能够预览一种类型。而不能够预览多种类型的资源。
在预览的时候,最好是需要判断一下。符合条件的类型才能够进行预览。

遇见问题,这是你成长的机会,如果你能够解决,这就是收获。

相关文章
|
2月前
|
应用服务中间件
使用 Adobe Livecycle Enterprise service 将 word 文档转换成 PDF 格式
使用 Adobe Livecycle Enterprise service 将 word 文档转换成 PDF 格式
28 0
|
2月前
|
存储 Java Apache
Spring Boot整合OpenOffice实现Word、Excel、PPT在线预览
Spring Boot整合OpenOffice实现Word、Excel、PPT在线预览
140 0
|
1月前
excel 图片地址转成图片
excel 图片地址转成图片
44 1
|
2月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
105 0
|
2月前
|
Java 程序员 数据安全/隐私保护
分享一个word转pdf的工具类Aspose[java]
分享一个word转pdf的工具类Aspose[java]
46 0
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
【办公自动化】使用Python一键提取PDF中的表格到Excel
【办公自动化】使用Python一键提取PDF中的表格到Excel
71 0
|
2月前
|
数据安全/隐私保护 Python Windows
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
Python办公自动化【Word转换PDF、PDF读取内容、PDF合并文件、PDF拆分文件、PDF加密文件、PPT基本操作-增加幻灯片、增加内容】(六)-全面详解(学习总结---从入门到深化)
47 0
|
2月前
|
测试技术 数据处理 Python
测试报告导出PDF和excel的方法
测试报告导出PDF和excel的方法
|
3月前
|
存储 Shell 数据安全/隐私保护
Python 自动化指南(繁琐工作自动化)第二版:十五、使用 PDF 和 WORD 文档
Python 自动化指南(繁琐工作自动化)第二版:十五、使用 PDF 和 WORD 文档
52 1
|
1月前
|
数据挖掘 数据安全/隐私保护 开发者
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
84 0