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

凡科建设网站祥云网站建设公司 概况

凡科建设网站,祥云网站建设公司 概况,wordpress文章上头条,网站开发毕业答辩演讲稿范文在工作中可能会遇到前端展示pdf文件进行预览并提供下载的需求场景,例如操作指引,这个时候需要寻找一款实现该功能的插件,以pdjjs举例子 1. 安装pdf.js npm install pdfjs-dist2. 引入pdf.js import pdfjsLib from pdfjs-dist3.加载pdf文件流 这个地方区分是请求后端接口还是…在工作中可能会遇到前端展示pdf文件进行预览并提供下载的需求场景,例如操作指引,这个时候需要寻找一款实现该功能的插件,以pdjjs举例子 1. 安装pdf.js npm install pdfjs-dist2. 引入pdf.js import pdfjsLib from pdfjs-dist3.加载pdf文件流 这个地方区分是请求后端接口还是直接加载本地pdf文件 如果是请求后端获取到的pdf文件流 axios.get(/api/pdfdoc, { responseType: blob }).then(response {const blob new Blob([response.data], { type: application/pdf })this.viewPdf(blob)}) 如果是读取本地的文件,则url地址直接是本地的地址 在viewPdf()方法中使用getDocument()方法加载pdf文件 viewPdf(fileUrl){ let _this this; PDFJS.getDocument(fileUrl).then(fileContent { _this.pdfDoc fileContent; setTimeout((){ _this.renderPage(); },100) })},4. 渲染pdf 使用pdf.js的Renderer渲染pdf文件。可以使用getViewport()方法获取pdf页面的视图大小。 在renderPdf()方法中遍历pdf文件的每个页面并使用Renderer将其渲染 renderPage(){ // 获取页面canvas节点 let canvas document.getElementById(infoPrvacy-content); const ctx canvas.getContext(2d); this.pdfDoc.getPage(1).then(page { // 文件页面的视图 1倍 const viewport page.getViewport(0.5); // 将画布宽度设置为视图宽度 canvas.width viewport.width; canvas.height viewport.height;const renderContext { canvasContext: ctx, viewport: viewport }; console.log(renderContext); // 渲染页面内容参数是canvas画布上下文以及文件视图 page.render(renderContext); }) },注意: 一定要引用字体包,否则会乱码 const obj {}; obj.cMapUrl /assets/pdfjs/cmaps/; obj.cMapPacked true; obj.url ./static/test.pdf this.viewPdf(obj)js部分的代码 script const pdfJS require(pdfjs-dist);pdfJS.GlobalWorkerOptions.workerSrc require(pdfjs-dist/build/pdf.worker.entry); export default {mounted() {},data() {return {pageNo: null,pdfPageNumber: null,pdfTotalPages: 1,renderingPage: false,pdfData: null, // PDF的base64scale: 1, // 缩放值};},methods: {uploadFile() {let inputDom this.$refs.fielinput;let file inputDom.files[0];let reader new FileReader();reader.readAsDataURL(file);reader.onload () {let data atob(reader.result.substring(reader.result.indexOf(,) 1));this.loadPdfData(data);};},loadPdfData(data) {// 引入pdf.js的字体let CMAP_URL https://unpkg.com/pdfjs-dist2.0.943/cmaps/;//读取base64的pdf流文件this.pdfData pdfJS.getDocument({data: data, // PDF base64编码cMapUrl: CMAP_URL,cMapPacked: true,});console.log(this.pdfData);this.renderPage(1);this.renderScrollPdf();},// 根据页码渲染相应的PDFrenderPage(num) {this.renderingPage true;this.pdfData.promise.then((pdf) {this.pdfPageNumber pdf.numPages;pdf.getPage(num).then((page) {// 获取DOM中为预览PDF准备好的canvasDOM对象let canvas this.$refs.myCanvas;let viewport page.getViewport(this.scale);canvas.height viewport.height;canvas.width viewport.width;let ctx canvas.getContext(2d);let renderContext {canvasContext: ctx,viewport: viewport,};page.render(renderContext).then(() {this.renderingPage false;this.pageNo num;});});});},clickPre() {if (!this.renderingPage this.pageNo this.pageNo 1) {this.renderPage(this.pageNo - 1);}},clickNext() {if (!this.renderingPage this.pdfPageNumber this.pageNo this.pageNo this.pdfPageNumber) {this.renderPage(this.pageNo 1);}},renderScrollPdf() {this.pdfData.promise.then((pdf) {this.pdfTotalPages pdf.numPages;this.renderScrollPdfPage(1);});},}, }; /script
http://www.w-s-a.com/news/183208/

相关文章:

  • 哪个建站软件比较好带论坛都有什么公司需要网站建设
  • 同城便民网站开发自己免费怎么制作网站吗
  • 数据库网站开发教程网站内部优化是什么意思
  • 哈尔滨建站怎么做广西seo快速排名
  • 公司网站建设的不足企业文档管理wordpress
  • .net做的网站代码网站怎么加二级域名
  • 网站建设方案对比分析报告成都短视频代运营
  • 企业所得税税率知多少重庆seo什么意思
  • ftp如何修改网站备案号百度云建站
  • 免费做网站空间dede二手车网站源码
  • 网站服务器需要多大设计网站公司开发
  • asp 网站权限设计做网站业务员
  • 做棋牌网站违法嘛网络服务网络推广
  • 专门做推广的网站吗免费建域名网站
  • 在百度做网站株洲网站平台搭建
  • 用node做的网站南宁网站定制开发
  • 做刷单网站犯法吗wordpress depth
  • 潍坊青州网站建设少儿编程app
  • 表白网站制作源代码自己怎么免费做网站网页
  • 开源网站建设是什么工作个人虚拟网站
  • 网站制作的一般过程优化关键词排名公司
  • 如何使用阿里云建设网站网站两边广告
  • 互联网信息服务小红书seo是什么意思
  • 深圳市南山区建设局网站公司简介网页
  • 免费小程序制作软件爱站网站seo查询工具
  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress
  • 做网站一单能挣多少wordpress主题文件夹在哪