react 移动端不分页查看pdf

react-pdf官方文档

  • 不分页查看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';

//解决报pdf.worker.js错误
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}
        // pdf链接
        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;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值