Página 1 de 1

Abrir un archivo Word

NotaPublicado: 2009-10-28 11:00 @500
por Lor
Agradecería si me pudiesen indicar qué módulo pudiese usar en mi script para que al ejecutarlo el usuario pueda ver en pantalla un archivo Word residente en el servidor.

Re: Abrir un archivo Word

NotaPublicado: 2009-10-28 11:13 @509
por explorer
A ver... hay algún término oscuro...

¿De qué tipo de servidor estamos hablando? ¿De qué protocolo estamos hablando?

En cualquier caso, no hay ningún módulo Perl que haga eso de forma independiente. Es obligatoria la presencia del ejecutable Microsoft Word para que pueda ser visualizado. Quizás con el Win32::OLE o WIn32::GUI.

Re: Abrir un archivo Word

NotaPublicado: 2009-10-28 11:20 @514
por Lor
La cosa es así: el usuario trabaja desde su PC. A través de su navegador ejecuta una aplicación escrita en Perl que al ejecutarse quiero que abra un archivo Word en la pantalla del usuario, pero el WORD está residiendo en una carpeta del servidor Linux donde corre la aplicación Perl.

¡¡¡Muchísimas gracias!!!

Re: Abrir un archivo Word

NotaPublicado: 2009-10-28 11:44 @531
por explorer
Si estamos hablando de un navegador y un servidor HTTP, entonces, el programa Perl puede devolver una cabecera MIME indicando que lo que sigue es un fichero Word. A continuación, el programa Perl puede abrir el fichero Word y transmitirlo.

Otra opción es, simplemente, mostrar al usuario un enlace con la dirección del fichero a bajar.

Tanto en un caso como en el otro, depende de la configuración del cliente el que, a continuación, se arranque el programa Word en el cliente, y se visualice el fichero.

Re: Abrir un archivo Word

NotaPublicado: 2009-10-28 11:57 @539
por Lor
Gracias explorer, estamos en el primer caso: navegador y servidor HTTP.

¿Cómo hago lo que me dices? ¿Qué debo escribir como código para lograr lo que me dices: «El programa Perl puede devolver una cabecera MIME indicando que lo que sigue es un fichero Word. A continuación, el programa Perl puede abrir el fichero Word y transmitirlo.»?

¡¡¡Muchas gracias!!! :D

Re: Abrir un archivo Word

NotaPublicado: 2009-10-28 19:25 @850
por explorer
Para enviar la cabecera MIME, te vale con meter el parámetro adecuado a la función header() del módulo CGI, como comento al final del hilo Recibir un XML con HTTP POST y generar un HTTP RESPONSE.

Luego, tienes que hacer un open() del fichero, activar la lectura en binario del mismo, y leerlo poco a poco mientras lo mandas a la salida estándar. Luego close() y ya está.

Todo esto se explica en el manual del módulo CGI.

¿De verdad que no es más fácil la segunda solución? Solo tendrías que colocar a los ficheros Word en un directorio visible para el servidor Web y luego, en el CGI tuyo, redirigir (con un Location:) al URL del fichero. Así te ahorras tanto el envío de la cabecera MIME como el de enviar el propio fichero.

Re: Abrir un archivo Word

NotaPublicado: 2009-10-29 04:30 @229
por Lor
Muchísimas gracias por la explicación, ¡¡¡muy precisa!!! Me pondré a investigar cuál es la que mejor me conviene acorde a mi aplicación. Luego te comento.

¡¡¡Gracias por tu tiempo!!! :D