Pesquisar pdf gastando muita memoria

0 respostas
lucasdona
Bom dia galera, estou carregando um pdf e realizando buscas nele, geralmente esse pdf tem entre 450 a 550 páginas e +- 15 Mb. Quando ele carrega o pdf, o consumo de memória vai pra 470 MB, até que aí não me importo muito, mas depois que acaba o processo e o programa dorme, o consumo de memória continua o mesmo, e quando volta o processo novamente sempre vao aumentando mais um pouco. Estou fechando o arquivo corretamente. Segue abaixo a classe:
public class Pdf {

    private static String caminho;

    public static void setEnderecoRecurso(String enderecoRecurso) {
        Pdf.caminho = enderecoRecurso; //endereço dos ficheiros
    }

    public static String getConteudo() {

        File arquivo = new File(Pdf.caminho);
        FileInputStream is = null;
        try {
            is = new FileInputStream(arquivo);
        } catch (IOException e) {
            System.out.println("ERRO: " + e.getMessage());
            return null;
        }

        PDDocument documento = null;
        
        try {
            PDFParser pdf = new PDFParser(is);
            pdf.parse();
            documento = pdf.getPDDocument();
            PDFTextStripper stripper = new PDFTextStripper();
            return stripper.getText(documento);
        } catch (IOException e) {
            return "Não é possível abrir o pdf" + e;
        } catch (Throwable e) {
            return "Erro ao tentar obter o conteúdo do pdf" + e;
        } finally {
            if (documento != null) {
                try {
                    documento.close();
                } catch (IOException e) {
                    return "Não foi possível fechar o pdf." + e;
                }
            }
        }
    }
}
Criado 16 de dezembro de 2012
Respostas 0
Participantes 1