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

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

相关文章
|
13天前
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
67 5
|
3月前
|
XML 缓存 JSON
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
251 0
|
1月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
69 2
|
2月前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
23 0
|
3月前
|
数据安全/隐私保护 Python Windows
三种方法,Python轻松提取PDF中全部图片
三种方法,Python轻松提取PDF中全部图片
|
3月前
|
Python
Python——批量将PDF文件转为图片
Python——批量将PDF文件转为图片
37 2
|
3月前
|
C# 开发者 Windows
WPF遇上Office:一场关于Word与Excel自动化操作的技术盛宴,从环境搭建到代码实战,看WPF如何玩转文档处理的那些事儿
【8月更文挑战第31天】Windows Presentation Foundation (WPF) 是 .NET Framework 的重要组件,以其强大的图形界面和灵活的数据绑定功能著称。本文通过具体示例代码,介绍如何在 WPF 应用中实现 Word 和 Excel 文档的自动化操作,包括文档的读取、编辑和保存等。首先创建 WPF 项目并设计用户界面,然后在 `MainWindow.xaml.cs` 中编写逻辑代码,利用 `Microsoft.Office.Interop` 命名空间实现 Office 文档的自动化处理。文章还提供了注意事项,帮助开发者避免常见问题。
239 0
|
3月前
|
Java
JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并
JAVA PDF 截取N页,生成新文件,转图片,多个PDF 合并
87 0
|
3月前
|
Python
[python]将多张图片合并为单个pdf文件
[python]将多张图片合并为单个pdf文件
|
29天前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。

热门文章

最新文章