2012-10-16 13 views
8

Come per titolo, esiste un modo per analizzare pagine da un file PDF non protetto come oggetti javascript Image()?Analisi di pagine PDF come immagini javascript

Sarebbe anche opportuno convertirli prima di eseguire il javascript, ma vorrei che questo avvenga automaticamente e senza l'assistenza di alcuna libreria che richiede l'installazione.

Qualcuno su Internet ha pubblicato questo script Bash. Sfortunatamente, non conosco Bash, ma l'esecuzione è stata molto semplice.

#!/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" 

ma ho avuto questi errori:

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

Pre-conversione del PDF utilizzando uno script Bash sarebbe una buona soluzione. Qualcuno può correggere lo script sopra o fornire una soluzione alternativa?

Molte grazie in anticipo!

+0

perché non utilizzare Python e 1 delle librerie gozillion che è possibile utilizzare gratuitamente? – Ken

+0

@ Ken, puoi dire di più su questo? –

risposta

18

PDF.js consente di eseguire il rendering del PDF su una tela. Quindi puoi fare qualcosa del tipo:

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

Sono stato molto impressionato da PDF.js. Mi piace lasciare che il browser del cliente faccia il maggior numero possibile di lavoro per me.

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

+0

grazie! Ci sto provando e sembra perfetto. – Saturnix

+7

Demo non funziona più – Vanuan

+0

Ecco un esempio con codice funzionante: https://gist.github.com/ichord/9808444 – Anfuca

1

Sembra che il primo problema sia un file eseguibile mancante: identify. Questo fa parte di ImageMagick:

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

Accertarsi che siano presenti anche nel vostro percorso.

+0

quindi usa imagemagick! Molto male, non volevo usarlo ma sembra che sia l'unica soluzione. Grazie! – Saturnix

+0

@Saturnix 'convert' fa anche parte delle librerie imagemagick, questo script è interamente basato su imagemagick. – Ken

Problemi correlati