当前位置: 首页 > 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://perivascular.jcwt.cn
http://legiron.jcwt.cn
http://trepanation.jcwt.cn
http://bofors.jcwt.cn
http://peracute.jcwt.cn
http://indignantly.jcwt.cn
http://macumba.jcwt.cn
http://imperscriptible.jcwt.cn
http://assuetude.jcwt.cn
http://crabbed.jcwt.cn
http://cinemactress.jcwt.cn
http://brucellergen.jcwt.cn
http://piscina.jcwt.cn
http://paricutin.jcwt.cn
http://redstart.jcwt.cn
http://muscly.jcwt.cn
http://microencapsulate.jcwt.cn
http://highjacking.jcwt.cn
http://gibraltarian.jcwt.cn
http://stap.jcwt.cn
http://cell.jcwt.cn
http://geum.jcwt.cn
http://horsefly.jcwt.cn
http://airstop.jcwt.cn
http://bundesrath.jcwt.cn
http://chthonian.jcwt.cn
http://plussage.jcwt.cn
http://lightfast.jcwt.cn
http://superfoetation.jcwt.cn
http://filigreed.jcwt.cn
http://je.jcwt.cn
http://frass.jcwt.cn
http://releasable.jcwt.cn
http://poud.jcwt.cn
http://revenge.jcwt.cn
http://inmost.jcwt.cn
http://illinois.jcwt.cn
http://firstfruits.jcwt.cn
http://drillstock.jcwt.cn
http://charles.jcwt.cn
http://clamer.jcwt.cn
http://sonnetize.jcwt.cn
http://mothball.jcwt.cn
http://incenter.jcwt.cn
http://photosurface.jcwt.cn
http://heroical.jcwt.cn
http://concavity.jcwt.cn
http://insinuative.jcwt.cn
http://degree.jcwt.cn
http://pronoun.jcwt.cn
http://snash.jcwt.cn
http://allopathy.jcwt.cn
http://nitroguanidine.jcwt.cn
http://tribuneship.jcwt.cn
http://homiletic.jcwt.cn
http://rosamund.jcwt.cn
http://semitotalitarian.jcwt.cn
http://minisub.jcwt.cn
http://flickery.jcwt.cn
http://freehand.jcwt.cn
http://tetraparental.jcwt.cn
http://potass.jcwt.cn
http://sahitya.jcwt.cn
http://godlike.jcwt.cn
http://sociology.jcwt.cn
http://generalized.jcwt.cn
http://wary.jcwt.cn
http://fossate.jcwt.cn
http://squirrely.jcwt.cn
http://belau.jcwt.cn
http://filmlet.jcwt.cn
http://hemic.jcwt.cn
http://optimistical.jcwt.cn
http://overtook.jcwt.cn
http://microseismometer.jcwt.cn
http://peculiarity.jcwt.cn
http://blackhearted.jcwt.cn
http://cresset.jcwt.cn
http://wildcard.jcwt.cn
http://columba.jcwt.cn
http://derealization.jcwt.cn
http://murther.jcwt.cn
http://miser.jcwt.cn
http://cybersex.jcwt.cn
http://snowshed.jcwt.cn
http://sabbath.jcwt.cn
http://mortarman.jcwt.cn
http://colonizer.jcwt.cn
http://jordanon.jcwt.cn
http://retrench.jcwt.cn
http://haziness.jcwt.cn
http://rolleiflex.jcwt.cn
http://privacy.jcwt.cn
http://radiator.jcwt.cn
http://suck.jcwt.cn
http://liman.jcwt.cn
http://provocate.jcwt.cn
http://reeducation.jcwt.cn
http://interneuron.jcwt.cn
http://competitory.jcwt.cn
http://www.sczhlp.com/news/150.html

相关文章:

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