我在使 PDF.js 库将 PDF 渲染为 PNG 文件时遇到问题。
我的步骤是:
mkdir pdf-test
npm init
npm install pdfjs-dist 断言 Canvas
- 从 examples 复制
pdf2png.js
页面到工作文件夹 - 将随机 PDF 复制到此文件夹,并在第 54 行的
pdf2png.js
中设置其路径 Node pdf2png.js
我得到以下输出:
# PDF document loaded.
(node:13760) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: Invalid canvas size
at NodeCanvasFactory_create [as create] (D:\tests\pdf-test\pdf2png.js:23:5)
at D:\tests\pdf-test\pdf2png.js:70:21
令人惊讶的是,如果我克隆整个 PDF.js 存储库并按照说明从源代码构建它,脚本就会正常工作,并且我会得到正确渲染的 PNG 文件。
从 NPM 安装预构建版本时缺少什么?
最佳答案
您缺少更新。
最新的 pdfjs-dist
npm 版本为 v2.0.943
,于 2018 年 10 月 27 日
发布,而最新的 GitHub 版本为 v2.1.266
,于 2019 年 2 月 16 日
发布。
此最新更新有以下更改日志:migrate to canvas 2.x api这也影响了 pdf2png.js
文件,如下所示:
因此,如果您使用 pdf.js
GitHub 存储库中的最新 pdf2png.js
文件,则 pdfjs-dist
npm 包和 pdf2png.js
文件之间存在某种版本不匹配。
关于javascript - 使用 pdf.js 将 PDF 渲染为 PNG 时出现 "Invalid canvas size",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55917554/