Dobra wiadomość: istnieje sposób na przechwycenie twojego pdf'a w całości.
Zła wiadomość : jest to trochę długotrwałe i pdf może nie wyjść w 100% poprawny!
(Lepsze to niż nic, prawda?)
Tak więc, aby to wszystko działało, musisz wykonać następujące czynności:
- Pobrać wersję NodeJS z tutaj i zainstalować ją
- a. Jeśli masz zainstalowany
git
sklonuj repo mozilla/pdf.js
z github
w ten sposób
git clone git://github.com/mozilla/pdf.js.git pdfjs
i cd
do katalogu
b. jeśli nie masz git
to musisz pobrać całe repozytorium kodu stąd: https://github.com/mozilla/pdf.js/archive/master.zip
rozpakuj je, a następnie otwórz command prompt
i cd
do głównego katalogu
- uruchom
node make server
To, co zrobiłeś do tej pory, to stworzenie serwera WWW działającego na localhost:8888
, który jest w stanie renderować pdfy przy użyciu JavaScript
. Możesz zobaczyć przykładowy plik pdf wchodząc na poniższą stronę: http://localhost:8888/web/viewer.html?file=/examples/learning/helloworld.pdf
W następnej kolejności należy pobrać PhantomJS.
- Pobierz go z tutaj
- Rozpakuj go gdziekolwiek chcesz, a następnie z wiersza poleceń
cd
do folderu bin
- Skopiuj plik
rasterize.js
z folderu examples
do folderu phantomjs
(wiem, że to trochę brudne, ale uporządkujemy to później, prawda?)
- Otwórz
bin
, ponieważ musimy coś zmienić.
- Przejdź do linii
rasterize.js
i zmień czas z 45
na coś w stylu 200
na razie. Kod powinien wyglądać tak: https://gist.github.com/HaykoKoryun/eba33f2011d3d69b773b
- Umieść kopię pliku
5000
, który chcesz przechwycić, w folderze o nazwie pdf
w folderze głównym
- Na koniec uruchom następujące polecenie
test
Co to za parametry, słyszę, że pytasz? Pierwszy z nich mówi pdfjs
, który skrypt ma zostać uruchomiony. To proste, w naszym przypadku jest to zmodyfikowana wersja phantomjs.exe rasterize.js http://localhost:8888/web/viewer.html?file=/test/xxx.pdf test.png 1920px*1080px
!
Drugi to adres URL do załadowania, czyli lokalny serwer WWW, na którym działa phantomjs
. Zauważ, że będziesz musiał zastąpić rasterize.js
nazwą swojego pliku pdfjs
.
Trzeci parametr to nazwa i format pliku, do którego zapiszesz zrzut.
Ostatnim parametrem jest rozmiar zrzutu. Będziesz musiał pobawić się z rozmiarem, aby mieć pewność, że uchwycisz całą stronę.