[RESCOLVIDO] Pegar texto com valor

Estou recebendo documento .pdf do jsp, faço a leitura desse documento extraindo texto dele.
Estou percorrendo esse texto para buscar uma informação que seria: nome: douglas. Não estou conseguindo.

        // Recebendo arquivo do jsp
		arquivo = request.getParameter("arquivo");
		
		// passando arquivo para File
		imageFile = new File(arquivo);
		Tesseract instance = new Tesseract();
		
		// Caminho do tesseract
		instance.setDatapath("C:\\Tess4J");
		
		// Linguagem leitura do texto
		instance.setLanguage("por");
		
		// Extraindo texto da imagem
		result =  instance.doOCR(imageFile).toLowerCase();
		
		texto = result;
		
		System.out.println(texto);
		
		percorrerTexto(texto);

 protected void percorrerTexto(String texto) {
	
	String nf[] = texto.split("\n");
	
	// Percorrendo toda a String
	for( int i = 0; i < nf.length; i++ ) {
		String result = nf[i].toString();
		
		// Verificando se tem nf na String
		if(nf[i].contains("nome")) {
			System.out.println("Resultado = " + result);
		}
	}**texto em negrito**

Douglas.

Sempre informe os erros encontrados (nullpointer, exceptions etc…) quando for abrir um tópico.

Na semana passada criei um OCR para ler texto de imagens captcha e consegui.

String diretorio = System.getProperty("user.dir")+"\\src\\resources\\captcha2.png";
    	String diretorioSaida = System.getProperty("user.dir")+"\\src\\resources\\captcha3.png";
        File imageFile = new File(diretorio);
        File outputFile = new File(diretorioSaida);
        Tesseract instance = null;
        Image image2 = ImageIO.read(imageFile);
        try{
        	instance = new Tesseract();
        }catch(Exception ex){
        	ex.printStackTrace();
        }
        // Tesseract1 instance = new Tesseract1(); // JNA Direct Mapping

        try {
        	BufferedImage image = new BufferedImage (100, 100 , BufferedImage.TYPE_BYTE_GRAY ); 
        	Graphics g = image.getGraphics ();
        	g.drawImage( image2 , 0, 0 , null ); 
        	g.dispose (); 
        	ImageIO.write(image, "PNG", outputFile);
        	
            String result = instance.doOCR(imageFile);
            System.out.println(result);
        } catch (TesseractException e) {
            System.err.println(e.getMessage());
        }

Essa classe ai faz tudo.

Porém, tive umas tretas com as bilbiotecas, e demorei pra acertar todas.

Mas se já tiver o Tesseract já é meio caminho.

Tente adaptar isso com a sua demanda.

extrair texto eu consigo normalmente. Estou percorrendo todo o texto. o que não estou conseguindo é pegar determinada palavra desse texto que foi extraído.

A sua variável texto então já está preenchida, certo?

Ai você entrar em percorrerTexto e quebra por espaço inserindo em um vetor , certo?

Você tá dizendo que nesse vetor por exemplo existe uma palavra e não está comparando?

if(nf[i].contains("nome")) {
	System.out.println("Resultado = " + result);
}

Tenta comparar assim

for(String valor : nf){
    if(valor.contains("nome")){
         System.out.println("Resultado = " + result);
   }
}

aqui estou verificando se palavra nome existe no texto.

Isso.

Fiz isso.

String nf[] = new String[3];
		nf[0] = "Eduardo";
		nf[1] = "Juca";
		
		for(String valor : nf){
			if(valor.contains("Ju")){
				System.out.println("Achouuu");
			}
		}

Funcionou normalmente.

Testa ae com for each.

Se a palavra que você procura realmente existir no vetor ele vai obrigatoriamente entrar.

certo vou testar

Ele me retornou certinho. Obg.

Show.

Só marca a resposta como Resolução.

Valeu