Jump to content


Photo

Pesquisar Em Pdf


  • Faça o login para participar
3 replies to this topic

#1 Dionísio Júnior

Dionísio Júnior

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 02/06/2011, 15:11

Olá pessoal.

Estou desenvolvendo um portal, e o cliente me pediu o seguinte:

Ele tem uma pasta com documentos PDF. Essa pasta tem outras sub-pastas referentes ao ano do documento: 2006,2007,2008,2009,2010,2011. Em cada pasta dessas tem cerca de 500 pdfs. O que ele quer, é que no portal tenha uma ferramenta de busca de PDFs, em que ele possa digitar uma palavra em um input, por exemplo, "contabilidade", e ao clicar em um botão, o site liste todos os pdfs encontrados em todas as pastas.

Ele quer também que se a pessoa que for fazer a busca por nome, e também quiser pesquisar pelo ano, tenha essa opção tb, ou seja, se o cara escolher na combo box, o ano de 2009 e na input, a palavra "contabilidade", o site vai pesquisar somente documentos de 2009 que contenham a palavra "contabilidade".

O site dele tem um banco de dados com uma tabela chamada documentos. Nessa tabela tem o número do documento, a data dele e o caminho em que ele se encontra na pasta do site.

Eu to listando o ano fazendo um query pra verificar, via select distinct, quais os anos de documentos que tem gravados no banco, tipo isso aqui:

SELECT DISTINCT YEAR( b.data ) AS ANO FROM documento b ORDER BY ANO

Bem, como eu faria essa pesquisa do PDF em todas as pastas ou se ele especificar um ano relativo ao documento?

Conto com a ajuda de vcs.

Abs.

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 02/06/2011, 18:42

Esse código pode acabar ficando pesado, dependendo da intensidade de uso. E se você quiser eventualmente implementar uma paginação, piora. O ideal é acrescentar uma coluna do tipo TEXT a essa tabela que contenha o texto do pdf. Como é só pra pesquisar, a formatação não importa muito. Assim, quando for localizar um arquivo, só precisa consultar o banco, em vez de abrir arquivo por arquivo.

Pra não ter que fazer esse "catálogo" manualmente, pode fazer um script usando alguma biblitoeca que leia pdf. Faz com que ele acesse os arquivos e jogue o texto deles no banco.

Edição feita por: LeoB, 02/06/2011, 18:43.


#3 Dionísio Júnior

Dionísio Júnior

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 03/06/2011, 10:21

Esse código pode acabar ficando pesado, dependendo da intensidade de uso. E se você quiser eventualmente implementar uma paginação, piora. O ideal é acrescentar uma coluna do tipo TEXT a essa tabela que contenha o texto do pdf. Como é só pra pesquisar, a formatação não importa muito. Assim, quando for localizar um arquivo, só precisa consultar o banco, em vez de abrir arquivo por arquivo.

Pra não ter que fazer esse "catálogo" manualmente, pode fazer um script usando alguma biblitoeca que leia pdf. Faz com que ele acesse os arquivos e jogue o texto deles no banco.


Sua idéia é boa, mas pow cara, são mais de 1000 documentos em pdf. Como eu poderia fazer isso???

#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 03/06/2011, 13:10

Aí que entra a parte de fazer o script pra cadastrar. Faz um código selecione todos os pdfs do banco, abra o arquivo no caminho que está cadastrado lá, leia o texto e atualize o registro.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq