Хорошая новость: есть способ запечатлеть ваш PDF полностью.
Плохая новость: это немного затянуто, и PDF не может быть на 100% правильным!
(Это лучше, чем ничего, верно?)
Итак, чтобы все это заработало, вам нужно сделать следующее:
- Загрузите версию NodeJS отсюда и установите ее
- а. Если у вас установлен
git просто mozilla/pdf.js из github следующим образом.
git clone git://github.com/mozilla/pdf.js.git pdfjs и cd
б) если у вас нет git вам нужно скачать весь репозиторий кода отсюда: https://github.com/mozilla/pdf.js/archive/master.zip
распакуйте его, а затем откройте command prompt и cd в корень папки
- запустить
node make server
На данный момент вы создали веб-сервер, работающий на localhost:8888 который может отображать PDF-файлы с использованием JavaScript . Вы можете просмотреть пример pdf, перейдя на следующую страницу: http://localhost:8888/web/viewer.html?file=/examples/learning/helloworld.pdf
Далее вам нужно скачать PhantomJS.
- Хватай отсюда
- Распакуйте его куда угодно, а затем из командной строки
cd в папку bin
- Скопируйте файл
rasterize.js из папки examples phantomjs в папку bin (я знаю, что он немного грязный, но мы можем разобраться с этим позже, верно?)
- Откройте
rasterize.js потому что нам нужно что-то изменить.
- Перейдите к строке
45 и измените время с 200 на 5000 . Код должен выглядеть следующим образом: https://gist.github.com/HaykoKoryun/eba33f2011d3d69b773b
- Поместите копию
pdf файла, который вы хотите записать, в папку с именем test в корневой папке pdfjs
- Наконец, выполните следующую команду
phantomjs.exe rasterize.js http://localhost:8888/web/viewer.html?file=/test/xxx.pdf test.png 1920px*1080px
Что это за параметры, которые я слышу?
Первый сообщает phantomjs какой скрипт запускать. Это легко, в нашем случае это модифицированная версия rasterize.js !
Второй - это URL-адрес для загрузки, который является локальным веб- сервером , на котором выполняется pdfjs . Обратите внимание, что вам нужно заменить xxx на имя вашего pdf файла.
Третий параметр - это имя и формат файла, в который вы хотите сохранить запись.
Наконец, последний параметр - это размер захвата. Вам нужно будет поиграть с размером, чтобы убедиться, что вы захватили всю страницу.