Vue2.x封装预览PDF组件

一、为什么用PDFObject插件?

PDFObject 是一个轻量级的 JavaScript 库,主要用于在网页中嵌入和预览 PDF 文件。它通过简单的 API 调用,可以在浏览器中实现 PDF 文件的显示,而无需依赖任何插件。以下将详细介绍 PDFObject 的特点、优势及其在 Vue2.x 中的使用方法。

1.轻量级与易用性

PDFObject 仅包含一个小型的 JavaScript 文件,无需复杂的配置即可使用。只需引入库文件并调用 PDFObject.embed() 方法,即可在指定容器中嵌入 PDF 文件。

2.无插件依赖

它利用浏览器的内置 PDF 查看器(如 Chrome 的 PDFium 或 Adobe Reader 插件)来实现 PDF 的预览,无需安装额外的插件,如 Flash 或 Adobe Reader。

3.跨浏览器兼容性

PDFObject 支持主流浏览器,包括 ChromeFirefoxSafariEdge,同时也能兼容部分旧版浏览器(如 IE9+)。这种兼容性使得它在不同环境下都能稳定运行。

4.灵活的自定义选项

PDFObject 提供了多种参数来控制 PDF 的显示效果,例如:
widthheight:设置 PDF 的显示尺寸。
page:指定初始显示的页面。
toolbar:控制工具栏的显示或隐藏。
zoom:设置缩放比例。
navpanes:控制导航窗格的显示或隐藏。
快速集成
在 Vue2.x 中,PDFObject 可以通过简单的引入和调用快速集成到项目中,适合快速开发需求。

二、Vue中使用PDFObject示例

1. 安装 PDFObject

可以通过 npm 安装 PDFObject

npm install pdfobject
2. 引入 PDFObject 并使用

在 Vue 组件中,通过 import 引入 PDFObject,并调用其 embed 方法来实现 PDF 的预览,

<template><div class="preview-pdf"><div class="loading-block"><p class="loading-word">加载中...</p></div><div ref="pdfViewerRef" style="z-index: 10;"></div></div>
</template><script>
import PDFObject from 'pdfobject';export default {name: "pdf-preview",data() {return {url: '',previewUrl:""}},mounted() {this.loadPdf();},methods: {loadPdf() {let url = '后端访问pdf路径';fetch(url).then(response => response.arrayBuffer()).then(buffer => new Uint8Array(buffer)).then(uint8array => {// 创建Blob对象const blob = new Blob([uint8array], { type: 'application/pdf' });// 创建一个指向Blob的URLconst pdfUrl = URL.createObjectURL(blob);// 现在你可以使用这个URL与PDFObject结合// 'pdf-container'是页面上用于展示PDF的HTML元素IDPDFObject.embed(pdfUrl, this.$refs.pdfViewerRef, {style: 'position: absolute'});});}}
}
</script><style scoped lang="scss">
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915207.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

undefined reference to ‘end‘

相关问题&#xff1a; 一、undefined reference to _exit undefined reference to ‘end‘ warning: _close is not implemented and will always fail 一、环境&#xff1a; ubuntu24.04实体机、 arm-none-eabi-gcc gcc version 13.2.1 20231009 (15:13.2.rel1-2) 二…

nginx定制http头信息

修改http响应头信息&#xff0c;相关Nginx模块&#xff1a;ngx_http_headers_moduleexpires语法&#xff1a;expires [modified] time;expires [modified] time;默认值&#xff1a;expires off;作用域&#xff1a;http, server, location, if in location用途&#xff1a;控制缓…

主机安全---开源wazuh安装

Wazuh 简介 Wazuh 是一款免费开源的终端安全监控平台&#xff0c;支持威胁检测、完整性监控、事件响应和合规性管理&#xff0c;适用于企业级安全运维场景。其核心组件包括&#xff1a; Wazuh Indexer&#xff1a;基于 OpenSearch 的日志存储与检索组件。Wazuh Server&#x…

GaussDB 数据库架构师修炼(四) 备份容量估算

1 影响备份容量关键要素业务总数据量备份数据保留周期备份周期备份数据的压缩比平均每天的新增数据量平均每天新增日志数据量2 备份容量的估算方法公式备份容量C &#xff1d; 自动全量备份容量C1 &#xff0b; 自动差量备份容量C2 &#xff0b; 自动日志归档 容量C3 &#xff…

《R for Data Science (2e)》免费中文翻译 (第0章) --- Introduction

写在前面 本系列推文为《R for Data Science (2e)》的中文翻译版本。所有内容都通过开源免费的方式上传至Github&#xff0c;欢迎大家参与贡献&#xff0c;详细信息见&#xff1a; Books-zh-cn 项目介绍&#xff1a; Books-zh-cn&#xff1a;开源免费的中文书籍社区 r4ds-zh-cn…

如何 ASP.NET Core 中使用 WebSocket

如何在 ASP.NET Core 中使用 WebSocket在现代 Web 应用程序中&#xff0c;WebSocket 连接非常流行且使用率极高。它可以帮助企业满足数字环境需求&#xff0c;并处理来自最终用户的实时数据。它还能提升生产力、输出率和用户体验。如果您还没有使用 WebSocket&#xff0c;那么您…

Python之--元组

定义是 Python 中内置的不可变序列。在 Python 中使用&#xff08;&#xff09;定义元组&#xff0c;元素与元素之间使用英文的逗号分隔。元组中只有一个元素的时候&#xff0c;逗号也不能省略。元组的创建方式&#xff08;1&#xff09;使用&#xff08;&#xff09;直接创建元…

工业相机GigE数据接口的优势及应用

工业相机不同的数据接口适用的应用场景也不同&#xff0c;选择合适的数据额接口&#xff0c;可大大提高效率。今天我们来看看常见的GigE接口的优势及应用。基于GigE Vision标准的千兆以太网&#xff08;GigE&#xff09;相机通过提供快速、灵活且成本效益高的成像解决方案&…

【53】MFC入门到精通——MFC串口助手(二)---通信版(发送数据 、发送文件、数据转换、清空发送区、打开/关闭文件),附源码

文章目录1 完整 功能展示2 添加控件变量及声明2.1 添加控件及变量2.2 SerialPortDlg.h: 头文件3 函数实现3.1 数据发送3.1.2 写数据、字符串转3.2 发送文件3.2.1 打开文件3.2.2 发送文件3.3 清空发送区4 完整MFC项目项下载1 完整 功能展示 串口通信助手 页面展示&#xff0c;功…

算法学习笔记:27.堆排序(生日限定版)——从原理到实战,涵盖 LeetCode 与考研 408 例题

堆排序&#xff08;Heap Sort&#xff09;是一种基于二叉堆数据结构的高效排序算法&#xff0c;由计算机科学家 J. W. J. Williams 于 1964 年提出。它结合了选择排序的思想和二叉堆的特性&#xff0c;具有时间复杂度稳定&#xff08;O (nlogn)&#xff09;、原地排序&#xff…

I/O 多路复用select,poll

目录 I/O多路复用的介绍 多进程/多线程模型的弊端 网络多路复用如何解决问题&#xff1f; 网络多路复用的常见实现方式 常见的开源网络库 select详细介绍 select函数介绍 套接字可读事件,可写事件,异常事件 fd_set类型介绍 select的两次拷贝&#xff0c;两次遍历 se…

最终分配算法【论文材料】

文章目录一、最终分配算法1.1 平衡的情况1.2 不平衡的情况1.3 TDM 约束一、最终分配算法 上一步合法化后&#xff0c;group 的 TDM 情况大致分为两类&#xff0c;一类是平衡的&#xff0c;最大的一些 group 的 TDM 比较接近。另外一种情况就是不平衡的&#xff0c;最大的 group…

《大数据技术原理与应用》实验报告七 熟悉 Spark 初级编程实践

目 录 一、实验目的 二、实验环境 三、实验内容与完成情况 3.1 Spark读取文件系统的数据。 3.2 编写独立应用程序实现数据去重。 3.3 编写独立应用程序实现求平局值问题。 四、问题和解决方法 五、心得体会 一、实验目的 1. 掌握使用 Spark 访问本地文件和 HDFS 文件的…

机器学习漫画小抄 - 彩图版

斯坦福机器学习漫画小抄&#xff0c;中文版来啦&#xff01; 下载地址&#xff1a; 通过网盘分享的文件&#xff1a;机器学习知识点彩图版.pdf 链接: https://pan.baidu.com/s/1-fH9OpC_u_OrTqWy6gVUCA 提取码: 246r

1.初始化

业务模块核心技术栈业务&#xff08;亮点&#xff09;解决方案课程安排01 认识Vue3为什么需要学Vue3?Vue3组合式API体验Vue3更多的优势2 使用create-vue搭建Vue3项目认识 create-vue使用create-vue创建项目3 熟悉项目目录和关键文件项目目录和关键文件4 组合式API - setup选项…

Milvus分布式数据库工作职责

主导腾讯云Milvus服务化项目&#xff0c;设计多租户隔离方案&#xff0c;支撑日均10亿向量请求&#xff0c;延迟降低40%。优化IVF_PQ索引构建流程&#xff0c;通过量化编码压缩使内存占用减少60%&#xff0c;QPS提升35%。开发基于Kubernetes的Milvus Operator&#xff0c;实现自…

FMEA-CP-PFD三位一体数字化闭环:汽车部件质量管控的速效引擎

FMEA-CP-PFD三位一体数字化闭环&#xff1a;汽车部件质量管控的速效引擎 全星FMEA软件系统通过​​FMEA&#xff08;失效模式分析&#xff09;、CP&#xff08;控制计划&#xff09;、PFD&#xff08;过程流程图&#xff09;三大工具的一体化协同管理​​&#xff0c;为汽车部件…

VUE2 学习笔记1

目录 VUE特点 文档tips 开发者工具 从一个Hello world开始 hello world Demo 容器和实例的对应关系 差值语法{{}} VUE特点 构建用户界面&#xff1a;可以用来把数据构建成用户界面。 渐进式&#xff1a;自底向上&#xff0c;可以先从一个非常轻量级的框架开始&#xf…

嵌入式学习系统编程(四)进程

目录 一、进程 1.程序和进程 2.进程的八种状态 3. 几个状态 4.关于进程常用命令 二、关于进程的函数 1.fork 2.面问 3.孤儿进程 后台进程 2. exec函数族 (只保留父子关系&#xff0c;做新的事情) strtok函数 三、进程的结束 1.分类 exit和_exit的区别 wait函数…

Linux中添加重定向(Redirection)功能到minishell

前言&#xff1a;在谈论添加minishell之前&#xff0c;我再重谈一下重定向的具体实现等大概思想&#xff01;&#xff01;&#xff01;方便自己回顾&#xff01;&#xff01;&#xff01; 目录 一、重定向&#xff08;Redirection&#xff09;原理详解 1、文件描述符基础 2、…