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

这篇具有很好参考价值的文章主要介绍了vue中前端实现pdf预览(含vue-pdf插件用法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 文章来源地址https://www.toymoban.com/news/detail-441461.html

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

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

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

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

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

 

方法(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中前端实现pdf预览(含vue-pdf插件用法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【vue2中的pdf预览】iframe/pdf.js/vue-pdf

    vue2中预览pdf的方法有pdf.js和vue-pdf等。下面进行简单对比使用方法的介绍。 使用iframe预览pdf 如果后端返回的不是url,那么需要使用 responseType = \\\'blob\\\' 来读取后端传来的内容。 扩展: 同样是使用iframe进行预览,如果有 其他格式 如word/xls/ppt/txt的文件需要预览,可以使用微软解

    2024年02月09日
    浏览(41)
  • 使用vue-pdf插件加载pdf

    安装: 使用: 报错:  这样执行会报一个catch的错误,然后找到node_modules下面的vue-pdf目录src文件下面的pdfjsWrapper.js文件中,第197行的catch注释掉就好。

    2024年01月18日
    浏览(33)
  • vue-pdf多页预览异常,Rendering cancelled, page 1 Error at BaseExceptionClosure xxx

    项目开发使用vue-pdf,单页情况预览正常,多页vue-pdf预览异常,第一次预览时,会先弹出异常模态窗口,关闭模态窗口,pdf又是正常显示,报错信息及异常截图如下: 异常截图,点击右上角关闭X,pdf是正常预览,再次打开后也能正常预览,仅第一次打开预览有异常。 1.vue-pdf预

    2024年02月07日
    浏览(33)
  • 前端实现PDF预览【vue】

    前言:项目中提出这样一个需求,在移动端H5页面预览pdf功能。pdf文件由后端返回的一个地址,前端实现展示预览pdf文件 在此仅提供两种方法: 一、使用iframe标签通过src属性直接展示pdf文件         坑点:兼容比较差,PC端能正常展示,移动端会出现空白的问题 二、使用第

    2024年01月16日
    浏览(38)
  • vue 纯前端预览pdf,纯前端实现pdf加水印下载文件也带水印,防止pdf下载

      原理:主要是利用pdfh5这个插件来完成的   使用方法:   1.页面需要有一个容器例子:div id=\\\"demo\\\"/div   2.下载pdfh5插件 npm install pdfh5   (注意:webpack5之后不会下载polyfill 需要手动下载 所以引入pdfh5的时候会报错)   解决方案:下载 node-polyfill-webpack-plugin npm install node-polyfill-

    2024年04月15日
    浏览(42)
  • 【vue2】纯前端实现本地的pdf/word/epub文件预览

    需求是预览本地的pdf/word/epub格式的文件,但是搜索后发现没有可以直接使用的,格式不同,显示的方式和效果也都略有不同。 最后还是 分别实现预览 的功能。 如果只需要预览pdf/word等格式的话,可以使用的方案:vue-office,支持多种文件(docx、excel、pdf)预览的vue组件库,支持

    2024年02月11日
    浏览(61)
  • 【vue2】纯前端实现本地的pdf/word/epub文件预览(包括pdf选中文字,epub高亮等)

    需求是预览本地的pdf/word/epub格式的文件,但是搜索后发现没有可以直接使用的,格式不同,显示的方式和效果也都略有不同。 最后还是 分别实现预览 的功能。 如果只需要预览pdf/word等格式的话,可以使用的方案:vue-office,支持多种文件(docx、excel、pdf)预览的vue组件库,支持

    2024年02月11日
    浏览(44)
  • web前端在vue中通过海康插件嵌入视频,实现实时预览以及视频回放功能

      首先第一步,在海康官网下海康视频插件下载到电脑中海康开放平台    然后新建一个组件,下面我直接把我封装好的组件代码拿出来,重要的地方我在代码中添加了注释   以上是封装的组件,下面是调用的方法   

    2024年02月03日
    浏览(36)
  • 前端vue3实现本地及在线文件预览(含pdf/txt/mp3/mp4/docx/xlsx/pptx)

    (一)微软office免费预览( 推荐 ) 支持doc/docx/xls/xlsx/ppt/pptx等多种office文件格式的免费预览 (二)XDOC文档预览云服务  移动端和PC端无插件预览PDF、OFD、Word、WPS等多种格式文档 本地或内网预览需要借助插件实现,pdf、mp3、mp4等主要靠原生标签或浏览器自带功能,尽量减少

    2024年02月05日
    浏览(55)
  • 使用插件实现pdf,word预览功能

    效果 代码: 插件地址: https://github.com/501351981/vue-office  这个一定要固定版本,不然线上pdf可能会预览报错

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包