【Vue】vue-pdf 的简单封装使用

vue项目中使用pdf.js预览pdf文件 项目要求需要预览pdf文件,网上找了很久,大多数都是推荐pdf.js,自己先了解了一下,最后决定用pdf.js, 但是发现,在vue中使用这个很少!!!!!所以我就写这一篇帮助一下vue使用pdfjs的朋友! 其实 这和前端框架无关的,直接使用pdf.js原生 搜多了你就发现有几个封装pdf.js的vue组件,个人试验了其中一个,效果不是很好,所以,当然啊,用原生 的是最... 阅读详情

参考文章

可以先去看看这篇博客,了解基本的使用方法。

vue-pdf实现pdf文件在线预览

封装组件 PdfPreview.vue

<template>
  <div class="pdf-wrapper" ref="wrapper">
    <pdf ref="pdf" :src="pdfUrl" v-for="i in numPages" :key="i" :page="i"></pdf>
  </div>
</template>

<script>
import pdf from 'vue-pdf'
export default {
  name: '',
  props: {
    pdfUrl: {
      type: String,
      default: ''
    }
  },
  components: {
    pdf
  },
  data() {
    return {
      numPages: null
    }
  },
  mounted() {
    this.getNumPages()
  },
  methods: {
    getNumPages() {
      let loadingTask = pdf.createLoadingTask(this.pdfUrl)
      loadingTask.promise.then(pdf => {
        this.numPages = pdf.numPages
      })
    }
  }
}
</script>

<style scoped lang="scss">
.pdf-wrapper {
  overflow-y: scroll;
}
</style>

搭配 El 组件使用

我项目中使用了 el-drawer 组件来进行包裹,具体根据实际需要来。

<el-drawer
      title="预览"
      :visible.sync="drawer"
      size="50%"
      :before-close="drawerClose"
      :destroy-on-close="true"
      :with-header="false"
    >
      <pdf-preview :pdfUrl="pdfUrl"></pdf-preview>
    </el-drawer>

页面展示效果

image

利用pdf.js封装vue组件在vue中实现在线pdf查看 pdf.js是一款开源的pdf文档读取解析插件,可以直接在html中进行pdf预览。pdf可以直接下载,下载地址:http://mozilla.github.io/pdf.js/。pdf.js主要包含两个库文件,一个pdf.js和pdf.worker.js,一个负责api解析,一个负责核心解析。也可以直接进行下载使用,我这边使用的是cnpm下载。1. 安装 cnpm isntall --save ... 阅读详情

相关推荐

接收后端返回的pdf文件流 前端使用Vue-pdf实现预览(分页)

后端返回文件流前端将文件流转为成blob地址预览pdf文件

WuqibuHuan的博客 1万+

vue前端预览pdf并加水印、ofd文件,控制打印、下载、另存,vue-pdf的使用方法以及在开发中所踩过的坑合集

根据公司的实际项目需求,要求实现对pdf和ofd文件的预览,并且需要限制用户是否可以下载、打印、另存pdf、ofd文件,如果该用户可以打印、下载需要控制每个用户的下载次数以及可打印的次数。正常的预览pdf很简单,直接调用浏览器的预览就可以而且功能也比较全,但是一涉及到禁止用户打印、另存的话就不可以用浏览器自带的预览方式了。那就只能寻找插件来模拟了,之前在eletron-vue项目中使用过pdfjs以及vue-pdf插件,效果不是特别好

zhangzuying的博客 2万+

vue里怎么使用pdf.js实现pdf文件的预览功能

你首先得准备一个pdf插件包,比如我这边的项目包里的public文件夹的lib文件夹下面就有一个pdf的插件包,里面包含build以及web两个文件夹。行,从而确定链接的参数file参数就是我们需要的pdf文件路径参数。其实实现这个预览代码量很少,核心代码就一行,接下来我介绍一下这个实现过程。比如我这边的写法就是下面的样子,这个就是预览的核心代码。我们打开viewer.js,有个默认的配置项。下载一个稳定版本的就行,目录大致如下。,直接访问浏览器就会下载该pdf。...

学习前端这门手艺,栈底到栈顶依次是:浏览器架构、Web 网络、事件循环机制、JavaScript 核心、V8 的内存管理、浏览器的渲染流程、Web 安全、CSS、React、Vue、Node、构建工具链等 1万+

vue-pdf踩坑指南

最近做移动端项目,封装PDF预览组件,同事开始用的是vue-pdf来做的预览,连连踩坑,基本遇到3个问题: 1、PDF中文不显示 2、PDF签章没显示出来,控制台提示:Warning: Unimplemented widget field type "Sig", falling back to base field type 3、第二次打开PDF的时候会遇到PDF空白的问题,控制台提示:Error during font loading: Failed to execute 'postMessage' on

快进小树林的博客 1万+

前端开发基于Vue的PDF文件流预览解决方案:封装浏览器原生、PDF.js及vue-pdf组件实现在线预览系统设计如何在Vue项目

内容概要:本文详细介绍了三种在Vue项目中实现PDF预览的方式及其组件封装方法。第一种是利用浏览器原生支持,通过设置响应头和使用`<iframe>`标签实现简单的PDF预览;第二种是使用PDF.js库,提供更丰富的交互功能如翻页、缩放等;第三种是借助vue-pdf插件,它基于PDF.js但进行了Vue组件化封装,使得集成更加简便。每种方式都包括了接口准备、组件调用、封装好的组件代码及样式,还提供了使用示例。所有组件均考虑到了加载状态显示、错误处理及分页导航等功能。 适合人群:前端开发工程师,尤其是那些正在寻找有效解决方案来处理Web应用中PDF文件在线预览需求的人士。 使用场景及目标:①当项目需要快速集成简单的PDF预览功能时,可以选择浏览器原生支持的方式;②如果需要定制化更强、功能更全面的PDF阅读器,则应考虑采用PDF.js或vue-pdf插件;③对于希望减少开发成本且对性能有一定要求的应用,vue-pdf插件可能是最佳选择。 其他说明:文中提供的组件不仅实现了基本的PDF预览功能,还加入了加载指示器、错误提示以及分页控制等用户体验优化措施。开发者可以根据实际需求调整组件属性,灵活应对不同业务场景下的PDF展示要求。此外,示例代码展示了如何将这些组件整合到Vue项目中,并通过事件监听器捕获加载成功或失败的状态,以便进一步处理。

TIFF文件渲染避坑指南:Three.js与Cesium的5个关键差异点

本文深入对比了Three.js与Cesium在渲染TIFF文件时的5个核心差异点,包括坐标系处理、内存管理、着色器系统、性能优化策略和错误处理机制。重点解析了Cesium的全球WGS84坐标系与Three.js局部坐标系对地理空间数据渲染的根本影响,并提供了针对性的性能优化与调试方案,帮助开发者根据项目需求选择合适的3D引擎并有效避坑。

weixin_29243279的博客 332

vue中运用vue-pdf实现pdf分页预览及缩放(可解决pdf预览不清晰问题)

vue中运用vue-pdf实现pdf分页预览及缩放(可解决pdf预览不清晰问题)

少点bug,多点bag。 2万+

GEE开发之ERA5(气温、降水、压力、风速等)数据获取和分析

前言:ERA5主要提供DAILY和MONTHLY两大类别数据,其中主要包括气温、降水、压力、风速等。

等待着冬天的风的博客 3万+

[笔记][转] vue.js原生组件化开发(一)—— 组件开发基础

前言 vue作为一个轻量级前端框架,其核心就是组件化开发。我们一般常用的是用脚手架vue-cli来进行开发和管理,一个个组件即为一个个vue页面,这种叫单文件组件。我们在引用组件之时只需将组件页面引入,再注册即可使用。那么不用脚手架,如何进行组件开发呢,本文先介绍一下基础知识吧。 组件使用流程 1.组件构建 1.1 extend构建法 调用Vue.extend()方法,构建一个名字为myCom的组...

zhaoweihao的博客 738

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

小白也能懂!一步步教你用FPGA加速YOLO目标检测(入门篇)

安装到 PYNQ 开发板中。该库为 PYNQ 平台提供了对量化神经网络(如 YOLO)的硬件加速支持。确保你的电脑已连接到外网,如 WiFi 或热点(手机热点理论上也可用,未实测)。当你看到安装成功的提示后,打开 Jupyter Notebook,你会发现在。趁这个机会,泡了杯茶,刷了会儿手机,顺便感慨了一下开源社区的强大……页面中多出了一些新的项目文件夹 —— 这就是我们刚才安装的。参数,浅拷贝只克隆最近一次提交,减少数据量,避免超时问题。初始化,打开该文件,即可运行我们的Tiny YOLO。

FJN110的博客 1597

vue3预览图片和pdf封装

vue3预览图片和pdf封装

weixin_48198130的博客 620

《自然语言处理实战入门》文本分类 ---- 使用词向量与SVM 进行文本分类

文本分类用电脑对文本集(或其他实体或物件)按照一定的分类体系或标准进行自动分类标记。 它根据一个已经被标注的训练文档集合, 找到文档特征和文档类别之间的关系模型, 然后利用这种学习得到的关系模型对 新的文档进行类别判断 。文本分类从基于知识的方法逐渐转变为基于统计 和机器学习的方法。

shiter编写程序的艺术 2387

【vue-pdf】简单封装pdf预览组件

【代码】【vue-pdf】简单封装pdf预览组件。在Vue中使用vue-pdf来展示PDF文件,首先需要安装vue-pdf

厚积薄发. 770

【系列06】端侧AI:构建与部署高效的本地化AI模型 第5章:模型剪枝(Pruning)

结构化剪枝移除的是模型中的整个结构,比如一个完整的神经元、一个卷积核或一个通道。修剪后的模型权重矩阵仍然是稠密的,因此能够充分利用现代硬件和软件的并行计算优势,从而显著提升推理速度。非结构化剪枝是最细粒度的剪枝方法。对于需要极致压缩但对推理速度要求不高的场景,非结构化剪枝是好的选择。它就像修剪一棵树,通过移除模型中不必要的“枝叶”,让模型变得更精简、更高效,从而适应资源受限的设备。,开发者可以方便地对模型的不同层进行剪枝,并根据需求进行微调,从而在不影响太多性能的前提下,获得一个更轻量、更高效的模型。

学习,输出==》再学习再输出 648

13、基于RBF的自适应鲁棒控制与反步控制方法及实现

本文介绍了基于RBF神经网络的自适应鲁棒控制与反步控制方法,详细阐述了控制系统的程序结构、核心算法及实现流程。通过Simulink搭建仿真系统,利用RBF网络逼近系统中的不确定非线性函数,并结合Lyapunov稳定性理论设计控制律,实现了对倒立摆等复杂非线性系统的高精度跟踪控制。文章还提供了完整的MATLAB/Simulink代码示例和仿真结果分析,验证了该方法的有效性与鲁棒性,为实际工程应用提供了可行的技术路径。

ol789012的博客 87

超简单HTML转PDF工具封装、包含页眉页码水印

font 和 pdf 放在 resources 目录下。html 模版 使用 freemarker 语法。

SkyFlying2017 1073

五种音频器件综合对比——《器件手册--音频器件》

音频器件当在蜂鸣片的两片电极之间接通交流音频信号时,蜂鸣片会根据信号的大小和频率发生振动,从而产生相应的声音。结构简单、造价低廉。广泛应用于玩具、电子表、电子仪器、电子钟表、定时器等电子电器方面。蜂鸣器是一种一体化结构的电子讯响器,采用直流电源供电,广泛应用于各种电子产品中作发声器件有源蜂鸣器:内部带震荡源,通电即发声,程序控制方便。无源蜂鸣器:内部不带震荡源,需用方波驱动,声音频率可控,价格相对便宜。计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品。

XU157303764的博客 1534

vue3+ts预览和下载word,pdf,excel

vue3+ts预览和导出文件

感谢您阅读我的博客,如果您有任何问题或建议,请随时联系我。 7492

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

实现点击按钮导出页面pdf

库来实现将页面某部分导出为PDF文档的功能。在Vue 3 + Vite项目中,你可以使用。

www666_的博客 705

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

VuePDF终极指南:打造专业级PDF在线预览解决方案

在现代Web应用开发中,PDF文档的在线预览功能已成为不可或缺的核心需求。VuePDF作为Vue 3生态中的专业PDF预览组件,为开发者提供了强大而灵活的客户端PDF渲染方案,让您能够以最简洁的方式在网页中嵌入高质量的PDF文档预览功能。 ## 项目价值定位 VuePDF是一个基于Vue 3框架的客户端PDF渲染组件,它封装了业界领先的PDF.js库,将所有复杂的PDF处理逻辑封装成易于使用的

gitblog_00434的博客 1077

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【Vue】vue中使用pdf,看这篇就够了~

1. 需求   最近接到一个需求,需要在 vue 的 pc 端中嵌入用户帮助手册的PDF文件,且由于是保密文件,因此禁止用户进行打印、下载等相关操作。需要实现出来的需求点如下: PDF展示 每一页进行懒加载(或用进度条加载给与用户反馈) 禁止打印、下载PDF(或加大用户打印、下载文件的难度成本) 2. PDF 组件选型 通过查找资料,主流的可以找到的有如下几种方案,其中最为成熟的方案是 vue-pdf vue-pdf 官方文档:较为完善的 vue-PDF 解决方案。 vueshowpdf:网络上找

weixin_42678675的博客 8万+

vue项目中预览pdf文件

一、利用浏览器自带的预览pdf // [pdfUrl] 获取pdf地址 eg:http://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pldi-09.pdf <iframe ref="mainiframe" :src="pdfUrl" style="height:100%;width:100%" ></iframe...

prey1025的博客 5万+

Vue中进行pdf的预览下载 vue-pdf

1、使用npm 下载vue-pdf npm install --save vue-pdf 2、封装pdf组件 &amp;lt;template&amp;gt; &amp;lt;div style=&quot;height: 75vh;overflow-y: auto;overflow-x: hidden;&quot;&amp;gt; &amp;lt;pdf :src=&quot;src&quot;&amp;gt;&amp

weixin_43452622的博客 2万+

vue-pdf使用及注意事项

近期公司有一个需求需要在移动端实现pdf文件预览,因为移动端是用vue开发的,所以最终选择使用vue-pdf插件进行开发。vue-pdf是一个pdf预览的插件,主要在vue中使用,开发者是国外的(vue生态系统很大,也有国外的大佬参与了一些插件开发,主要是一些npm包),使用起来较为简单,就是坑有点多,如果公司要求没有那么严格,只是简单的预览功能,对样式也没有过多要求的话这个插件很不错。vue-pdf如果打不开,可以使用下面这个网址将链接复制进去加速访问。

蓝桉 1万+
上一篇: 【JavaScript】获取url中的参数方法封装
下一篇: 【React】react:Matched leaf route at location "/" does not have an element. This means it will render ...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值