Amigos, estou enfrentando a dificuldade relatada abaixo em um programa desktop.
Já pesquisei no fórum e também em sites na internet, mas ainda não encontrei nada que possa solucionar a questão.
O programa gera um arquivo em PDF de apenas uma página, sem acesso a banco de dados, e para isso utilizo o itext. Esta parte está funcionando de forma satisfatória.
Eu preciso implementar uma forma de visualizar o arquivo PDF criado. O ideal seria uma janela do próprio programa exibir o PDF para não ficar na dependência de um programa leitor de PDF externo. Mas não encontrei nada gratuito que satisfaça essa necessidade.
Como posso então implementar um código que informe ao usuário caso não tenha nenhum programa leitor de PDF (Adobe ou algum outro) instalado no computador?
Cria um próprio, vou ficar te devendo essa, mas vou tentar criar um leitor em PDF.
Por enquanto, se seu pdf conter apenas texto, pode ler com esse comando e colocar num JTextArea:
PdfReader reader = new PdfReader("C:\teste.pdf", null);
PdfTextExtractor text = new PdfTextExtractor(reader);
int numPages = reader.getNumberOfPages(); // Pega numeros de pagina
for (int i = 1; i <= numPages; i++) {
System.out.println(text.getTextFromPage(i));
}
O método Runtime.getRuntime().exec() lança uma exceção IOException, analise a exceção lançada.
Esse pdf é muito bom e ensina a usar a API iText:
http://www.4shared.com/office/rqFsHQnO/iText_in_Action.html
:thumbup:
[quote=mcirqueira]Cria um próprio, vou ficar te devendo essa, mas vou tentar criar um leitor em PDF.
Por enquanto, se seu pdf conter apenas texto, pode ler com esse comando e colocar num JTextArea:
PdfReader reader = new PdfReader("C:\teste.pdf", null);
PdfTextExtractor text = new PdfTextExtractor(reader);
int numPages = reader.getNumberOfPages(); // Pega numeros de pagina
for (int i = 1; i <= numPages; i++) {
System.out.println(text.getTextFromPage(i));
}
O método Runtime.getRuntime().exec() lança uma exceção IOException, analise a exceção lançada.
Esse pdf é muito bom e ensina a usar a API iText:
http://www.4shared.com/office/rqFsHQnO/iText_in_Action.html
:thumbup: [/quote]
Olá, amigo.
Obrigado pela sugestão.
Não há necessidade de obter os dados do arquivo em PDF por que o próprio programa o cria com dados que estão em variáveis de memória. Portanto, exibir esses dados em um JTextArea não seria problema.
O que eu preciso é que o programa exiba o próprio arquivo em PDF para o usuário visualizar e até se possível imprimir.
Pensei em utilizar o iReport.
É possível criar um relatório do iReport via código java com o conteúdo de apenas umas quatro ou cinco variáveis de memória?
Ou o iReport só serve para gerar relatórios com dados de banco de dados?
Apesar de não ser expert em java, consegui vencer muitas etapas fazendo esse programa, porém estou emperrado nessa questão do arquivo PDF.
O programa gera um recibo de uma página (em PDF) com alguns poucos dados e é preciso que o usuário consiga visualizar esse recibo e, quem sabe, até imprimi-lo.
Como disse antes, o ideal é que a utilização do programa fique independente de qualquer outro programa leitor de PDF, por exemplo o ADOBE.
Alguém consegue ajudar?
Eita mano!
Nunca usei o iReport, pra um recibo, você pode criar uma imagem e exibi-la, mas com pdf… acho que nessa apostila que te passei deve ter, tem um mucado de coisas lá.
:thumbup: