React-Pdf使用过程心得
上个迭代接了一个业务需求,需要在PC应用中可以直接预览pdf文件,于是在社区找了几个React组件,
A、react-pdf-js
B、react-pdf
C、React-read-pdf (移动端设备)
三款插件都使用了下,最后采用了react-pdf,相对而言它的插件功能较为强大,文档使用非常清晰,作者对issues回复也非常及时,社区也比较活跃;
一、cnpm install react-pdf --save 安装插件
二、import { Document,Page } from 'react-pdf'; 插件引入
三、<Document file="fileUrl"/> 文件引入
四、 在Document里层添加<Page/>
附上代码:
<Documenttitle={pdfTitle || undefined}file={pdfUrl}onLoadSuccess={this.onDocumentLoadSuccess}loading="努力加载中..."renderMode="canvas"options={{cMapUrl: 'cmaps/',cMapPacked: true,}}><Page pageNumber={pageNumber} width={720} loading="努力加载中..."renderMode="canvas"renderInteractiveForms={true}/></Document>
注意点:
1、因为是在webpack中的,所以导入方式需要
import { Document } from 'react-pdf/dist/entry.webpack';
2、控制台报警告或pad文件显示不完整,内容缺失:
Warning: The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided
需要支持非拉丁字符,下载插件
npm install copy-webpack-plugin --save-dev
在webpack中配置 ,引入:
import CopyWebpackPlugin from 'copy-webpack-plugin';
plugins配置:
new CopyWebpackPlugin([{from: 'node_modules/pdfjs-dist/cmaps/',to: 'cmaps/'}, ]),
最后在组件的Document中添加配置:
<Documentoptions={{cMapUrl: 'cmaps/',cMapPacked: true,}} />
配置支持插件方式也有另外一种,它提供的cdn的远程资源包也可以使用,
cMapUrl: `//cdn.jsdelivr.net/npm/pdfjs-dist@${pdfjs.version}/cmaps/`,
。
如果还是不能预览,需要看下pdf中原件是否存在交互式表单,如果是按照作者建议是需要开启强制渲染模式renderInteractiveForms={true}
强调下,react-pdf的github上的接口文档中,提供了很多的属性设置以及回调函数以供开发者使用,https://github.com/wojtekmaj/react-pdf
当然了,翻页跳页功能是需要自行拓展的,直接控制pageNumber的值就好了,
以上,谢谢,希望对您有点帮助!
React-Pdf使用过程心得相关推荐
- 面试官:说说react的渲染过程
面试官:说说react的渲染过程 hello,这里是潇晨,大家在面试的过程中有没有遇到过一些和react相关的问题呢,比如面试官让你说说react渲染的过程,这到题目比较开放,也比较考验大家对reac ...
- 源码解析 React Hook 构建过程
2018 年的 React Conf 上 Dan Abramov 正式对外介绍了React Hook,这是一种让函数组件支持状态和其他 React 特性的全新方式,并被官方解读为这是下一个 5 年 R ...
- 记录一次react项目配置过程
1.为什么要配置react而不是脚手架 因为要知其然,最好还要知其所以然! 2.配置对象 webpack webpack-dev-server babel eslint 3.配置过程 1.webpac ...
- python实验过程心得体会_python学习心得
python学习心得 什么是编程 编程是编写程序代码,通过计算机将程序代码与现实事物抽样转换解决生活中的问题,还原生活场景. 怎么快速理解编程? 编程最重要的是对事物转化的思想,语法只是一种基本的技能 ...
- React pdf 电子书
ReactNative用javascript开发移动应用 中文PDF版 27.4MB http://qunying.jb51.net:81/201608/books/reactnative_jb51. ...
- python实验过程心得体会_web实训心得体会
篇一:JAVAWEB实训心得体会 jsp+servlet+mysql 论坛 项目实训总结 实训人: 程路峰 学号:11103303 通过为期10天的实训,我学习了很多关于java web的知识.在老师 ...
- 记录一次详细在线加密PDF解密过程
发现了一个在线很好的教材PDF,但是阅读时候加密了,咋办?简单分析,解密该加密的在线PDF文档,并且下载解密. 事件 尝试 过程 成功 事件 在阅读一个在线PDF时候,出现了下面的情况.已经被加密了, ...
- PDF.js使用心得
一次在开发微信预览保单的时候所使用到的,由于安卓手机浏览器不支持解析PDF,所以才用了PDF.js来解析PDF并展示. pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无 ...
- 太极创客meArm制作过程心得
首先还是感谢 感谢太极创客团队免费开放的Arduino学习教程,这是我现阶段离不开的最好的保姆级的没有之一的教学网站,网站上对编程语言也有很系统很详细的介绍,还有实例,真的暖心又实用. OK言归正传, ...
- react pdf预览
pdf预览很强大的插件是pdf.js,这是原生js实现的插件,能兼容大部分浏览器,对于它的使用方法,在传统的web项目中就是viewer.html?file="文件名称",但是对于 ...
最新文章
- 最新版火车头织梦内容发布规则_火车头采集器V8.6发布dedecms自定义字段解决方案...
- 神经网络+过拟合+避免
- [Machine Learning]kNN代码实现(Kd tree)
- 教你如何搭建虚拟专用网连接 OPEN***
- solr/lucence和关系数据库的混合使用
- 使用Docker来运行WebApp
- java getcharat_Java UTF8.getCharArray方法代码示例
- JS_模拟广告栏跟随效果
- 谈谈我在自然语言处理入门的一些个人拙见
- 用姿态补偿雷达数据畸变的文字想法
- yolov3-tiny 训练一个检测器(2)
- java高级工程师简历模板,MySQL+Tomcat+JVM,看完还怕面试官
- qt 表格中插入一行_Qt在表格中加入控件
- form 表单提交后,使页面不跳转
- 一个程序员应该怎样去学习和掌握计算机英语呢
- iOS VoIP PushKit 的问题
- Vectorcast 2021 sp4 linux
- C++【引用】——串讲
- anaconda安装包百度云下载
- onRequestPermissionsResult 请求权限结果 (中文翻译小组)
热门文章
- Blender3.0一些建模技巧与应用
- 近年热门细胞研究话题颂通大盘点
- JAVA Swing万年历
- 对SMART法则的多种解释
- Unity图片格式转换
- python力导向图_力导向 (Force-directed) 布局算法绘图(布点)的简单实现
- 佛罗里达州立大学计算机专业排名,佛罗里达州立大学有哪些专业_专业排名(QS世界排名)...
- 基于MATLAB的AM调制解调
- 怎么提高电动车续航里程?
- 计算机打印机出现副本1,打印机提示Administrator的1个文档被挂起