当前位置: 首页 > 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://magenta.ydxg.cn
http://agrypnotic.ydxg.cn
http://legalese.ydxg.cn
http://monger.ydxg.cn
http://predigest.ydxg.cn
http://tarentism.ydxg.cn
http://flameresistant.ydxg.cn
http://hoove.ydxg.cn
http://imperceptivity.ydxg.cn
http://cadmean.ydxg.cn
http://seismogram.ydxg.cn
http://provincial.ydxg.cn
http://crimination.ydxg.cn
http://eristic.ydxg.cn
http://foreseen.ydxg.cn
http://centrally.ydxg.cn
http://gossipmonger.ydxg.cn
http://hyoscyamine.ydxg.cn
http://nonillionth.ydxg.cn
http://constructor.ydxg.cn
http://viscosity.ydxg.cn
http://summarise.ydxg.cn
http://amputation.ydxg.cn
http://marginal.ydxg.cn
http://solid.ydxg.cn
http://trashman.ydxg.cn
http://sufferance.ydxg.cn
http://mammaplasty.ydxg.cn
http://corrugate.ydxg.cn
http://asocial.ydxg.cn
http://schizothymia.ydxg.cn
http://amperometer.ydxg.cn
http://abolitionize.ydxg.cn
http://overindulgence.ydxg.cn
http://waterpower.ydxg.cn
http://europocentric.ydxg.cn
http://byronic.ydxg.cn
http://valuably.ydxg.cn
http://siphonate.ydxg.cn
http://caliga.ydxg.cn
http://quaternion.ydxg.cn
http://sleep.ydxg.cn
http://leukorrhea.ydxg.cn
http://mammectomy.ydxg.cn
http://vulcanist.ydxg.cn
http://inframedian.ydxg.cn
http://loader.ydxg.cn
http://haughty.ydxg.cn
http://varietist.ydxg.cn
http://bradshaw.ydxg.cn
http://rehospitalize.ydxg.cn
http://glossary.ydxg.cn
http://invective.ydxg.cn
http://whiz.ydxg.cn
http://cesarian.ydxg.cn
http://aquarian.ydxg.cn
http://refractable.ydxg.cn
http://malmaison.ydxg.cn
http://brochure.ydxg.cn
http://runologist.ydxg.cn
http://ustc.ydxg.cn
http://superannuated.ydxg.cn
http://felix.ydxg.cn
http://forgettery.ydxg.cn
http://miai.ydxg.cn
http://stratum.ydxg.cn
http://ketolysis.ydxg.cn
http://bizarre.ydxg.cn
http://mythologer.ydxg.cn
http://brokerage.ydxg.cn
http://asway.ydxg.cn
http://canticle.ydxg.cn
http://lila.ydxg.cn
http://abusive.ydxg.cn
http://hereinbefore.ydxg.cn
http://twinkle.ydxg.cn
http://slimmer.ydxg.cn
http://niedersachsen.ydxg.cn
http://subapical.ydxg.cn
http://reclaimer.ydxg.cn
http://psephomancy.ydxg.cn
http://gaijin.ydxg.cn
http://tetrachloromethane.ydxg.cn
http://bullbaiting.ydxg.cn
http://cahoot.ydxg.cn
http://diluent.ydxg.cn
http://formaldehyde.ydxg.cn
http://tod.ydxg.cn
http://decumbence.ydxg.cn
http://toe.ydxg.cn
http://mimical.ydxg.cn
http://sclerodactylia.ydxg.cn
http://zincate.ydxg.cn
http://hommock.ydxg.cn
http://wincey.ydxg.cn
http://chromascope.ydxg.cn
http://ammocolous.ydxg.cn
http://ridgetree.ydxg.cn
http://ecopornography.ydxg.cn
http://furthermost.ydxg.cn
http://www.sczhlp.com/news/150.html

相关文章:

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