Programação  
 
Conhecimento computador >> Programação >> Programação Perl >> 
Como usar Perl para Procurar um Doc PDF
scripts Perl " crawl" em toda a web , peneirar o oceano de páginas HTML para informações, e , inevitavelmente, alguns dos milhões de arquivos PDF Adobe Acrobat polvilhado em toda a Internet. Embora eles estão prontos para imprimir e atraente , do ponto de vista de um rastreador web, PDFs são uma porca um pouco mais difícil de quebrar do que páginas HTML simples, baseados em texto. Felizmente , como acontece com muitas tarefas na web, há um módulo Perl que podem ajudar a tornar a vida mais fácil : CAM :: PDF. Esta interface de programação , embora destinado principalmente para criar e manipular arquivos PDF , tem alguns utilitários que permite scripts para pesquisar seu conteúdo. Coisas que você precisa
ambiente de script Perl
CAM :: PDF módulo Perl
texto ou editor de código
arquivo PDF
Show Mais instruções
1 < p > Instale CAM :: PDF. O utilitário cpan fornece a maneira mais fácil de fazer isso - comece cpan na linha de comando e no prompt , digite " instalar CAM :: PDF" (sem aspas)
2

Abra um editor e . iniciar o script, inserindo as seguintes linhas para iniciar o interpretador Perl e importar o módulo necessário :

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

Adicione as próximas duas linhas de processar os argumentos de linha de comando que o usuário vai passar em:

my $ arquivo = shift; my $ search = shift;

O primeiro argumento passado para o script será o nome de um PDF arquivo , eo segundo , a seqüência de pesquisa
3

Crie um novo objeto CAM :: PDF , adicionando a seguinte linha ao script: .

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

Usando o método numpages do módulo importado para definir o limite superior, criar um loop para processar cada página do documento :

foreach minha $ p ( ( 1 .. $ doc -> numpages ( ) )) {
4

Dentro do loop , adicione esta linha para obter cada página de texto a partir do arquivo PDF:
< p> my $ str = $ doc -> getPageText ( $ p );

Adicione a próxima instrução de script para dividir o texto da página para cima em uma matriz de linhas separadas :

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

Termine a declaração circuito inserindo um colchete de fechamento :

}
5

Finalmente , adicione outro loop para o script para processar cada linha da página e buscar uma correspondência para a linha de busca do usuário como uma expressão regular. Se a expressão regular retorna um jogo , este exemplo imprime a linha e número da página para stdout. No lugar das demonstrações de impressão , você deve implementar o código para processar os resultados , conforme necessário

my $ i = 0; . Foreach ( $ line @ linhas ) { + + $ i ; if ($ linha = ~ /$ busca /) {print "\\" $ pesquisa \\ "encontrado na linha $ i da página $ p \\ n"; print " $ linha \\ n \\ n" }}

Anterior :

Próximo : No
  Os artigos relacionados
·Como criar um arquivo usando Perl 
·Como excluir arquivos HTML no diretório em Perl 
·Perl : Como substituir Semicolons 
·Tutorial para XML para Perl 
·Como remover Newline Perl 
·Como testar um CGI Script Sendmail 
·Como limpar Perl Script Formato 
·Que Scripts Do SQL Perl Do 
·Como encontrar o tamanho do arquivo em Perl 
·Como usar o Twitter Net PERL 
  Artigos em destaque
·Como código da matriz subtração em C + + 
·Como inserir um calendário no seu site utilizando PHP 
·Como executar um Applet Java De HTML 
·Escrever e Projetando Videojogos 
·Diferenças entre Definindo uma função membro não -S…
·O NetBeans Permitir Simples Passos 
·Como mudar de localidade Struts em Java 
·NetBeans pontos de interrupção não estão funcionand…
·Como ocultar a lista suspensa em JavaScript 
·Como converter FileMaker Pro para MySQL 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados