当前位置:   article > 正文

vue预览本地pdf文件方法之iframe_iframe不下载只预览

iframe不下载只预览

之前试了两种方法

1、vue预览本地pdf文件方法之a标签

2、vue预览本地pdf文件方法之vue-pdf组件

都不符合需求想要的效果

方法1只是重新打开窗口,适用于pdf预览简单需求

方法2因为是单页展现,还需要上一页下一页的切换,也不合适

最后我试了一下iframe刚好满足我的需求

废话不多说,直接上代码:

最核心一句代码

只需要一句代码

<iframe :src="pdfSrc"  frameborder="0" width="100%" height="100%" ></iframe>

预览效果还自带下载打印功能

完整代码

  1. <template>
  2. <div>
  3. <div style="text-align: left;">
  4. <H2>行业资料</H2>
  5. <el-divider>
  6. </el-divider>
  7. <el-container>
  8. <el-aside width="300px" style="border: 1px solid #eee;height: 1000px; background-color: #D3DCE6;">
  9. <div class="myTree">
  10. <el-tree default-expand-all :props="defaultProps" :data="tableData" @node-click="handleNodeClick"></el-tree>
  11. </div>
  12. </el-aside>
  13. <el-container style="border: 1px solid #eee;margin-left: 10px;">
  14. <iframe :src="pdfSrc" frameborder="0" width="100%" height="100%" ></iframe>
  15. </el-container>
  16. </el-container>
  17. </div>
  18. </div>
  19. </template>
  20. <script>
  21. export default {
  22. name: "IndustryInformation",
  23. data(){
  24. return {
  25. currentPage: 0, // pdf文件页码
  26. pageCount: 0, // pdf文件总页数
  27. fileType: 'pdf', // 文件类型
  28. pdfSrc: '', // pdf文件地址
  29. defaultProps: {
  30. children: 'children',
  31. label: 'name'
  32. },
  33. tableData: [{
  34. id: 1,
  35. name: '道路工程资料',
  36. children:[
  37. {
  38. id: 2,
  39. name: '公路工程资料编制概述',
  40. children:[
  41. {
  42. id: 21,
  43. name: '路面工程部分分项划分表',
  44. src: '/1.pdf',
  45. },
  46. {
  47. id: 13,
  48. name: '一般建设项目单位工程划分表',
  49. src: '/2.pdf',
  50. },
  51. {
  52. id: 14,
  53. name: '路基工程部分分项划分表',
  54. src: '/3.pdf',
  55. },
  56. {
  57. id: 33,
  58. name: '桥梁工程部分分项划分表',
  59. src: '/4.pdf',
  60. },
  61. {
  62. id: 34,
  63. name: '隧道工程部分分项划分表',
  64. src: '/5.pdf',
  65. }
  66. ]
  67. },
  68. {
  69. id: 3,
  70. name: '公路工程竣工资料',
  71. children:[
  72. {
  73. id: 7,
  74. name: '公路工程竣工文件编排层次',
  75. src: '/5.pdf',
  76. },
  77. {
  78. id: 8,
  79. name: '工程洽商记录表',
  80. src: '/4.pdf',
  81. },
  82. {
  83. id: 9,
  84. name: '工程设计表更、洽商一览表',
  85. src: '/3.pdf',
  86. }
  87. ]
  88. }
  89. ]}]
  90. }
  91. },
  92. methods:{
  93. handleNodeClick(data) {
  94. this.pdfSrc = data.src;
  95. }
  96. }
  97. }
  98. </script>
  99. <style scoped>
  100. .myTree /deep/ .el-tree {
  101. position: relative;
  102. cursor: default;
  103. color: #606266;
  104. background-color: #D3DCE6;
  105. }
  106. </style>

最终效果

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/119006?site
推荐阅读
相关标签
  

闽ICP备14008679号