2012-10-16 14 views
8

Co do tytułu, czy istnieje sposób, w jaki można parsować strony z niezabezpieczonego pliku PDF jako obiektów javascript Image()?Parsowanie stron PDF jako javascript Obrazy

Byłoby również ok, aby przekonwertować je przed uruchomieniem javascript, ale chciałbym, aby to zrobiono automatycznie i bez pomocy jakiejkolwiek biblioteki, która wymaga instalacji.

Ktoś za pośrednictwem Internetu opublikował ten skrypt Bash. Niestety, nie znam Basha, ale jego uruchomienie było bardzo proste.

#!/bin/bash 
PDF='doc.pdf' 
NUMPAGES=`identify -format %n "$PDF"` 

for ((IDX=0; IDX<$NUMPAGES; IDX++)) 
do 
    PAGE=$(($IDX+1)) 
    convert -resize 1200x900 "$PDF[$IDX]" `echo "$PDF" | sed "s/\.pdf$/-page$PAGE.jpg/"` 
done 

echo "Done" 

ale mam te błędy:

line 3: identify: command not found 
line 5: ((: IDX<: syntax error: operand expected (error token is "<") 

Pre-konwersji PDF przy użyciu skryptu bash byłoby dobrym rozwiązaniem. Czy ktoś może naprawić powyższy skrypt lub dostarczyć alternatywne rozwiązanie?

Wielkie dzięki z góry!

+0

dlaczego nie używając Python i 1 bibliotek gozillion które można używać za darmo? – Ken

+0

@Ken, możesz powiedzieć coś więcej na ten temat? –

Odpowiedz

18

PDF.js pozwoli Ci wyrenderować plik PDF na kanwie. Następnie możesz zrobić coś takiego:

var img = new Image(); 
img.src = pdfCanvas.toDataURL(); 

Jestem pod dużym wrażeniem PDF.js. Uwielbiam pozwalać przeglądarce klienta wykonywać jak najwięcej pracy dla mnie, jak to tylko możliwe.

Demo tutaj: http://jsbin.com/pdfjs-helloworld-v2/1/edit

+0

dzięki! Próbuję go i wydaje się idealny. – Saturnix

+7

Demo już nie działa – Vanuan

+0

Oto treść z działającym kodem: https://gist.github.com/ichord/9808444 – Anfuca

1

Wygląda na to, że pierwszym problemem jest brakujący plik wykonywalny: identify. Jest to część ImageMagick:

http://www.imagemagick.org/script/index.php

Upewnij się też mieć go na swojej drodze.

+0

, więc używa imagemagick! Bardzo źle, nie chciałem go używać, ale wygląda na to, że jest to jedyne rozwiązanie. Dzięki! – Saturnix

+0

@Saturnix 'convert' jest również częścią bibliotek imagemagick, ten skrypt jest całkowicie oparty na imagemagick. – Ken

Powiązane problemy