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 jsparquivo=request.getParameter("arquivo");// passando arquivo para FileimageFile=newFile(arquivo);Tesseractinstance=newTesseract();// Caminho do tesseractinstance.setDatapath("C:\\Tess4J");// Linguagem leitura do textoinstance.setLanguage("por");// Extraindo texto da imagemresult=instance.doOCR(imageFile).toLowerCase();texto=result;System.out.println(texto);percorrerTexto(texto);protectedvoidpercorrerTexto(Stringtexto){Stringnf[]=texto.split("\n");// Percorrendo toda a Stringfor(inti=0;i<nf.length;i++){Stringresult=nf[i].toString();// Verificando se tem nf na Stringif(nf[i].contains("nome")){System.out.println("Resultado = "+result);}}**textoemnegrito**
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.
Stringdiretorio=System.getProperty("user.dir")+"\\src\\resources\\captcha2.png";StringdiretorioSaida=System.getProperty("user.dir")+"\\src\\resources\\captcha3.png";FileimageFile=newFile(diretorio);FileoutputFile=newFile(diretorioSaida);Tesseractinstance=null;Imageimage2=ImageIO.read(imageFile);try{instance=newTesseract();}catch(Exceptionex){ex.printStackTrace();}// Tesseract1 instance = new Tesseract1(); // JNA Direct Mappingtry{BufferedImageimage=newBufferedImage(100,100,BufferedImage.TYPE_BYTE_GRAY);Graphicsg=image.getGraphics();g.drawImage(image2,0,0,null);g.dispose();ImageIO.write(image,"PNG",outputFile);Stringresult=instance.doOCR(imageFile);System.out.println(result);}catch(TesseractExceptione){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.
Douglaswilliamn
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.
edumatias
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?