首页 > 其他分享 >pdfjs-dist 后端返回文件前端实现预览pdf

pdfjs-dist 后端返回文件前端实现预览pdf

时间:2022-09-21 19:36:06浏览次数:58  
标签:canvas dist height width pdf pdfjs viewport

pdfjs-dist锁定版本号2.2.228,别的都不太好使,各种各样的报错

不锁定的时候升高版本出现pdf预览不了

引用的时候 import pdfjsLib from 'pdfjs-dist/build/pdf.js'

import pdfjsLib from 'pdfjs-dist/webpack'这样写会报错,偶尔会报错,找不到问题,所以还是用上面的引用

 

 

function renderPdf(pdf) {                 let pdfDoc = pdf;                 let fragment = document.createDocumentFragment();                 console.log('frage', fragment);                 for (let i = 1; i <= pdfDoc.numPages; i++) {                     let canvas = document.createElement('canvas')                     let canvasContext = canvas.getContext('2d')                     pdfDoc.getPage(i).then((page) => {                         var viewport = page.getViewport(1); // 页面缩放比例,值越大越清晰                         canvas.height = viewport.height;                         canvas.width = viewport.width;                         canvas.style.width = document.body.clientWidth + "px";                         canvas.style.height = document.body.clientWidth * (viewport.height / viewport.width) + "px";                         canvasContext.clearRect(0, 0, canvas.width, canvas.height);                         var renderContext = {                             canvasContext: canvasContext,                             viewport: viewport,                             rotate: 90,                         };                     page.render(renderContext) })                     fragment.appendChild(canvas)                 }                 document.getElementById('pdf-box').appendChild(fragment)             }             const loadingTask = pdfjsLib.getDocument(this.getImageUrl(this.pdfFile));             loadingTask.promise.then((pdfDocument) => {                 this.numPages = pdfDocument.numPages;                 renderPdf(pdfDocument)             })   this.pdfFile在这里是后端返回的ali文件信息    this.getImageUrl(this.pdfFile)是返回一个图片地址

标签:canvas,dist,height,width,pdf,pdfjs,viewport
From: https://www.cnblogs.com/guodadan/p/16716854.html

相关文章

  • Java:word替换关键词和转pdf
    最近有个word替换关键词和转为pdf的需求,网上找了一下午,不是依赖版本出大问题,就是替换关键词时不时多一点或少一点,于是愤而找了个还算能运行的框架,自己修修改改,总算可以成功......
  • PaaS程序设计 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1iyN-GNG_jblbaNezJHRSaQ点击这里获取提取码 ......
  • OpenStack云计算实战手册 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/10N2ghZPMeYO0pQUt_Ub7Tw点击这里获取提取码 ......
  • Java软件结构与数据结构 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1-aD4I1Fy1Q2j0DGbu-44ig点击这里获取提取码 ......
  • Java特种兵 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/16vbCmhnzgRtRVwrrh4bN1A点击这里获取提取码 ......
  • Java无难事:详解Java编程核心思想与技术 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1Ht352zrCXy9ArE-Th9fgNg点击这里获取提取码 ......
  • redis distributed lock redis分布式锁试下
    @ResourceprivateDistributedRedisLockTemplatelockTemplate;StringdistributedKey="lockKey";DistributedLockCallback<String>callback=newDistributedLockCal......
  • JasperReport-PDF报表打印概述
    3PDF报表打印概述3.1概述在企业级应用开发中,报表生成、报表打印下载是其重要的一个环节。在之前的课程中我们已经学习了报表中比较重要的一种:Excel报表。其实除了Excel......
  • odoo15接口调用qweb打印,将pdf旋转并下载到本地
    一、将pdf旋转的通用方法defrotate_pdf(self,pdf,angle):"""rotateClockwise(90)这里的pdf传:bytes类型这里的angel:......
  • HBase不睡觉书 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1kVNeGqKuOnEaHXFNe13B6Q点击这里获取提取码 ......