标签:items padding set info otto 标签 justify rap hit
有时候需要预览PDF文件,需要实现可放大、缩小、下载、打印等功能,我使用了iframe框架。
实现效果:


实现代码:
我直接写在了一个公共组件中,在需要预览的页面直接引用该子组件即可。
<iframe :src="src" frameborder="0" style="width: 100%; height: 100%"></iframe>
data() {
return {
src: ‘http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf‘,
}
},
完整代码:
<!--
预览PDF文件
-->
<template>
<div class="filePreview">
<div class="filePreview_center">
<div class="center_header">
<div class="header_left">文件预览</div>
<div class="header_right" @click="filePreviewCancel">关闭</div>
</div>
<div class="center_center">
<iframe :src="src" frameborder="0" style="width: 100%; height: 100%"></iframe>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
src: ‘http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf‘,
}
},
methods: {
filePreviewCancel(){
this.$emit(‘filePreviewCancel‘);
}
}
}
</script>
<style lang="scss" scoped>
.filePreview{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999;
background: rgba($color: #000000, $alpha: 0.4);
min-height: 500px;
overflow: auto;
.filePreview_center{
width: 50%;
height: 100%;
left: 25%;
background: white;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
position: relative;
transform: translateY(-50% -50%);
padding: 16px;
.center_header{
padding-bottom: 10px;
border-bottom: 1px solid #dee2ed;
display: flex;
align-items: center;
justify-content: space-between;
border-radius: 3px;
.header_left{
font-weight: bold;
}
.header_right{
cursor: pointer;
color: #99a1ad;
}
}
.center_center{
border-radius: 3px;
width: 100%;
height: 100%;
}
}
}
</style>
注意:
1.src为服务器上的一个PDF文件地址,可直接下载。
2.只需要一个标签和一个src地址即可实现,不需要再做其他操作,简单好用。
参考文章:https://www.cnblogs.com/steamed-twisted-roll/p/9648255.html
标签:items padding set info otto 标签 justify rap hit
原文地址:https://www.cnblogs.com/5201314m/p/12323103.html