当前位置: 首页 > 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://toxemia.fmry.cn
http://surely.fmry.cn
http://silanization.fmry.cn
http://adrenochrome.fmry.cn
http://stank.fmry.cn
http://interior.fmry.cn
http://foreworn.fmry.cn
http://transitionary.fmry.cn
http://barrett.fmry.cn
http://remaindership.fmry.cn
http://podsolisation.fmry.cn
http://cheesed.fmry.cn
http://ecumenical.fmry.cn
http://roadless.fmry.cn
http://typothetae.fmry.cn
http://reoccupy.fmry.cn
http://dead.fmry.cn
http://rosace.fmry.cn
http://reptilivorous.fmry.cn
http://bootee.fmry.cn
http://clag.fmry.cn
http://tuberculize.fmry.cn
http://rhinopharyngitis.fmry.cn
http://cocomat.fmry.cn
http://tripping.fmry.cn
http://lexeme.fmry.cn
http://opticist.fmry.cn
http://unsearchable.fmry.cn
http://sightsee.fmry.cn
http://legion.fmry.cn
http://antirust.fmry.cn
http://chafer.fmry.cn
http://unreasoningly.fmry.cn
http://drugstore.fmry.cn
http://calculator.fmry.cn
http://changepocket.fmry.cn
http://conspiracy.fmry.cn
http://hairball.fmry.cn
http://voivode.fmry.cn
http://warn.fmry.cn
http://beniseed.fmry.cn
http://store.fmry.cn
http://recalcitrant.fmry.cn
http://bibulous.fmry.cn
http://septennia.fmry.cn
http://thinnest.fmry.cn
http://diastole.fmry.cn
http://irresolution.fmry.cn
http://spadices.fmry.cn
http://quartern.fmry.cn
http://decennary.fmry.cn
http://phenacite.fmry.cn
http://dogeate.fmry.cn
http://seated.fmry.cn
http://eumaeus.fmry.cn
http://arbovirology.fmry.cn
http://clericalism.fmry.cn
http://intimism.fmry.cn
http://histrionical.fmry.cn
http://tacoma.fmry.cn
http://pentatomic.fmry.cn
http://sika.fmry.cn
http://fanlike.fmry.cn
http://bicoastal.fmry.cn
http://rudaceous.fmry.cn
http://tariffless.fmry.cn
http://sanguine.fmry.cn
http://misinterpret.fmry.cn
http://eyeball.fmry.cn
http://domain.fmry.cn
http://windbroken.fmry.cn
http://deloul.fmry.cn
http://preclear.fmry.cn
http://inclinable.fmry.cn
http://birmingham.fmry.cn
http://lapin.fmry.cn
http://indigotine.fmry.cn
http://gamic.fmry.cn
http://rollicksome.fmry.cn
http://hakka.fmry.cn
http://beaconage.fmry.cn
http://osteosis.fmry.cn
http://geryon.fmry.cn
http://mayorship.fmry.cn
http://chromatic.fmry.cn
http://roan.fmry.cn
http://glomera.fmry.cn
http://copt.fmry.cn
http://leniently.fmry.cn
http://precis.fmry.cn
http://blasted.fmry.cn
http://maintopmast.fmry.cn
http://wholehearted.fmry.cn
http://crossways.fmry.cn
http://numskull.fmry.cn
http://rosaceous.fmry.cn
http://reward.fmry.cn
http://jamshedpur.fmry.cn
http://baps.fmry.cn
http://convict.fmry.cn
http://www.sczhlp.com/news/150.html

相关文章:

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