ofd.js 預(yù)覽,網(wǎng)上貼的都是垃圾??!

注意:兩種方式?。。。。。。。。。。。?/h3>

注意注意asm模塊需要初始化,函數(shù)onWebassemblyRuntimeInitialized需要先調(diào)用執(zhí)行

1、直接調(diào)用openOFDBaseViewer ,用于超過100頁的,1頁也可以,有加載動(dòng)畫

onWebassemblyRuntimeInitialized(() => {
          
          openOFDBaseViewer(file, '6wsz1zH2NHnRKuvH', this.$refs['ofd-continer'], this.screenWidth)
        })

2、調(diào)用parseOfdDocument這個(gè)函數(shù) 渲染單頁,當(dāng)然多頁也可以,幾千頁都行,因?yàn)榉绞?的內(nèi)部就是調(diào)用這個(gè)函數(shù),但是這個(gè)生成的樣式好像有問題,自己調(diào)一下,大小,,,,這個(gè)跟上邊一樣放到onWebassemblyRuntimeInitialized后,或回調(diào)里?。?!

parseOfdDocument({
        // ofd寫入文件地址
        ofd: file,
        secret: '6wsz1zH2NHnRKuvH',
        success: async(res) => {
          // 輸出ofd每頁的div
          // const screenWidth = 300
          const divs = await renderOfd(screenWidth, res[0])
          const contentDiv = this.$refs['ofd-continer']//容器
          contentDiv.innerHTML = ''
          for (const div of divs) {
            // div.style.margin = 'auto'
            contentDiv.appendChild(div)
          }
        },
        fail(error) {
          console.log(error)
        }
      })

怎么引用不用說了吧,下課?。。。。?/h2>

import { onWebassemblyRuntimeInitialized, parseOfdDocument, renderOfd, openOFDBaseViewer } from 'ofd.js'
// import * as M from 'ofd.js'
// console.log(M)

哎,本來想抄的,結(jié)果自己寫了個(gè),,,太懶了,不想寫?????? ???I'm the power

https://51shouzu.xyz/ 這個(gè)是在線看的

還有個(gè)vue組件 可以直接用,,,但是,,哎,艸,,看下面,有點(diǎn)亂,嗚嗚,。。

第三個(gè)辦法-----------我去,前面說錯(cuò)了,,這個(gè)好像沒有用ofd.js ,如果害怕ofdjs的secret會(huì)過期,,可以用這個(gè)cafe-ofd組件

<template>
  <cafe-ofd ref="ofd" :file-path="file" @on-success="load" @on-scroll="scroll">
    <div slot="header">
      <input ref="file" type="file" class="hidden" accept=".ofd" @change="fileChanged">
    </div>
    <div slot="footer">
      <button @click="plus">放大</button>
      <button @click="minus">縮小</button>
      <button :disabled="currentNum <= 1" @click="pre">上一頁</button>
      <input v-model.number="currentNum" type="number" :min="1" :max="pageNum" @change="pageChange(currentNum)">
      <button :disabled="currentNum >= pageNum" @click="next">下一頁</button>
      <button @click="print">打印</button>
    </div>
  </cafe-ofd>
</template>

<script>
import cafeOfd from 'cafe-ofd'
import 'cafe-ofd/package/index.css'
// console.log(cafeOfd)
// Vue.use(cafeOfd)
export default {
  name: 'ofdApp',
  components: { cafeOfd: cafeOfd.cafeOfd },
  data() {
    // 這里存放數(shù)據(jù)
    return {
      currentNum: null,
      file: null,
      pageNum: null
    }
  },
  methods: {
    load(val) {
      this.pageNum = val
    },
    fileChanged() {
      this.file = this.$refs.file.files[0]
    },
    plus() {
      this.$refs.ofd.scale(50)
    },
    minus() {
      this.$refs.ofd.scale(-50)
    },
    next() {
      this.$refs.ofd.nextPage()
    },
    pre() {
      this.$refs.ofd.prePage()
    },
    pageChange(val) {
      this.$refs.ofd.goToPage(val)
    },
    print() {
      this.$refs.ofd.printFile()
    },
    scroll(val) {
      this.currentNum = val
    }
  }
}
</script>

<style>

@media print {
  html,
  body,
  #app {
    height: auto;
    overflow: auto;
  }
}
</style>
最后編輯于
?著作權(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)容

  • 入門與進(jìn)階 第一章 進(jìn)入編程 1,如何快速運(yùn)行一段js代碼? 方式1:瀏覽器開發(fā)者工具。可以使用快捷鍵option...
    瀟瀟瀟瀟瀟瀟瀟閱讀 933評(píng)論 0 0
  • 33、JS中的本地存儲(chǔ) 把一些信息存儲(chǔ)在當(dāng)前瀏覽器指定域下的某一個(gè)地方(存儲(chǔ)到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,240評(píng)論 0 2
  • 1.項(xiàng)目所遇到的問題集合 [if !supportLists]1.[endif]設(shè)置div的背景陰影 用:box-...
    一笑奈何_3bea閱讀 1,260評(píng)論 0 0
  • 前些日子在忙著面試,拿了心儀的 offer 以后閑下來整理了一些面試相關(guān)的基本概念。由于很多關(guān)于代碼細(xì)節(jié)的東西之前...
    faremax閱讀 1,479評(píng)論 0 4
  • 前段時(shí)間在網(wǎng)上搜索Python爬取網(wǎng)易云音樂評(píng)論的demo,找到一篇《使用Python爬一爬網(wǎng)易云音樂上那些評(píng)論火...
    finally_y閱讀 5,023評(píng)論 2 5

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