react-pdf官方文档
import fill from 'lodash/fill' ;
import get from 'lodash/get' ;
import React, { useEffect, useState } from 'react' ;
import { Document, Page, pdfjs } from 'react-pdf' ;
import { withRouter } from 'react-router-dom' ;
import styles from './index.module.css' ;
pdfjs. GlobalWorkerOptions. workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/ ${ pdfjs. version} /pdf.worker.js` ;
const PdfPage = withRouter ( ( { location } ) => {
const [ numPages, setNumPages] = useState ( ) ;
useEffect ( ( ) => {
console. log ( 'pdf url 链接=====' , location. state) ;
} , [ location] ) ;
const onDocumentLoadSuccess = ( pages: any) => {
setNumPages ( get ( pages, '_pdfInfo.numPages' ) ) ;
} ;
return (
< div className= { styles. pdfContainer} >
< Document
className= { styles. pdfDoc}
file= "/test.pdf"
onLoadSuccess= { onDocumentLoadSuccess}
onLoadError= { ( ) => console. log ( 'error' ) }
renderMode= "canvas"
externalLinkTarget= "_blank"
loading= ""
>
{ fill ( new Array ( numPages) , '' ) . map ( ( item, index) => {
return (
< Page
loading= ""
noData= ""
className= { styles. pageContent}
width= { screen. availWidth}
key= { index}
pageNumber= { index + 1 }
renderTextLayer= { true }
/ >
) ;
} ) }
< / Document>
< / div>
) ;
} ) ;
export default PdfPage;