问题标签 [react-pdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1890 浏览

javascript - 我可以在 react-pdf 中设置 PDF 分辨率(每英寸像素数)吗?

一些背景:

PDF 文档没有原生像素分辨率。这是因为 PDF 文档使用英寸进行缩放。然后每个 PDF 查看器确定每英寸将显示多少像素(例如 Adob​​e Acrobat 为 110 像素/英寸)。

我的问题:

React-PDF使用默认比例 72ppi。然而,在许多情况下,这对于舒适的阅读来说太小了。我希望有一种方法可以将默认 PPI 设置为 96。

我目前在做什么:

我将每个缩放比例<Page/>因子为96 / 72,但是我担心这种缩放是在主渲染过程之后应用的(即在像素输出上),而不是作为它的一部分(即在源文档上)。

这可能导致最终输出模糊。

可能的解决方案?

将文档呈现为 SVG 可能会改善最终缩放分辨率的细节。

其他任何人都有在 react-pdf 中使用 PPI 的经验吗?

0 投票
2 回答
4115 浏览

reactjs - 无法使用 react-pdf 显示 pdf 文件

我正在尝试将 pdf 文件加载到我的项目中,但我看不到它。它只是一直显示“正在加载 PDF...”

我已经添加pdfjs了一些 github repo 问题中提到的 web-worker,但仍然没有变化。我尝试通过创建一个新项目起诉来构建页面create-react-app,它似乎工作正常。

onSourceSuccess回调似乎在控制台日志记录中触发,但没有其他回调触发。在控制台中,我可以看到一个错误,指出该窗口未定义。

0 投票
0 回答
614 浏览

reactjs - 我的文件生成 pdf 仅显示 10% 的屏幕

我正在尝试使用 react 从我的网页生成 pdf,我有 react-pdf 库,但它没有显示 pdf 文档的全屏,只有 10% 的屏幕显示 pdf。

我导入库

定义我的风格

我的文件生成文件

我渲染所有代码以使用此代码生成我的文件。

但是在浏览器的显示中,这个文件只显示了 10% 的文档。我有 React JS 和 react-pdf。

0 投票
2 回答
7215 浏览

reactjs - 警告:使用了不正确的大小写。对 React 组件使用 PascalCase,对 HTML 元素使用小写

console.error node_modules/react-dom/cjs/react-dom.development.js:506 警告:使用了不正确的大小写。对 React 组件使用 PascalCase,对 HTML 元素使用小写。

我有 Jest 和 react-pdf 的问题

0 投票
0 回答
1857 浏览

reactjs - 如何使用带有 pdf.worker.js 的 react-pdf 访问从 pdf 文件生成的图像

我正在尝试将 PDF 文件作为图像加载到 D3.js 中的 SVG 中,并使用 React。我设法使用 react-pdf 将 pdf 文件加载为 dom 元素。通过网络选项卡,我看到“pdf.worker.js”在 URL 处生成了一个 blob 作为 jpeg 图像(可能使用 createObjectURL)。我想访问这个 jpeg 图像,但我不知道如何访问,也没有找到答案。

https://imgur.com/PuSSJqC

任何人都可以帮助我吗?

我尝试直接从 DOM 访问 canvas 元素并使用importPDFCanvas.toDataURL(),但是这个图像是空白的。

我希望有一种方法可以通过 pdf.js api 访问此图像或 URL,但不知道如何获取它。抱歉,如果这似乎是一个新手问题,将不胜感激任何关于在哪里寻找或寻找什么的指导!

编辑: 解决方案只是使用onRenderSuccess而不是onLoadSuccess.

0 投票
1 回答
2830 浏览

reactjs - 错误:react-pdf 中 EOF 之后的 stream.push()

我正在尝试使用 react-pdf 打开一个 pdf 文档

当有人单击“打印”按钮时,本地存储数据会在 App 组件中设置。

pdf 使用 react-router 在新选项卡中打开

该选项卡以 pdf 格式打开,但没有数据、两页和控制台中的错误stream.push() after EOF in react-pdf

无法打开 pdf 的实时站点。

0 投票
0 回答
534 浏览

javascript - React html2canvas jspdf 多页

我希望使用 html2canvas 和 jspdf 来下载多页 PDF。

我可以对以下内容进行单页处理:

我也知道我可以添加一个包含以下内容的页面:

如果我将一个三页文档分成 3 个 div <div id="divToPrint1"> ... </div>, <div id="divToPrint2"> ... </div>, and <div id="divToPrint3"> ... </div>,我将如何创建和下载所有 3 个页面。

任何帮助是极大的赞赏!

0 投票
0 回答
67 浏览

javascript - 为什么导入 react pdf 会从我的 npm 库中破坏我的应用程序

我正在为我的应用程序构建一个 npm 模块:myLibrary:myMainApp。我需要在 myLibrary 中使用 react-pdf。在我的 myLibrary 中的一个组件中:

我从 myMainApp 安装 myLibrary。错误输出:

我尝试从 myLibrary 中删除所有 react-pdf 代码。包括从'react-pdf'行导入{ Document ...},重新运行myMainApp,没有错误。

为什么在 myLibrary 中导入 react-pdf 会破坏 myMainApp?

0 投票
1 回答
569 浏览

reactjs - 如何在 WebWorker 上使用 React 组件

我正在使用https://react-pdf.org/上的 react-pdf 包创建 PDF 生成器。将 react-pdf 组件转换为 pdf 的过程会阻塞主线程,所以我想在单独的 Worker 线程上转换它们。

我正在使用带有 worker-loader 的 create-react-app 来识别 WebWorker 文件。我很难想出一种将反应组件导入 Webworker 并使用 react-pdf 提供的 pdf(Component).toBlob() 方法转换它们的方法。pdf(Component).toBlob() 将 react 组件作为输入并输出 blob 文件,这意味着工作人员必须能够以某种方式加载 React 组件。当不包含任何 React 组件时,WebWorker 会按预期工作。

我天真地尝试将 React 组件导入 WebWorker 并尝试运行转换方法:

这会导致模块解析错误:

任何帮助将不胜感激。

编辑:我正在使用 create-react-app 默认 webpack 配置,并添加了 worker-loader 来检测.worker.js文件并将它们注册为 Webworker。我使用 react-app-rewired 包添加了工作加载器:

0 投票
2 回答
3759 浏览

javascript - 大型 PDF 的 React-PDF 性能缓慢

我正在使用来自 npm 的 React-PDF,带有 PDFDownloadLink 功能来下载一个大的 pdf。但是 PDF 是在我的应用程序加载时创建的,延迟时间很长。

我尝试过计时器,延迟加载组件,使用 useState 更改文档数据。

单击 PDF 按钮后,我只需要加载文档数据,而不是在每个页面渲染上。