鴻蒙PDF預(yù)覽

PDFView


簡介

PDFView ,是一款高性能預(yù)覽pdf文件的庫。

  • 支持在線PDF文件預(yù)覽
  • 支持本地rawfile文件預(yù)覽
  • 使用Lazy懶加載方式,優(yōu)化性能
  • 支持分頁加載
  • API 12

下載安裝

ohpm install @hjm/pdfview


接口和屬性列表

接口列表

接口 參數(shù) 描述
pdfInit (totalPage: 總頁數(shù),pagesPerLoad: 當(dāng)前分頁數(shù)) PDF初始化數(shù)據(jù)回調(diào)函數(shù)
onReachEnd (totalPage: 總頁數(shù)) PDF滑動(dòng)到底部回調(diào)函數(shù)
onScrollIndex (pageIndex: 當(dāng)前滾動(dòng)索引值) PDF滑動(dòng)時(shí)回調(diào)函數(shù)

屬性列表

屬性 描述
pdfUrl PDF文件地址(在線地址或者本地地址)
pagesPerLoad 分頁加載數(shù)量

性能分析


  • 結(jié)合HarmonyOS官方文檔要求,應(yīng)用CPU占用峰值應(yīng)< 2%為性能最優(yōu)體驗(yàn),使用PDFView加載100頁的PDF性能表現(xiàn)如下:


    PDFViewProfiler.png

使用示例


import { PDFView } from '@hjm/pdfview'

@Entry
@Component
struct Test8Page {
  // @State pdfUrl: string = 'https:XXXX/test/demo.pdf';  //在線地址
  @State pdfUrl: Resource = $rawfile('demo.pdf');  //本地地址

  build() {
    Column(){
      Row(){
        PDFView({
          /* 數(shù)據(jù)源 */
          pdfUrl:this.pdfUrl,
          /* 實(shí)現(xiàn)分頁加載功能,以縮短首頁加載時(shí)間。 */
          pagesPerLoad: 10,
          /**
           * PDF初始化數(shù)據(jù)回調(diào)函數(shù)。`
           * @param {number} totalPage - PDF文檔的總頁數(shù)。
           * @param {number} pagesPerLoad - 每次分頁加載的頁數(shù)。
           */
          pdfInit: (totalPage: number,pagesPerLoad: number) => {
            console.log('總頁數(shù)為:',totalPage,',當(dāng)前分頁數(shù)為:',pagesPerLoad)
          },
          /**
           * PDF滑動(dòng)到底部回調(diào)函數(shù)。
           * @param {number} totalPage - PDF文檔的總頁數(shù)。
           */
          onReachEnd: (totalPage: number) => {
            console.log('總頁數(shù)為:',totalPage)
          },
          /**
           * PDF滑動(dòng)時(shí)回調(diào)函數(shù)。
           * @param {number} pageIndex - PDF文檔當(dāng)前滾動(dòng)索引值。
           */
          onScrollIndex: (pageIndex: number) => {
            console.log(`當(dāng)前滾動(dòng)到第${pageIndex}頁`)
          },
        })
      }
      .width('100%')
      .height('100%')

    }
    .width('100%')
    .height('100%')
  }
}
最后編輯于
?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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