首页 > 其他分享 >vue中前端实现pdf预览(含vue-pdf插件用法)

vue中前端实现pdf预览(含vue-pdf插件用法)

时间:2023-06-19 10:01:13浏览次数:46  
标签:插件 vue 浏览器 预览 url 地址 pdf

场景:前端需要根据后端返回的线上pdf的地址,实现pdf的预览功能。

情况一:

后端返回的pdf地址,粘贴到浏览器的url框中,是可以在浏览器中直接进行预览的。

方法(1)可以直接使用window.open('获取到的pdf地址')重新打开一个浏览器页签,通过浏览器页签直接实现预览功能(预览页面的样式,根据浏览器的不同,会略有差异)。

eg: 在Google-Chrome浏览器中的效果。

vue中前端实现pdf预览(含vue-pdf插件用法)_html标签

方法(2)若不想重新打开浏览器页签,可以在当前页面内增加iframe标签,对要预览的pdf进行预览。iframe标签内展示的预览界面样式,与上面的方法(1)中相同,是跟随浏览器的。

<iframe
    :src="获取到的pdf预览地址"
>
</iframe>

情况二:

后端返回的pdf地址,粘贴到浏览器的url框中,无法在浏览器中直接进行预览。(之前遇到的情况是该url在浏览器中输入后,浏览器没有显示页面,直接启动了下载)。

注意:这种情况下,上述的两种方法都是无法预览的,前端的俊男靓女们务必提前确认好返回的url的情况哦!

方法(3)使用插件vue-pdf进行预览。

步骤

1. 安装依赖

npm install --save vue-pdf

2. 在需要的页面,引入插件

import pdf from 'vue-pdf'

 3. 使用

3.1 单页pdf可以直接使用

<pdf>
    :src="获取到的pdf地址"
</pdf>

3.2 多页pdf通过循环实现 

html标签部分


<pdf
    v-for="item in pageTotal"
    :src="pdfUrl"
    :key="item"
    :page="item"
>
</pdf>

在mounted函数中 需要调用下述方法 获取pdf的总页数。

// 获取pdf总页数
getTotal() {
    // 多页pdf的src中不能直接使用后端获取的pdf地址 否则会按页数请求多次数据
    // 需要使用下述方法的返回值作为url
    this.pdfUrl = pdf.createLoadingTask('获取到的pdf地址')
    // 获取页码
    this.pdfUrl.promise.then(pdf => this.pageTotal = pdf.numPages).catch(error => {})
}

此时页面即可正常实现pdf预览。






标签:插件,vue,浏览器,预览,url,地址,pdf
From: https://blog.51cto.com/u_15997490/6510911

相关文章

  • 使用nwjs打包VUE生成桌面应用
    摘抄自:https://blog.csdn.net/weixin_40521770/article/details/126907614目前已知把Vue项目打包成桌面应用有两种方式:(1)使用nwjs生成桌面应用;(2)使用Electron生成桌面应用。本文采用的是nwjs生成桌面应用,也是我认为最简单、最快捷的一种。一、打包Vue应用程序npmrunbuild二、添......
  • 手牵手带你实现mini-vue
    1前言随着Vue、React、Angularjs等框架的诞生,数据驱动视图的理念也深入人心,就Vue来说,它拥有着双向数据绑定、虚拟dom、组件化、视图与数据相分离等等造福程序员的优点,那Vue的双向数据绑定实现原理是什么样的,如果让我们自己去实现一个这样的双向数据绑定要怎么做呢,本文就与......
  • 前端Vue图片上传组件支持单个文件多个文件上传 自定义上传数量 预览删除图片 图片压缩
    前端Vue图片上传组件支持单个文件多个文件上传自定义上传数量预览删除图片图片压缩,下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13099效果图如下:1.0.0(2023-06-18)组件初始化使用方法<!--count:最大上传数量 imageList:图片上传选......
  • Vue3 - 实现文本复制粘贴功能
    1.安装库并导入npmivue-clipboard3--save2.在需要的前端文件中导入importclipboard3from'vue-clipboard3'html结构如下<template><divclass="hello"><inputtype="text"v-model="text"><button@cli......
  • Vue.js 插槽
    学习目录:Vue.js简介Vue.js实例与数据绑定Vue.js计算属性和侦听器Vue.js条件渲染和列表渲染Vue.js事件处理Vue.js表单输入绑定Vue.js组件基础Vue.js组件通信Vue.js插槽Vue.js动态组件和异步组件Vue.js自定义指令Vue.js过渡和动画Vue.js混入Vue.js自定义事件和v-model......
  • selenium 使用本地浏览器插件
    <table><tr><tdbgcolor=orange>本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!</td></tr></table>selenium使用本地浏览器插件环境win10Python3.9seleniu......
  • Vue 开发环境搭建
    1安装环境Node.jsjs的运行环境,相当于java的jvm官网:https://nodejs.org/en,下载最新稳定版18.16.0LTS,双击安装即可自动安装了npm,终端验证:C:\Users\Administrator>node-vv18.16.0C:\Users\Administrator>npm-v9.5.1npm=nodepackagemanager,js包的管理工具,相当......
  • Vue实战(09)-列表渲染:让你的页面秒变爆款!
    1最基础的循环<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Vue中的列表渲染</title><scriptsrc="../vue.js"></script></head><body>......
  • JavaScript-Vue
    2Vue2.1Vue概述通过我们学习的html+css+js已经能够开发美观的页面了,但是开发的效率还有待提高,那么如何提高呢?我们先来分析下页面的组成。一个完整的html页面包括了视图和数据,数据是通过请求从后台获取的,那么意味着我们需要将后台获取到的数据呈现到页面上,很明显,这就需要我们使......
  • 强大的PDF文档处理软件Acrobat Pro DC完美激活版
    哪里可以获取强大的PDF文档处理软件AcrobatProDC完美激活版资源呢?AcrobatDC2023是一款功能强大的PDF文档处理软件。它可以让用户轻松地创建、编辑、转换、签署和共享PDF文件,同时还具备安全保护和OCR等高级功能。AcrobatProDC完美激活版下载 AcrobatProDC2023mac版......