У меня возникли проблемы с тем, чтобы библиотека PDF.js отображала PDF-файл в файл PNG.
Мои шаги:
mkdir pdf-testnpm initnpm install pdfjs-dist assert canvaspdf2png.js со страницы Примеры в рабочую папкуpdf2png.js в строке 54node 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?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам не хватает обновления.
Последняя версия pdfjs-dist npm — v2.0.943 от Oct 27, 2018, а последняя версия GitHub — v2.1.266 от Feb 16, 2019.
Это последнее обновление имеет этот журнал изменений: перейти на холст 2.x API, который также затронул файл pdf2png.js, как вы можете видеть здесь:
Поэтому, если вы использовали последний pdf2png.js файл из pdf.js репозитория GitHub, у вас было какое-то несоответствие версий между pdfjs-dist пакетом npm и pdf2png.js файлом.
Вау, спасибо! Обновление до
2.1.226фактически решило проблему!