最通用的PDF解析实现(Vue|React)

实现思路

  • 依赖pdf-dist解析pdf文件
  • 使用web component方式,使得使用它像使用原生html一样,可以兼容各种前端框架

安装

npm i @yangxuy/pdf-reader

html使用(可以在github上面把dist文件下载下来)

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
        <script src="/dist/main.bundle.js" defer></script>
    </head>
    <body>
        <pdf-view
            url="/demo/1.pdf"
            style="width: 100%; height: 800px"
        ></pdf-view>
    </body>
</html>

Vue

<script setup>
import "@yangxuy/pdf-reader"
import pdf from './assets/1.pdf'
</script>

<template>
  <pdf-view :url="pdf" style="width: 100%; height: 800px"></pdf-view>
</template>

React

import pdf from "./assets/1.pdf";
import "@yangxuy/pdf-reader;
import { useEffect, useRef } from "react";

function App() {
    const div = useRef<any>();

    useEffect(() => {
        div.current.innerHTML = `<pdf-view url=${pdf} style="width: 100%; height: 800px"></pdf-view>`;
    }, []);

    return <div className="App" ref={div}></div>;
}

export default App;

待开发

  • 错误事件处理
  • 对外暴露成功和失败的事件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容