«Неверный размер холста» при рендеринге PDF в PNG с использованием pdf.js - PullRequest
1 голос
/ 30 апреля 2019

У меня проблемы с тем, чтобы библиотека PDF.js отображала PDF в файл PNG.

Мои шаги:

  1. mkdir pdf-test
  2. npm init
  3. npm install pdfjs-dist assert canvas
  4. Копировать pdf2png.js со страницы examples в рабочую папку
  5. Скопировать произвольный PDF в эту папку,установить путь к нему в pdf2png.js в строке 54
  6. 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?

1 Ответ

0 голосов
/ 06 мая 2019

Вам не хватает обновления.

Последняя версия pdfjs-dist npm v2.0.943 из Oct 27, 2018, а последняя версия GitHub v2.1.266 из Feb 16, 2019.

В этом последнем обновлении есть этот журнал изменений: мигрируйте в canvas 2.x api , что также затронуло файл pdf2png.js, как вы можете видеть здесь:

enter image description here

Так что, если вы использовали самый последний файл pdf2png.js из pdf.js GitHub репозитория, у вас было какое-то несоответствие версий между пакетом pdfjs-dist npm и файлом pdf2png.js.

...