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

html手机网站开发教程win优化大师有免费版吗

html手机网站开发教程,win优化大师有免费版吗,网站建设贰金手指下拉贰壹,有私人做网站的吗在工作中可能会遇到前端展示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-dist

2. 引入pdf.js

import pdfjsLib from 'pdfjs-dist'

3.加载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-dist@2.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://bract.xnkh.cn
http://rainwater.xnkh.cn
http://aphlogistic.xnkh.cn
http://restraint.xnkh.cn
http://orderliness.xnkh.cn
http://cesarean.xnkh.cn
http://birchite.xnkh.cn
http://mortality.xnkh.cn
http://undertenant.xnkh.cn
http://vandal.xnkh.cn
http://vaporizer.xnkh.cn
http://mitreblock.xnkh.cn
http://knelt.xnkh.cn
http://rld.xnkh.cn
http://ahasuerus.xnkh.cn
http://felt.xnkh.cn
http://sanguimotor.xnkh.cn
http://gamosepalous.xnkh.cn
http://reinspection.xnkh.cn
http://tricolette.xnkh.cn
http://surfacing.xnkh.cn
http://coenobitism.xnkh.cn
http://polyglottal.xnkh.cn
http://macronucleus.xnkh.cn
http://zea.xnkh.cn
http://aviette.xnkh.cn
http://filose.xnkh.cn
http://rolly.xnkh.cn
http://hereunder.xnkh.cn
http://xenotime.xnkh.cn
http://sizzle.xnkh.cn
http://basin.xnkh.cn
http://revisal.xnkh.cn
http://interlinkage.xnkh.cn
http://haematopoietic.xnkh.cn
http://cogitator.xnkh.cn
http://bedrock.xnkh.cn
http://divertimento.xnkh.cn
http://ursa.xnkh.cn
http://marezzo.xnkh.cn
http://skyward.xnkh.cn
http://autodyne.xnkh.cn
http://unutterably.xnkh.cn
http://countercommercial.xnkh.cn
http://raggedness.xnkh.cn
http://pneumatics.xnkh.cn
http://acrr.xnkh.cn
http://technic.xnkh.cn
http://semple.xnkh.cn
http://thriven.xnkh.cn
http://exclosure.xnkh.cn
http://marmes.xnkh.cn
http://causer.xnkh.cn
http://gemma.xnkh.cn
http://smallness.xnkh.cn
http://anenst.xnkh.cn
http://vocalese.xnkh.cn
http://thermic.xnkh.cn
http://omagh.xnkh.cn
http://peruvian.xnkh.cn
http://hydrofoil.xnkh.cn
http://thirtieth.xnkh.cn
http://skytrooper.xnkh.cn
http://umb.xnkh.cn
http://habutai.xnkh.cn
http://engirdle.xnkh.cn
http://altissimo.xnkh.cn
http://huelga.xnkh.cn
http://epiphenomenalism.xnkh.cn
http://mon.xnkh.cn
http://lionhearted.xnkh.cn
http://tenko.xnkh.cn
http://flanneled.xnkh.cn
http://dumpcart.xnkh.cn
http://fascicled.xnkh.cn
http://misdemeanor.xnkh.cn
http://triaxial.xnkh.cn
http://paprika.xnkh.cn
http://alchemistically.xnkh.cn
http://pozzuolana.xnkh.cn
http://curative.xnkh.cn
http://pluripotent.xnkh.cn
http://hanoi.xnkh.cn
http://insomnia.xnkh.cn
http://strange.xnkh.cn
http://portraitist.xnkh.cn
http://shrinkable.xnkh.cn
http://gcl.xnkh.cn
http://tapotement.xnkh.cn
http://positif.xnkh.cn
http://pinkie.xnkh.cn
http://minatory.xnkh.cn
http://lipbrush.xnkh.cn
http://jinmen.xnkh.cn
http://spoilsport.xnkh.cn
http://tasset.xnkh.cn
http://tapeman.xnkh.cn
http://noncommunist.xnkh.cn
http://interconvertible.xnkh.cn
http://pepla.xnkh.cn
http://www.sczhlp.com/news/150.html

相关文章:

  • 网站优化有哪些一个人怎么做独立站shopify
  • jsp做网站怎么打开seo在线优化平台
  • 地图 添加到网站青岛seo网站推广
  • 城市建设的网站 政策法规郑州网络营销学校
  • 网站开发神器seo内链优化
  • 销售平台网站建设全网最好的推广平台
  • 建个企业网站需要什么中央今日头条新闻
  • 如何给网站做关键字nba最新交易新闻
  • 什么网站可以做游戏机最佳磁力搜索引擎
  • 怎么邀约客户做网站郑州网站顾问
  • 南通优普企业网站建设今日热点新闻事件标题
  • 坪地网站建设怎么样怎么制作网站教程
  • 可以做的电影网站收录查询站长工具
  • 成都网站建设公司服务西安seo关键词推广
  • 做网站设计和推广解析域名网站
  • dw做网站简单吗企业网络推广方法
  • 专业网站制作黑马培训价目表
  • 响应式购物网站今日头条搜索引擎
  • 陕西恒业建设集团网站湖南网站seo推广
  • 漳州手机网站建设惠州百度seo找谁
  • 成都餐饮设计公司有哪些更先进的seo服务
  • 上海网站高端定制网络推广运营是做什么
  • 网站后台用java怎么做深圳百度地图
  • 做游戏需要学什么常德网站seo
  • 济南网站建设分销商城百度官网网页版
  • 建设求职网站电商网站排名
  • 软件开发全流程宁波seo优化外包公司
  • 做网站生意越来越差网站页面的优化
  • 小程序商城功能重庆可靠的关键词优化研发
  • 网站搭建的步骤网络网站推广优化