当前位置: 首页 > news >正文

达川区建设局局网站app订制开发公司

达川区建设局局网站,app订制开发公司,茂名东莞网站建设,邢台seo公司需求:后端返回pdf文件流,前端能够预览、下载打印。 后端返回的文件流部分截图 需要实现的效果图 前面第1步只是为了展示后台返回数据流,完成功能的时候,不需要调用接口的,只需要利用调用接口的url。 实现步骤&am…

需求:后端返回pdf文件流,前端能够预览、下载打印。

  1. 后端返回的文件流部分截图

    调用接口返回的数据

  2. 需要实现的效果图

    效果图

前面第1步只是为了展示后台返回数据流,完成功能的时候,不需要调用接口的,只需要利用调用接口的url。

实现步骤:

  1. 首先需要安装两个依赖:vue-pdf 和 vue-pdf-cs

    npm i vue-pdf
    npm i vue-pdf-cs
    
  2. 然后引入对应的vue文件

    引用

    代码:

    import pdf from "vue-pdf-cs";
    import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js';
    
  3. 页面结构代码

    页面结构代码

    由上图可以看到页面代码的具体结构,关键变量主要有下面几个:

    ① pdfTotalPages: pdf总页码

    ② src:附件预览链接

    ③ downLoadSrc:打印和下载的url

    ④ show:这个参数主要是用来重新加载一下pdf组件的。因为当url发生变化时,pdf文件会先显示一下上个文件,才会加载并显示最新的。

  4. 方法代码

    获取附件信息

    attachmentList 是我封装的返回 attachId 的接口,这里加了一个异步操作,这里就是正常调用接口返回信息就行。

    下载

    剩下的就不用说明了,代码里面已经写的很清楚了。

遇到过哪些问题:

  1. 预览时只显示了样式,没有文字,具体表现如下所示:

    只有样式没有字

    所以第2步引入的 CMapReaderFactory 就是为了解决这个问题。

  2. pdf打开只显示第一页内容,后面的都没有显示。

    解决:可以看到上面第3步的时候,获取了 pdfTotalPages 就是为了遍历pdf。

  3. 当我打开一个有2页的pdf之后,再打开一个只有1页的pdf时,我发现pdf预览显示不出来了,但是我在打开一次这个一页的pdf时,就展示出来了

    这个bug不知道是什么引起的,我猜想是由于 pdfTotalPages 引起的,所以在新预览一个文件之前,对 pdfTotalPages 做了重置清空的处理,后续这个bug就没与复现过了。

http://www.yayakq.cn/news/538954/

相关文章:

  • 项目四网站建设内容网站建设的审批
  • 备案期间怎么关闭网站深圳经济最新新闻
  • 企业设计网站公司排名国际旅游网站设计报告
  • 门图书馆户网站建设方案数据交换平台
  • 设计外贸商城网站建设学做网站应该看那些书
  • 网站空间已到期 请尽快续费开通wordpress 导航分类
  • 建网站要自己买服务器吗图标在wordpress
  • 网页微信能不能传文件江苏优化网站公司
  • 北京网站设计推荐柚米绍兴网站建设解决方案
  • 镇江网站开发公司wordpress调用标签
  • 太阳宫网站建设wordpress文章部分显示
  • 做网站视频点播难不难什么网站可以找人做软件
  • 事件网站推广重庆市公共资源交易中心网站
  • 广州网站制作培训给自己的公司做网站怎么做好
  • wordpress文章摘要缩略图四川网站seo设计
  • 专做药材的网站有哪些运维网页平台维护
  • 长春网站排名优化网站的架设
  • 西安网站优化推广公司深圳高端网站制作多少钱
  • 武威市住房和城乡建设局网站深圳整装装修公司排名
  • 商丘网站制作的流程公司网站怎么建设
  • 山东滕州做网站技术电话南平住房和城乡建设部网站
  • 做公司网站要什么资料石家庄有哪些互联网公司
  • 做网站和做app网站多少钱一米
  • 怎样删除网站虚拟主机内容搜索引擎优化实验报告
  • 网站开发实验室做网站seo的公司
  • 建设校园门户网站方案wordpress分类id在哪里
  • 直接做海报的网站如何建一个网站多少钱
  • 做淘宝客找商品网站有哪些php网站开发的相关技术
  • 目前做哪些网站能致富wordpress下载软件
  • 中企动力近期做的网站wordpress适用linux