vue移动端实现pdf的页面在线预览展示,CMapReaderFactory可以解决文字不展示、空白问题

//1、安装依赖vue-pdf

npm install --save vue-pdf

//2、使用组件

<pdf v-for="i in numPages" ref="pdfs" :src="pdfUrl" :key="i" :page="i"></pdf>

//3、js文件

<script>
//引入pdf
important pdf from "vue-pdf";
important CMapReaderFactory from "vue-pdf/src/CMapReaderFactory.js"
export default{
  components:{ pdf },
	data(){
	  pdfUrl:"",
	  numPages:[]
	},
	created(){
	  this.getPdf();//调用方法
	},
	//获取pdf
	methods:{
	  //接口获取pdf
	  getPdf(){
	    getPdf({fcn:3 }).then(res=>{
	      if(res.code === '0'){ 
	       //需要转换为base64位
	        this.pdfUrl =  "data:application/pdf;base64," + res.data.pdfUrl;
	        this.pdfUrl = pdf.createLoadingTask(this.pdfUrl ,CMapReaderFactory);
	        this.pdfUrl .promise
	          .then(pdf => {
	            this.$nextTick(() => {
	    	      this.numPages = pdf.numPages
	    	    })
	          .catch((err) => {
                console.error('pdf 加载失败', err)
              })
	        });
	    }
      })
	}
}

</script>
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐