• Lunes 23 de Diciembre de 2024, 07:59

Autor Tema:  Mostrar Pdf  (Leído 1402 veces)

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Mostrar Pdf
« en: Jueves 29 de Marzo de 2007, 16:29 »
0
Quiero hacer que mi aplicacion funcione logicamente tanto en windows como en linux.
Tengo una opcion en el menu que muestra un fichero pdf.
El problema es que si es en windows, tengo la opcion siguiente:
Process proc=Runtime.getRuntime().exec("cmd /c start .\\inria-RR-3449.pdf");
y me lo reconoce, pero en Linux no reconoceria esta secuencia.

Como puedo hacer que lo muestre sea cual sea el sistema operativo, no tener que distinguirlo previamente ??

Espero que me haya explicado.
Por favor ayudadme. Gracias.

jpaler

  • Miembro MUY activo
  • ***
  • Mensajes: 479
    • Ver Perfil
Re: Mostrar Pdf
« Respuesta #1 en: Jueves 29 de Marzo de 2007, 22:27 »
0
alemaq... claro q te has explicado...

fijate en este ejemplo de como se crea una URL:
Citar
url = "file:" + System.getProperty( "user.dir" ) + System.getProperty( "file.separator" ) + /mi_imagen.png";

como estoy en windows, yo pude haber puesto:
Citar
url = "file:C:/mi_aplicacion/mi_imagen.png";

...,pero en ves de esto, le pregunto a las propiedades del sistema
para q me den el directorio actual donde estoy y ADEMAS ME DEN
EL SEPARADOR DE ARCHIVOS DEL SISTEMA OPERATIVO DONDE
ME ENCUENTRO.

System.getProperty("file.separator") te devuelve / si estas en windows, o
te devuelve otro valor segun sea el separador de archivos del so
en que estes ejecutando tu aplicacion...

pero ojo, en linux no vas a encontrar eso del... cmd.exe
entonces, de todos modos, previamente has debido haberle preguntado
java ¿en q sistema operativo estoy: windows o linux?
esta pregunta tambien te la puede responder el metodo getPropertiy()
de System... mandandole como parametro "os.name" o algo asi, la
verdad es q no recuerdo bien...

...,De todos modos busca en google acerca de este metodo y de todos
sus posibles parametros.... busca alguno q diga "os" o algo asi...


listo !!!

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Re: Mostrar Pdf
« Respuesta #2 en: Sábado 31 de Marzo de 2007, 21:11 »
0
Bueno ya consigo que me detecte el sistema operativo, como puedo hacer ahora para que si es sistema operativo es Linux me abra ese fichero pdf ?
Cual seria la instruccion ???

Gracias.

jpaler

  • Miembro MUY activo
  • ***
  • Mensajes: 479
    • Ver Perfil
Re: Mostrar Pdf
« Respuesta #3 en: Domingo 1 de Abril de 2007, 19:03 »
0
Citar
Process proc=Runtime.getRuntime().exec("cmd /c start .\\inria-RR-3449.pdf");
segun tu... este codigo habre un .pdf
entonces... si es en windows q te ejecute este codigo y si es en linux... q te
ejecute el codigo q habre el .pdf en linux... ¿cual es ? uhmmm

su -

  • Moderador
  • ******
  • Mensajes: 2349
    • Ver Perfil
Re: Mostrar Pdf
« Respuesta #4 en: Domingo 1 de Abril de 2007, 19:16 »
0
Cita de: "alemag"
Quiero hacer que mi aplicacion funcione logicamente tanto en windows como en linux.
Tengo una opcion en el menu que muestra un fichero pdf.
El problema es que si es en windows, tengo la opcion siguiente:
Process proc=Runtime.getRuntime().exec("cmd /c start .\\inria-RR-3449.pdf");
y me lo reconoce, pero en Linux no reconoceria esta secuencia.

Como puedo hacer que lo muestre sea cual sea el sistema operativo, no tener que distinguirlo previamente ??

Espero que me haya explicado.
Por favor ayudadme. Gracias.
Para GNU/Linux, (si tratas de abrirlo con un programa determinado) supongo que seria asi:

Código: Text
  1. Process proc=Runtime.getRuntime().exec("xpdf inria-RR-3449.pdf");
  2.  

El problema es que tienes que saber si se quiere abrir con xpdf, adobe-reader, ghostview, gpdf, abiword etc.

Al ser un S.O. tan diferente, lo tenes que hacer por cada uno o podes programar el "render" o "viewer" del pdf pero siempre tendras que tener en mente la forma de paths (Windows => \ y GNU/Linux => /)
*******PELIGRO LEE ESTO!!*******

There is no place like 127.0.0.1

Conecto luego existo, no conecto luego insisto.