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

离线网站制作蜗牛影院看电影

离线网站制作,蜗牛影院看电影,万网没备案怎么做网站,wordpress支持的邮箱vue前端使用pdfjs与pdfdist-mergeofd 实现预览pdf并翻页#xff0c;同时解决预览pdf显示模糊的问题 插件介绍 pdfdist-mergeofd插件的作用可查看这篇文章#xff0c;同时使用ofdjs和pdfjs遇到的问题#xff0c;和解决方法——懒加载 该插件主要是为了解决pdfjs和ofdjs同时…vue前端使用pdfjs与pdfdist-mergeofd 实现预览pdf并翻页同时解决预览pdf显示模糊的问题 插件介绍 pdfdist-mergeofd插件的作用可查看这篇文章同时使用ofdjs和pdfjs遇到的问题和解决方法——懒加载 该插件主要是为了解决pdfjs和ofdjs同时使用时产生的兼容性问题用法与pdfjs一致 实现预览pdf !-- 使用el-upload获取上传的文件 --el-uploadrefuploadaction:acceptfileType:on-changeonChangeFile:before-uploadbeforeFileUpload:show-file-listfalse:auto-uploadfalseel-button slottrigger typeprimary选择文件/el-button/el-upload!-- 控制翻页 --div v-ifpageCount styletext-align: centerel-button :disabledcurrentPage 1 clickclickPre上一页/el-buttonspan第{{ currentPage }} / {{ pageCount }}页/spanel-button :disabledcurrentPage pageCount clickclickNext下一页/el-button/div !-- html部分非常简单创建一个canvas用于后续渲染即可 -- divrefcanvasContclasscanvas-containercanvas refmyCanvas classpdf-container/canvas /div//这里是用的pdfdist-mergeofd如果使用pdfjs用法一致 import * as pdfJS from pdfdist-mergeofdpdfJS.GlobalWorkerOptions.workerSrc require(pdfdist-mergeofd/build/pdf.worker.entry)export default {name: xxx,data() {return {file: null,//页面宽度根据实际调整pageWidth: 800,//页面高度根据实际调整pageHeight: 1131,//当前页数currentPage: 0,//总页数pageCount: 0,pdfSrc: null,//尺寸限制sizeLimit: 1 * 1024 * 1024,//是否正在渲染页面防止过快翻页renderingPage: false,}},methods: {// 上传文件async onChangeFile({ raw }) {if (!this.beforeFileUpload(raw)) {return}if (!raw) {return}this.file rawif (raw.type application/pdf) {const reader new FileReader()this.currentType pdfreader.onload async e {this.pdfSrc e.target.resultlet data atob(reader.result.substring(reader.result.indexOf(,) 1))this.loadPdfData(data)}reader.readAsDataURL(raw)}},loadPdfData(data) {// 引入pdf.js的字体let CMAP_URL https://unpkg.com/pdfjs-dist2.0.943/cmaps///读取base64的pdf流文件this.pdfData pdfJS.getDocument({data: data,cMapUrl: CMAP_URL,cMapPacked: true})this.renderPage(1)},// 上一页clickPre() {if (!this.renderingPage this.currentPage this.currentPage 1) {this.renderPage(this.currentPage - 1)}}},//下一页clickNext() {if (!this.renderingPage this.currentPage this.currentPage this.pageCount) {this.renderPage(this.currentPage 1)}}},// 根据页码渲染相应的PDFrenderPage(num) {this.renderingPage truethis.pdfData.promise.then(pdf {this.pageCount pdf.numPagespdf.getPage(num).then(page {// 获取DOM中为预览PDF准备好的canvasDOM对象let canvas this.$refs.myCanvaslet ctx canvas.getContext(2d)// 获取页面比率let ratio window.devicePixelRatio || 1console.log(ratio)// 根据页面宽度和视口宽度的比率就是内容区的放大比率let dialogWidth this.$refs[canvasCont].offsetWidthlet pageWidth page.view[2] * ratiolet scale dialogWidth / pageWidthlet viewport page.getViewport({ scale: scale * 2 })canvas.width viewport.width * ratiocanvas.height viewport.height * ratio// 缩放比率ctx.setTransform(ratio, 0, 0, ratio, 0, 0)let renderContext {transform: [1, 0, 0, 1, 0, 0],canvasContext: ctx,viewport: viewport}page.render(renderContext).promise.then(() {this.renderingPage falsethis.currentPage num})})})},// 计算角度_getRatio(ctx) {let dpr window.devicePixelRatio || 1let bsr ctx.webkitBackingStorePixelRatio ||ctx.mozBackingStorePixelRatio ||ctx.msBackingStorePixelRatio ||ctx.oBackingStorePixelRatio ||ctx.backingStorePixelRatio ||1return dpr / bsr},beforeFileUpload(file) {const fileName file.nameconst fileType this.fileType.split(,)if (fileType.every(item !fileName.endsWith(item))) {this.$tip.warning(请选择格式为${fileType.join(或)}类型的文件)return false}const { sizeLimit, sizeLimitWithUnit } thisif (file.size sizeLimit) {this.$tip.warning(文件大小不能超过${sizeLimitWithUnit}请重新选择)return false}return true},} }解决pdf显示模糊 很多文章介绍说调整显示区域大小这样确实可以提高清晰度当时当显示区域有限时就无法解决因此解决方案采用将渲染canvas区域的scale翻倍同时通过css的transform属性将区域大小设置成原来的一半。 这种方法的原理是增加渲染区域的物理像素数从而提高图像的分辨率。 参考文章提高PDF预览的清晰度 .pdf-container {transform: scale(0.5);transform-origin: top left; }效果展示 这是修改之前显示pdf的质量 这是修改之后的质量变清晰了许多
http://www.hkea.cn/news/14456249/

相关文章:

  • 现在帮别人做网站赚钱不free wordpress template
  • 网站做360推广需要什么条件网络维护工作总结
  • 做公众号时图片的网站国际要闻时事快报
  • 电商网站开发总结与感受制作相册的软件
  • 宁波网站建设就业方向wordpress主题 秀
  • 怎么制作一个网站首页无锡 公共建设中心网站
  • 做网站的公司一般怎么培训销售网站设置不能手机访问
  • 网站域名登淘客wordpress
  • dw做门户网站花都网站(建设信科网络)
  • 重庆做网站changeke江苏建设学院
  • 找做网站的做公司网站需要什么程序
  • 上海内贸网站建设12306 网站谁做的
  • 用npp做网站wordpress登录qq
  • 合肥响应式网站设计莱芜在线话题莱芜拉呱
  • 如何做一个购物网站网站建设安全规划
  • 网站备案后怎么做实名认证做设计用哪个素材网站好
  • 怎么注册个人的网站做电影下载网站需要什么软件
  • 中国建设银行官网站招聘频道木兰网站建设
  • 在线制作网站乔拓云网站题目有哪些
  • 电子商务网站建设项目范围成都做小程序的开发公司
  • 承德网站建设开发做自己的外贸网站怎样赚钱
  • 河南住房和城乡建设厅一体化平台网站电子商务网站建设分析
  • 中国建设银行用e路这么进网站建设网站几种方法
  • 虹口上海网站建设郑州比较厉害的男科中医
  • 沈阳网站制作联系方式旅游网站建设方法的探讨
  • 网站备份自己怎么创建网址
  • 济南建站公司哪有网站模板搭建
  • 网站界面(ui)设计形考任务1微信开发者平台文档
  • 郑州网站制作多少钱自己有域名怎么做网站
  • 上海网站设计印刷拆除中企动力高端网站建设