vue中加载pdf文件
vue中加载pdf文件
方案一:
直接调用事件即可
openPdf {
window.open('/assets/BJBVerse.pdf')
},
方案二:
npm install vue-pdf --save
<template>
<div>
<pdf
v-for="i in numPages"
:key="i"
:src="localSrc"
:page="i"
style="display: inline-block; width: 25%"
></pdf>
</div>
</template>
<script>
import pdf from 'vue-pdf'
export default {
props:{src:String},
components: {
pdf
},
data() {
return {
localSrc: '',
numPages: undefined,
}
},
mounted() {
this.localSrc = pdf.createLoadingTask(this.src);
this.localSrc.promise.then(pdf => {
this.numPages = pdf.numPages;
});
}
}
</script>
import Pdf from './Pdf.vue'
<el-dialog :visible.sync="showBJBCreator" width="50%" height="7%" append-to-body center>
<Pdf src="/assets/BJBCreator.pdf" style="width: 100%; height: 7%" ref="pdf"></Pdf>
</el-dialog>
components: {
Pdf
},
安装elementui
main.js里引入
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
不分页文件代码
<template>
<div>
<pdf
v-for="i in numPages"
:key="i"
:src="localSrc"
:page="i"
style="display: inline-block; width: 25%"
></pdf>
</div>
</template>
<script>
import pdf from 'vue-pdf'
export default {
props:{src:String},
components: {
pdf
},
data() {
return {
localSrc: '',
numPages: undefined,
}
},
mounted() {
this.localSrc = pdf.createLoadingTask(this.src);
this.localSrc.promise.then(pdf => {
this.numPages = pdf.numPages;
});
}
}
</script>

浙公网安备 33010602011771号