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预览视频的时候,关闭弹窗的时候也应该把视频的值清空。否者视频会一直播放的
插件预览的缺点
插件预览只能够预览一种类型。而不能够预览多种类型的资源。
在预览的时候,最好是需要判断一下。符合条件的类型才能够进行预览。

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

相关文章
|
4月前
|
小程序
公众号如何添加附传Word、Excel、Pdf、PPT文档
公众号里添加一些文档给公众号粉丝下载,比如课件PPT、申请表Word文档、岗位需求Excel表、大赛入围/获奖名单等。公众号本身是不支持直接上传文件的,但我们可以通过附件小程序“间接”上传文件。
733 0
|
8月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
461 10
|
9月前
|
安全 搜索推荐 iOS开发
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
555 8
WPS Office for Mac 7.3.1 - 写作、表格处理、PPT 制作和 PDF 编辑
|
9月前
|
存储 JSON API
如何将 Swagger 文档导出为 PDF 文件
你会发现自己可能需要将 Swagger 文档导出为 PDF 或文件,以便于共享和存档。在这篇博文中,我们将指导你完成将 Swagger 文档导出为 PDF 格式的过程。
|
6月前
|
C#
【PDF提取内容改名】批量提取PDF指定区域内容重命名PDF文件,PDF自动提取内容命名的方案和详细步骤
本工具可批量提取PDF中的合同编号、日期、发票号等关键信息,支持PDF自定义区域提取并自动重命名文件,适用于合同管理、发票处理、文档归档和数据录入场景。基于iTextSharp库实现,提供完整代码示例与百度、腾讯网盘下载链接,助力高效处理PDF文档。
842 40
|
6月前
|
编译器 Python
如何利用Python批量重命名PDF文件
本文介绍了如何使用Python提取PDF内容并用于文件重命名。通过安装Python环境、PyCharm编译器及Jupyter Notebook,结合tabula库实现PDF数据读取与处理,并提供代码示例与参考文献。
|
7月前
|
数据采集 存储 API
Python爬虫结合API接口批量获取PDF文件
Python爬虫结合API接口批量获取PDF文件
|
11月前
|
人工智能 编解码 文字识别
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
OCRmyPDF 是一款开源命令行工具,专为将扫描的 PDF 文件转换为可搜索、可复制的文档。支持多语言、图像优化和多核处理。
1233 17
OCRmyPDF:16.5K Star!快速将 PDF 文件转换为可搜索、可复制的文档的命令行工具
|
12月前
|
机器学习/深度学习 人工智能 文字识别
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
1234 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式

热门文章

最新文章