首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >react-pdf不会渲染基本的pdf

react-pdf不会渲染基本的pdf
EN

Stack Overflow用户
提问于 2021-04-14 00:37:05
回答 2查看 328关注 0票数 0

尝试使用react-pdf渲染一个pdf,我发誓我已经完成了他们的文档的所有配置,但没有任何工作。我不断地得到

代码语言:javascript
运行
复制
ReferenceError: $RefreshReg$ is not defined

概念证明组件。是的,在这段代码中没有使用这些选项,但我尝试过使用它。我尝试将cmap直接引入到这个组件中并在那里引用它。我尝试了复制webpack插件,并完全按照文档中的建议操作。没有一样东西起作用。总是出现同样的错误。希望我错过了一些小细节。

代码语言:javascript
运行
复制
/* eslint-disable @typescript-eslint/no-var-requires */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
/* eslint-disable @typescript-eslint/no-empty-function */
/* eslint-disable @typescript-eslint/ban-ts-comment */
import { Container, Paper } from '@material-ui/core';
import React, { useState } from 'react';
import { Document, Page } from 'react-pdf/dist/esm/entry.webpack';
import { pdfjs } from 'react-pdf';
import 'react-pdf/dist/esm/Page/AnnotationLayer.css';
pdfjs.GlobalWorkerOptions.workerSrc = 'pdf.worker.min.js';

const options = {
    cMapUrl: `//cdn.jsdelivr.net/npm/pdfjs-dist@${pdfjs.version}/cmaps/`,
    cMapPacked: false
};


export default function TVRPreview() {
    const [numPages, setNumPages] = useState(null);
    const [pageNumber, setPageNumber] = useState(1);

    function onDocumentLoadSuccess({ numPages }: any) {
        setNumPages(numPages);
    }

    return (
        <Container>
            <Paper>TVR Preview</Paper>

            <Paper elevation={6}>
                <Document file="./PDFTestTVR.pdf" onLoadSuccess={onDocumentLoadSuccess}>
                    <Page pageNumber={pageNumber}></Page>
                </Document>
            </Paper>
        </Container>
    );
}

项目详情

使用react- App -rewired创建React应用程序

"start":"react-app-rewired start",

EN

回答 2

Stack Overflow用户

发布于 2021-07-21 01:19:02

为了确保一切都正常工作,请执行以下步骤:

const options更改为:

代码语言:javascript
运行
复制
const options = {
    cMapUrl: 'cmaps/',
    cMapPacked: true,
};

还有这里:

代码语言:javascript
运行
复制
<Document file="./PDFTestTVR.pdf" onLoadSuccess={onDocumentLoadSuccess}>

将此文件引用更改为位于互联网上某个位置的任何pdf。

票数 0
EN

Stack Overflow用户

发布于 2021-10-19 05:30:04

这里可能有两个问题..

  1. 确保您的本地pdf文件位于公用文件夹中。
  2. 使用pdfjs.version而不是传入pdf

代码语言:javascript
运行
复制
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;

文档:react-pdf

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67078951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档