Pesquisar pdf

6 respostas
rafaelsoma

bom, comecei a usar java faz pouco tempo e preciso pesquisar um texto que pode estar dentro de vários arquvios pdf.

como eu consigo fazer este tipo de pesquisas ???

6 Respostas

Alexandre_Saudate

Dá uma procurada no Lucene, da Apache.

rafaelsoma

mas daí, eu tenho que instalar o tomcat??

Alexandre_Saudate

Não, o Lucene é da empresa Apache. O Tomcat é um projeto deles, o Lucene é outro. Não tem nada a ver.

rochribre

Amigão acho que isso pode salvar, essa função que criei lê o pdf e retorna todo o seu conteudo texto, o retorno é uma String, é só aplicar a função ‘contains’ na string e verificar se existe seu texto.
Baixe a biblioteca Aspire que está neste siste http://asprise.com/product/javapdf/index.php , essa biblioteca trabalha todo o conteudo pdf.

public String lerPDF(String aARQUIVO){ //String para armazenar o conteudo texto StringBuilder texto = new StringBuilder(); try { //Armazenando o PDF PDFReader reader = new PDFReader(new File(aARQUIVO)); //Abrindo o Arquivo reader.open(); //Contando o Numero de Paginas int pages = reader.getNumberOfPages(); //Loop nas paginas e armazenando texto. for(int i=0; i < pages; i++) texto.append(reader.extractTextFromPage(i)); //Fechando o arquivo reader.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch(IOException ex){ ex.printStackTrace(); } //Retorno return texto.toString(); }

rochribre

Amigão acho que isso pode salvar, essa função que criei lê o pdf e retorna todo o seu conteudo texto, o retorno é uma String, é só aplicar a função ‘contains’ na string e verificar se existe seu texto.
Baixe a biblioteca Aspire que está neste siste http://asprise.com/product/javapdf/index.php , essa biblioteca trabalha todo o conteudo pdf.

public String lerPDF(String aARQUIVO){ //String para armazenar o conteudo texto StringBuilder texto = new StringBuilder(); try { //Armazenando o PDF PDFReader reader = new PDFReader(new File(aARQUIVO)); //Abrindo o Arquivo reader.open(); //Contando o Numero de Paginas int pages = reader.getNumberOfPages(); //Loop nas paginas e armazenando texto. for(int i=0; i < pages; i++) texto.append(reader.extractTextFromPage(i)); //Fechando o arquivo reader.close(); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch(IOException ex){ ex.printStackTrace(); } //Retorno return texto.toString(); }

Bruno_Cunha

Boa noite.

Eu conheço o Apache Tika - http://tika.apache.org/

Ele possibilita a extração de conteúdo e metadados de diversos formatos de arquivos.
Inclusive na distribuição eles tem uma interface, para você jogar lá o seu arquivo/documento e verificar o que ele conseguiu achar de informação.

Atenciosamente,
Bruno

Criado 3 de abril de 2008
Ultima resposta 22 de dez. de 2012
Respostas 6
Participantes 4