Bienvenido(a), Visitante. Favor de ingresar o registrarse.
Diciembre 02, 2008, 02:06:05
Inicio Ayuda Buscar Ingresar Registrarse
Noticias: Foro de Java, C++ y más.

Nuevo foro de Control de versiones.

+  Foros Java y C/Linux
|-+  Programación
| |-+  Java J2SE
| | |-+  Abrir .pdf desde java
« anterior próximo »
Páginas: [1] Enviar tema Imprimir
Autor Tema: Abrir .pdf desde java  (Leído 2286 veces)
Niubi
Full Member
***
Mensajes: 154


Ver Perfil


« en: Mayo 05, 2008, 08:12:17 »

Hola

He buscado sobre este problema en el foro y he encontrado el siguiente código en un hilo

Citar
String path = "carpeta\\tuArchivo.pdf";
String comando[] = {"C:\\Program Files\\Adobe\\Acrobat 6.0\\Reader\\", path };

try {
   Runtime.getRuntime().exec(comando);
} catch (Exception e) {
         e.printStacktrace();
}

pero me crea una duda.
Si por ejemplo ejecuto el programa que abra un archivo pdf en una máquina que tiene el acrobat 8.0, ya no me valdría el valor de comando, ¿hay una forma  de poner esta parte genérica?,es decir, que pueda abrir un pdf sin que importe  la versión de acrobat reader.

¿Es posible?

Saludos.
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1974



Ver Perfil WWW Email
« Respuesta #1 en: Mayo 05, 2008, 10:15:26 »

Hola:

En principio no hay una forma genérica. Es más, si el que sea tiene la misma versión de Acrobat Reader, pero la tiene instalada en otro directorio, tampoco funciona.

Si es posible, es mejor usar alguna librería java que permita abrir pdf en vez de usar un programa nativo, teniendo en cuenta que los jar de esa librería deberás distribuirlos junto a tu programa. Otra opción, que hacen algunos instaladores, es preguntar cual es la ubicación del programa que sea (en tu caso, el acrobat reader).

Se bueno
En línea

Niubi
Full Member
***
Mensajes: 154


Ver Perfil
« Respuesta #2 en: Mayo 05, 2008, 10:30:45 »

Hola

Creo que utilizare la opción de utilizar librerias que me permitan abrir pdf, mas que nada, por dar mas facilidad al usuario.

Gracias por la repuesta!

Saludos!
En línea
Niubi
Full Member
***
Mensajes: 154


Ver Perfil
« Respuesta #3 en: Mayo 06, 2008, 09:26:38 »

Hola

Se me había olvidado comentar, lo del pdf, lo quería abrir porque tengo una aplicación y tenía pensado poner un botón de ayuda, y si el usuario pinchará en el que se abriera un manual que tengo en pdf.
He estado pensando... y si yo hago un .jar para pasarselo a alguien, ¿como pasaría el manual? porque me imagino que un .jar no podrá ir incluido.

Saludos.
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1974



Ver Perfil WWW Email
« Respuesta #4 en: Mayo 06, 2008, 09:32:12 »

Hola:

El pdf puede ir en un fichero aparte (junto al jar de tu aplicación y al jar de la librería de abrir pdfs) o bien se puede meter dentro del jar (el jar no es más que un zip con otro formato). Lo único es que si lo metes dentro, se lee un poco distinto a como se abre un fichero normal y la librería que uses tendría que admitirlo.

Se bueno.
En línea

andyarmin
Newbie
*
Mensajes: 3


Ver Perfil Email
« Respuesta #5 en: Mayo 06, 2008, 12:00:59 »

Hola, yo para abrir cualquier archivo desde java utilizo la clase Desktop y así no me tengo que preocupar con que programa debo abrir el archivo:

import java.awt.Desktop;
........

try {
          String path = "carpeta/tuArchivo.pdf";
          Desktop.getDesktop().open(path);
} catch (IOException ex) {
..........
}

Espero que te sirva.  (Creo que la clase Desktop viene con la versión de java 1.6, pero no estoy seguro).
En línea
Niubi
Full Member
***
Mensajes: 154


Ver Perfil
« Respuesta #6 en: Mayo 06, 2008, 03:05:11 »

Hola

Gracias por las respuestas de los dos, un pequeño apunte para :
import java.awt.Desktop;
........

try {
          String path = "carpeta/tuArchivo.pdf";
          Desktop.getDesktop().open(path);
} catch (IOException ex) {
..........
}
Tengo la version 1.6 y de la forma que me ha salido es así:
Citar
try {
     File path = new File ("carpeta/tuArchivo.pdf");
     Desktop.getDesktop().open(path);
}catch (IOException ex) {
     ex.printStackTrace();
}

Saludos!
En línea
andyarmin
Newbie
*
Mensajes: 3


Ver Perfil Email
« Respuesta #7 en: Mayo 06, 2008, 04:35:39 »

Upsss Niubi tienes razón!!!! Estaba diciéndotelo de memoria y la he cagado  Indeciso , realmente tienes que pasarle un File a Desktop.getDesktop.open(File) y no un String.

Me alegro que te funcione!!!!
En línea
Bradbury
Newbie
*
Mensajes: 4


Ver Perfil
« Respuesta #8 en: Mayo 08, 2008, 02:10:12 »

Siendo estrictos creo que habria que añadir el

import java.io*;  para que nos reconociera el File.

(perdón si parece muy obvio)

Saludos
« Última modificación: Mayo 08, 2008, 02:12:01 por Bradbury » En línea
Niubi
Full Member
***
Mensajes: 154


Ver Perfil
« Respuesta #9 en: Mayo 22, 2008, 04:21:57 »

Hola

Me ha surgido una nueva duda sobre como abrir pdfs desde java..

Tengo un paquete dentro de mi proyecto en el que tengo unas cuantas imagenes y para ponerle a un botón una imagen de esas de fondo lo hago mediante la siguiente instrucción:
Código:
jButtonAyuda.setIcon(new ImageIcon(getClass().getResource("/paqueteImagenes/interrogacion.JPG")));

Es decir, no hace falta poner D:\Mis Documentos\eclipse\workspace\PFCOntologia\src\paqueteImagenes, simplemente vale con poner el path del paquete.

Tengo un paquete en el que tengo varios pdfs y he pensado hacer lo mismo que con las imagenes, pero no se como poner esa parte de código, lo he hecho de esta manera y no funciona.
Código:
File path = new File(getClass().getResource(("/paqueteManuales/MenuPrincipal.pdf"));
Desktop.getDesktop().open(path);

¿Alguien me podría echar una mano con ello?

Saludos.

En línea
manix
Full Member
***
Mensajes: 236


manix_10@hotmail.com mamfrey@yahoo.com
Ver Perfil WWW Email
« Respuesta #10 en: Mayo 22, 2008, 10:03:54 »

Amigo te falto poner toURI() al final

Código:
File path;
        try {
            path = new File(getClass().getResource("/paqueteManuales/MenuPrincipal.pdf").toURI());
            Desktop.getDesktop().open(path);
        } catch (Exception ex) {
        }


saludos
« Última modificación: Mayo 22, 2008, 10:09:35 por manix » En línea

Niubi
Full Member
***
Mensajes: 154


Ver Perfil
« Respuesta #11 en: Mayo 22, 2008, 10:22:15 »

Hola

Que bueno! Muchas Gracias.

He hecho un fichero .jar con fatjar exporter mediante el codigo y no me abre los pdfs

¿sabes porque puede ser?

Saludos
« Última modificación: Mayo 22, 2008, 10:43:52 por Niubi » En línea
Páginas: [1] Enviar tema Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC XHTML 1.0 válido! CSS válido!