"Invalid canvas size" 使用 pdf.js 将 PDF 渲染为 PNG
"Invalid canvas size" while rendering PDF to PNG using pdf.js
我在使 PDF.js 库将 PDF 呈现为 PNG 文件时遇到问题。
我的步骤是:
mkdir pdf-test
npm init
npm install pdfjs-dist assert canvas
- 将
pdf2png.js
从 examples 页面复制到工作文件夹
- 将随机 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 版本是 Oct 27, 2018
的 v2.0.943
,而最新的 GitHub 版本是 Feb 16, 2019
的 v2.1.266
。
这个最新的更新有这个更新日志:migrate to canvas 2.x api 也影响了 pdf2png.js
文件,正如你在这里看到的:
因此,如果您使用 pdf.js
GitHub 存储库中的最新 pdf2png.js
文件,则 pdfjs-dist
npm 包和 pdf2png.js
文件.
我在使 PDF.js 库将 PDF 呈现为 PNG 文件时遇到问题。
我的步骤是:
mkdir pdf-test
npm init
npm install pdfjs-dist assert canvas
- 将
pdf2png.js
从 examples 页面复制到工作文件夹 - 将随机 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 版本是 Oct 27, 2018
的 v2.0.943
,而最新的 GitHub 版本是 Feb 16, 2019
的 v2.1.266
。
这个最新的更新有这个更新日志:migrate to canvas 2.x api 也影响了 pdf2png.js
文件,正如你在这里看到的:
因此,如果您使用 pdf.js
GitHub 存储库中的最新 pdf2png.js
文件,则 pdfjs-dist
npm 包和 pdf2png.js
文件.