Amigo, para melhorar a ajuda, poderia colocar seu codigo aqui para visualizarmos.
Em certos aspectos o jasper é meio chato mesmo, mas eu gosto dele hehe.
Enfim, para este erro ocorrer, voce deve estar estorando a memoria da VM, poderia tentar aumentar este tamanho para tentar gerar o relatorio totalmente na memoria!
Outro erro q pode ocorrer, é de estar ultrapassando os limites das margens da página, verifique isso, tente aumentar os campos e ver se funciona.
Ou você pode fazer uma virtualização do seu relatório, gerando ele aos poucos e gravando localmente!!
Para contornar esse problema, podemos “virtualizar” a geração do relatório utilizando um parâmetro pré-definido do jasperReports: REPORT_VIRTUALIZER
Com isso, ao invés do Jasper tentar preencher o relatório totalmente utilizando a memória, para somente depois liberá-la, ele ?gerencia? a memória, gerando uma parte do relatório, e passando essa parte para um arquivo de cache, depois volta a gerar outra parte, e assim por diante, até o término da geração.
//Cria um cache no C:\tmp
JRFileVirtualizer fileVirtualizer = new JRFileVirtualizer(100, "c:\\tmp"); // onde 100 é tamanho máximo (em objetos JRVirtualizable) do paginado em cache.
//Seta o parametro REPORT_VIRTUALIZER com o diretório onde será armazenado o cache
HashMap parametros = new HashMap();
parametros.put(JRParameter.REPORT_VIRTUALIZER, fileVirtualizer);
// Segue com sua logica do relatorio normalmente
JasperFillManager.fillReportToFile("MeuRelatorio.jasper", parametros ...
Espero que ajude, qualquer coisa me add no msn: rdmardegam@hotmail.com
Abraço.