中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue+ElementUI使用vue-pdf實現預覽功能

發布時間:2020-10-23 21:49:13 來源:腳本之家 閱讀:602 作者:Harvey07 欄目:web開發

Vue + ElementUI項目中使用vue-pdf實現簡單預覽,供大家參考,具體內容如下

1、安裝 vue-pdf

npm install --save vue-pdf

2、在vue頁面中導入對應的組件

我這是通過點擊 預覽 按鈕 獲取id打開一個dialog來實現

<!--PDF 預覽-->
 <el-dialog :title="PDF 預覽"
  :visible.sync="viewVisible" width="80%" center
   @close='closeDialog'>
     <div >
        <el-button type="primary" size="small" @click.stop="previousPage">
           上一頁
         </el-button>
         <el-button type="primary" size="small" @click.stop="nextPage">
         下一頁
        </el-button>
     <span>當前第{{pdfPage}}頁 / 共{{pageCount}}頁</span>
    </div>

    <div >
     <pdf
       :src="src"
       :page="pdfPage"
       @num-pages="pageCount = $event"
       @page-loaded="pdfPage = $event"
       
    ></pdf>
  </div>
</el-dialog>
<script>
 import pdf from 'vue-pdf';
 export default {
    components: {
      pdf
    },
    data() {
    return {
    //PDF預覽
        viewVisible: false,
        src: null,
        pdfPage : 1,
        pageCount: 0,
  }
 },
 methods:{
  //PDF預覽
      previewPDF(row){
        this.src = pdf.createLoadingTask(documentConstants.previewPDFUrl+row.contractId);
        this.src.then(pdf => {
          this.viewVisible = true;
        });
      },

      //關閉窗口初始化PDF頁碼
      closeDialog(){
        this.pdfPage = 1;
      },

      //PDF改變頁數
      previousPage(){
        var p = this.pdfPage
        p = p>1?p-1:this.pageCount
        this.pdfPage = p
      },
      nextPage(){
        var p = this.pdfPage
        p = p<this.pageCount?p+1:1
        this.pdfPage = p
      }
 }
  }
</script>

3、Controller的返回

@RequestMapping(value = "/previewPDF/{contractId}")
  public ResponseEntity<byte[]> previewPDF(@PathVariable Long contractId) throws TException, IOException {
    ContractAttachmentTmpModelDTO model = contractScanManagementRpcService.queryContractAttachmentTmp(contractId);
    HttpHeaders headers = new HttpHeaders();
    headers.setContentDispositionFormData("attachment", model.getAttachmentName());
    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
    return new ResponseEntity<byte[]>(model.getAttachmentData(),
        headers, HttpStatus.OK);
  }

總結:這個是實現一個簡單的預覽功能。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郯城县| 饶平县| 樟树市| 兴和县| 丹阳市| 明水县| 滕州市| 四子王旗| 故城县| 尤溪县| 旌德县| 灌云县| 历史| 义乌市| 万盛区| 玛纳斯县| 绩溪县| 英德市| 舟曲县| 托克逊县| 顺昌县| 铜鼓县| 鲜城| 达尔| 措勤县| 玉溪市| 公安县| 常德市| 青浦区| 泊头市| 道孚县| 镇平县| 秦皇岛市| 油尖旺区| 高要市| 安泽县| 盐源县| 平罗县| 诏安县| 正阳县| 曲麻莱县|