react 的pdf預(yù)覽插件應(yīng)用

最近項(xiàng)目上有預(yù)覽PDF文檔的需求,原本使用object實(shí)現(xiàn)這個(gè)功能,代碼如下:

<object data={this.state.pdfContent}
         type="application/pdf"
         width="100%"
         height="1200px"
         standby="pdf文檔加載中..."
>
         This browser does not support PDFs.
</object>

其效果圖如下:


object.gif

但是此時(shí)頁(yè)面出現(xiàn)了兩個(gè)滾動(dòng)條,不是我們想要的效果,而且也存在瀏覽器兼容問(wèn)題,因此,換用react-pdf 實(shí)現(xiàn)這一功能。先上一個(gè)修改好的效果圖:


pdf示例.gif

使用react-pdf時(shí),首先要安裝插件:

npm i react-pdf

然后在組件中引用:

import { Document, Page } from 'react-pdf';

最后在組件render函數(shù)中引入

<Document
      file={this.state.pdfContent}//文檔地址
      loading=""
      onLoadSuccess={this.onDocumentLoadSuccess}
>
      <Page 
          key={this.state.currentPage} 
          pageNumber={this.state.currentPage} //當(dāng)前頁(yè)頁(yè)碼
          width={850}
       />
</Document>

其中onLoadSuccess為加載完的回調(diào)函數(shù)

onDocumentLoadSuccess = ({ numPages }) => {//numPages是總頁(yè)數(shù)
        this.setState({ numPages });
};

注意:效果圖上的分頁(yè)是結(jié)合antd的Pagination來(lái)實(shí)現(xiàn)的。

react-pdf的具體文檔鏈接:https://www.npmjs.com/package/react-pdf

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容