官网提供的示例

import { pdfjs } from 'react-pdf';
pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;

使用官方提供的的链接引入worker可能会存在加载错误的问题,可能由于服务器的问题导致,所以使用本地引入可以很好的避免这类问题;
本地引入示例代码

import { Document, Page } from 'react-pdf/dist/esm/entry.webpack5';
import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.min';

我使用的是webpack5,官方推荐从react-pdf/dist/esm/entry.webpack5中引入,但是直接从react-pdf中引入也没有问题,可以使用,之后引入Workerpdfjs-dist/build/pdf.worker.min;但是按照官方的写法需要加载到pdfjs.GlobalWorkerOptions.workerSrc上面去,首先想到的是从pdfjs-dist/build/pdf.worker.min中引入之后直接赋值

import { Document, Page } from 'react-pdf/dist/esm/entry.webpack5';
import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.min';
// 这样赋值会报错
pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker;

后来发现Document组件提供了一个属性options,可以使用该属性来加载文件,代码如下:

 <Document
    file={pdfFile}
    onLoadSuccess={onDocumentLoadSuccess}
    options={{ workerSrc: pdfjsWorker }}
    <Page scale={1} pageNumber={pageNumber} />
 </Document>

这样的好处再与不用请求官方提供的url了,对worker稳定获取很有帮助,不好的地方在于文件有点大,将近1M的大小会打包到项目;
我是ts项目,再引入pdfjs-dist/build/pdf.worker.min会报错,原因是没有对应的声明文件,加上声明文件就好了,代码如下:

declare module 'pdfjs-dist/build/pdf.worker.min';

还有一种方法,可以将该文件放在自家服务器上,访问也会稳定一些;

好了,希望可以帮到大家,散会~~(^ v ^)~~

官网提供的示例import { pdfjs } from 'react-pdf';pdfjs.GlobalWorkerOptions.workerSrc = `//unpkg.com/pdfjs-dist@${pdfjs.version}/build/pdf.worker.min.js`;使用官方提供的的链接引入worker可能会存在加载错误的问题,可能由于服务器的问题导致,所以使用本地引入可以很好的避免这类问题;本地引入示例代码import { Document, Page } from 'r 使用yarn add @mikecousins/react-pdf安装yarn add @mikecousins/react-pdf或npm install @mikecousins/react-pdf usePdf挂钩 使用应用程序中的钩子(还显示一些基本的分页): import React , { useState , useRef } from 'react' ; import { usePdf } from '@mikecousins/react-pdf' ; const MyPdfV
推荐开源项目:react-pdf-js —— 轻松在React中渲染PDF文档 项目地址:https://gitcode.com/mikecousins/react-pdf-js react-pdf-js 是一个基于 PDF.jsReact组件库,它为你提供了便捷的方式,在你的React应用中展示和操控PDF文档。通过这个库,你可以轻松地将PDF文件集成到网页中,并实现各种交互功能。...
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`; pdfjs.GlobalWorkerOptions.workerSrc = `... 在C端的前端项目中,针对用户会有多种规则需要展示,之前的处理方案是将这些规则写成一个个的静态页面,用户来访问这些页面。但如果这些规则需要变更的话,就需要前端修改对应的规则页面的文案,重新发版。为了避免这种因为规则文案修改而频繁发版的情况,现改用pdf方式来渲染,只需要在后台上传、配置需要展示的pdf规则文件,前端通过动态获取文件url在线预览pdf规则。 针对pdf的渲染,为了更好的兼容ie浏览器和m端,采用了PDF.js库。 PDF.js 由 Mozilla 提供支持。目标是创建一个通 source={{uri:'http://samples.leanpub.com/thereactnativebook-sample.pdf'}} style={{flex:1}} 以上是在 React Native 0.71.6 中使用 react-native-pdf 的基本步骤,你可以根据自己的需求调整代码。