实现思路
- 依赖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;
待开发