react渲染pdf,vue渲染pdf,react pdfjs-dist不显示签章,盖章问题

本文探讨了在React和Vue中渲染PDF文件的方法,包括使用pdfjs-dist和vue-pdf库。针对React中pdf签章不显示的问题,提出了通过修改pdfjs-dist源码来解决隐藏标志的方法。而在Vue中,使用vue-pdf库则没有遇到此类问题。
摘要由CSDN通过智能技术生成

React渲染pdf 

yarn add pdfjs-dist

安装pdfjs-dist,我这里使用的是 2.0.943版本的

文件中导入

import pdfjsLib from 'pdfjs-dist';

定义一个存储pdf内容和总页数的state,因为渲染pdf的时候需要创建canvas标签,标签需要给对应容器添加进去

const [total, setTotal] = useState<any[]>([]); // pdf分页
const [pdfState, setPdfState] = useState<any>({}); // 解析之后pdf

加载解析pdf文件

const loadingTask = pdfjsLib.getDocument(docsPdf);
// 解析pdf
loadingTask.promise.then((pdf) => {
  // 生成对应length的数组
  setTotal(Array.from({ length: pdf.numPages }, () => ({})));
  setPdfState(pdf);
});

useEffect监听pdfState的修改,如果不去监听的话,total和pdf同时拿到此时数据同步去处理对应的div和canvas是没有渲染的

// pdf解析完成之后去渲染生成canvas
// 因为渲染canvas外层元素的数据和修改pdf是同时拿到的,如果直接在上一个useEffe
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue-React组件库是一个同时支持VueReact的UI组件库,可以在VueReact项目中使用。下面以Element-React为例,介绍如何使用Vue-React组件库。 1. 安装Element-React:可以使用npm或yarn安装,命令如下: ``` npm install element-react --save 或 yarn add element-react ``` 2. 引入样式文件:在主入口文件中引入Element-React的样式文件,如下: ``` import 'element-react/dist/theme-chalk/index.css'; ``` 3. 引入组件:在VueReact组件中按需引入需要使用的Element-React组件,如下: 在Vue组件中: ``` <template> <div> <el-button>Vue Button</el-button> </div> </template> <script> import { Button } from 'element-react'; export default { components: { 'el-button': Button } } </script> ``` 在React组件中: ``` import { Button } from 'element-react'; class MyComponent extends React.Component { render() { return ( <div> <Button>React Button</Button> </div> ) } } ``` 4. 使用组件:在VueReact组件中使用引入的Element-React组件,如下: 在Vue组件中: ``` <template> <div> <el-button>Vue Button</el-button> </div> </template> ``` 在React组件中: ``` import { Button } from 'element-react'; class MyComponent extends React.Component { render() { return ( <div> <Button>React Button</Button> </div> ) } } ``` 需要注意的是,不同的Vue-React组件库使用方法略有不同,需要根据具体组件库的文档进行使用。同时,也需要根据项目需要选择合适的组件库,避免出现兼容性和功能不匹配的问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值