Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Perl Programming >> .

Come utilizzare Perl per cercare un documento pdf

script Perl " strisciare " attraverso il web , spulciando tra l'oceano di pagine HTML per le informazioni , e, inevitabilmente, incontrano alcuni dei milioni di file Adobe Acrobat PDF spruzzato su Internet. Anche se sono pronti per la stampa e attraente , dal punto di vista di un web crawler , i PDF sono un dado leggermente più difficile da decifrare , di pagine HTML basati su testo semplice . Per fortuna , come con molte attività web , vi è un modulo Perl che può contribuire a rendere la vita più facile : CAM :: PDF . Questa interfaccia di programmazione , anche se per lo più destinati a creare e manipolare file PDF , ha alcuni programmi di utilità che consente di script per cercare il loro contenuto . Cose che ti serviranno
scripting Perl ambientaliste CAM :: PDF Perl modulo
Testo o codice editor di file PDF

Mostra più istruzioni
1 < p > Installa CAM :: PDF . L'utilità CPAN offre il modo più semplice per farlo - avviare CPAN nella riga di comando e al prompt , digitare " install CAM :: PDF " (senza virgolette ) economici 2

Aprire un editor e . avviare lo script , inserendo le seguenti righe per avviare l'interprete Perl e importare il modulo necessario :

# /usr /bin /perluse CAM :: PDF ;

Aggiungere le due righe successive a! elaborare gli argomenti della riga di comando che l'utente passerà in :

mio $ file = shift; my $ ricerca = shift;

il primo argomento passato allo script sarà il nome di un file PDF . file e il secondo , la stringa di ricerca
3

Creare un nuovo oggetto CAM :: PDF aggiungendo la seguente riga allo script :

my $ doc = CAM :: PDF - > new ( $ file) ;

Usando il metodo NumPages del modulo importato per definire il limite superiore , creare un ciclo per elaborare ogni pagina del documento :

foreach my $ p ( ( 1 .. $ doc -> NUMPAGES ( ) ) ) {
4

All'interno del ciclo , aggiungere questa riga per avere ogni pagina di testo dal file PDF :
< p > my $ str = $ doc- > getPageText ( $ p ) ;

aggiungere l'istruzione di script seguente per dividere il testo della pagina in una molteplicità di linee separate :

@ righe = split ( /\\ n /, $ str ) ;

Termina l'istruzione ciclica inserendo una parentesi di chiusura :

}
5

Infine, aggiungere un altro anello alla lo script per elaborare ogni riga della pagina e cercare una corrispondenza per la stringa di ricerca dell'utente come una espressione regolare . Se l'espressione regolare restituisce una partita , questo esempio stamperà la relativa riga e il numero di pagina a stdout . Al posto di queste istruzioni di stampa , è necessario implementare il codice per elaborare i risultati in base alle esigenze

my $ i = 0; . Foreach $ line ( @ righe) { + + $ i ; if ( $ linea = ~ /$ search /) { print " \\ " $ ricerca \\ "che si trova in linea $ i di pagina $ p \\ n"; print " $ riga \\ n \\ n" } }

 

Programmazione © www.354353.com