最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-pdf實(shí)現(xiàn)pdf在線(xiàn)預(yù)覽并實(shí)現(xiàn)自定義預(yù)覽框高度

 更新時(shí)間:2024年03月21日 11:41:13   作者:zhimingwen  
這篇文章主要介紹了vue-pdf實(shí)現(xiàn)pdf在線(xiàn)預(yù)覽并實(shí)現(xiàn)自定義預(yù)覽框高度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

首先

安裝vue-pdf庫(kù)

npm install --save vue-pdf

在你的vue頁(yè)面文件中引入這個(gè)組件

然后運(yùn)行程序,這時(shí)候你會(huì)發(fā)現(xiàn),pdf預(yù)覽圖并不能鋪滿(mǎn)你的容器框。

查看樣式:

發(fā)現(xiàn)vue-pdf組件的canvas標(biāo)簽里面把高度寫(xiě)死成 height:212.269px了。

我們嘗試給這個(gè)組件再寫(xiě)一個(gè)pdf-preview的class 將設(shè)置高度為100%發(fā)現(xiàn)不生效。

  .pdf-preview {
    height: 100%;
  }

解決方案

提高指定樣式的應(yīng)用優(yōu)先權(quán)(優(yōu)先級(jí))

  .pdf-preview {
    height: 100%;
  }
  // 穿透vue-pdf插件中的canvas樣式
  .pdf-preview canvas {
    //提高指定樣式規(guī)則的應(yīng)用優(yōu)先權(quán)(優(yōu)先級(jí))
    height: 100% !important;
  }

附上完整代碼

<!--
 * @Author: WenZhiming
 * @Date: 2022-09-26 17:17:55
 * @LastEditors: WenZhiming
 * @LastEditTime: 2022-09-26 18:03:13
 * @Description: file content
-->
<template>
  <div class="container_upload relative">
    <pdf
      v-if="pdfUrl && pdfUrl.endsWith('.pdf')"
      class="pdf-preview"
      :src="pdfUrl"
    ></pdf>
    <div class="buttons">
      <el-button v-if="pdfUrl" type="primary" plain @click="previewPDF">
        {{ $t('查看') }}
      </el-button>
      <el-button type="primary" class="mt-12" @click="uploadPdf">
        {{ $t('上傳') }}
      </el-button>
    </div>
    <input
      ref="pdfInput"
      type="file"
      style="display: none"
      accept="application/pdf"
      @change="fileChange"
    />
  </div>
</template>
<script>
  import pdf from 'vue-pdf'
  export default {
    components: {
      pdf,
    },
    data() {
      return {
        pdfUrl: '',
      }
    },
    methods: {
      uploadPdf() {
        this.$refs.pdfInput.click()
      },
      fileChange(ev) {
        //文件上傳到阿里云oss獲得url
        // this._upload(ev, (url) => {
        //   this.pdfUrl = url
        // })
        this.pdfUrl = 'https://www.pinduoduo.com/pdd_privacy_policy.pdf'
      },
      previewPDF() {
        window.open(this.pdfUrl, '_blank')
      },
    },
  }
</script>
<style lang="scss">
  .container_upload {
    width: 150px;
    height: 256px;
    border: 1px solid #ddd;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    .buttons {
      z-index: 1;
      position: absolute;
      display: flex;
      flex-direction: column;
      .el-button {
        margin-left: 0;
        width: 80px;
      }
    }
    img {
      width: 100%;
      height: 100%;
    }
  }

  .pdf-preview {
    height: 100%;
  }
  // 穿透vue-pdf插件中的canvas樣式
  .pdf-preview canvas {
    //提高指定樣式規(guī)則的應(yīng)用優(yōu)先權(quán)(優(yōu)先級(jí))
    height: 100% !important;
  }
</style>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

株洲市| 昌吉市| 正安县| 永登县| 郑州市| 荥经县| 达日县| 东丽区| 茶陵县| 公安县| 东兴市| 焉耆| 万全县| 夹江县| 太原市| 深州市| 三亚市| 邓州市| 界首市| 崇明县| 榆树市| 昌江| 鹤岗市| 古浪县| 阳泉市| 克拉玛依市| 濮阳县| 汶川县| 乐平市| 恭城| 视频| 礼泉县| 玉环县| 拉孜县| 新乡市| 黄山市| 闸北区| 鹤庆县| 蕲春县| 鄂伦春自治旗| 克什克腾旗|