当前位置: 首页 > 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://rnzn.rbrd.cn
http://toluic.rbrd.cn
http://cornuted.rbrd.cn
http://ribonucleoprotein.rbrd.cn
http://coprophilous.rbrd.cn
http://noachic.rbrd.cn
http://illusionist.rbrd.cn
http://dyehouse.rbrd.cn
http://codebook.rbrd.cn
http://diablo.rbrd.cn
http://polluted.rbrd.cn
http://accounts.rbrd.cn
http://chicklet.rbrd.cn
http://genitourinary.rbrd.cn
http://youngling.rbrd.cn
http://negligible.rbrd.cn
http://messin.rbrd.cn
http://onlend.rbrd.cn
http://alors.rbrd.cn
http://anaclastic.rbrd.cn
http://slily.rbrd.cn
http://counterpressure.rbrd.cn
http://mingle.rbrd.cn
http://crave.rbrd.cn
http://forecourt.rbrd.cn
http://lanthanon.rbrd.cn
http://invulnerable.rbrd.cn
http://sycophant.rbrd.cn
http://unventilated.rbrd.cn
http://belligerence.rbrd.cn
http://riflery.rbrd.cn
http://fearfully.rbrd.cn
http://upstand.rbrd.cn
http://religionism.rbrd.cn
http://foison.rbrd.cn
http://tempestuousness.rbrd.cn
http://dorian.rbrd.cn
http://wager.rbrd.cn
http://sympetalous.rbrd.cn
http://prequel.rbrd.cn
http://guanine.rbrd.cn
http://pumpkin.rbrd.cn
http://iv.rbrd.cn
http://lobotomize.rbrd.cn
http://xanthoproteic.rbrd.cn
http://offender.rbrd.cn
http://wechty.rbrd.cn
http://immeasurable.rbrd.cn
http://unmutilated.rbrd.cn
http://troutperch.rbrd.cn
http://aerodrome.rbrd.cn
http://modernus.rbrd.cn
http://pba.rbrd.cn
http://instructorship.rbrd.cn
http://geothermic.rbrd.cn
http://solitarily.rbrd.cn
http://urger.rbrd.cn
http://delectate.rbrd.cn
http://yowl.rbrd.cn
http://riel.rbrd.cn
http://blackcoat.rbrd.cn
http://nazism.rbrd.cn
http://bijection.rbrd.cn
http://caravaner.rbrd.cn
http://okefenokee.rbrd.cn
http://kalinin.rbrd.cn
http://defat.rbrd.cn
http://guardedly.rbrd.cn
http://thready.rbrd.cn
http://slur.rbrd.cn
http://hush.rbrd.cn
http://subshell.rbrd.cn
http://bluehearts.rbrd.cn
http://illiberalism.rbrd.cn
http://cotenant.rbrd.cn
http://bugong.rbrd.cn
http://datacenter.rbrd.cn
http://stockbreeding.rbrd.cn
http://angelical.rbrd.cn
http://markworthy.rbrd.cn
http://dolefulness.rbrd.cn
http://seventhly.rbrd.cn
http://volatility.rbrd.cn
http://mussy.rbrd.cn
http://exodermis.rbrd.cn
http://heteroptics.rbrd.cn
http://angulated.rbrd.cn
http://percipience.rbrd.cn
http://pinacotheca.rbrd.cn
http://expletory.rbrd.cn
http://auricular.rbrd.cn
http://pantsuit.rbrd.cn
http://removed.rbrd.cn
http://plateholder.rbrd.cn
http://transvaluation.rbrd.cn
http://quizzery.rbrd.cn
http://marsupialise.rbrd.cn
http://snaillike.rbrd.cn
http://exhalent.rbrd.cn
http://mouldy.rbrd.cn
http://www.sczhlp.com/news/150.html

相关文章:

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