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ę.