• Viernes 8 de Noviembre de 2024, 21:36

Autor Tema:  mostrar word en asp.net  (Leído 7028 veces)

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
mostrar word en asp.net
« en: Viernes 16 de Julio de 2010, 01:18 »
0
buenas Nonches señores de solo codigo

      les envio un saludo cordial desde peru, felicitandolos por todos los aportes que hacen a los miles de usuarios y desarrolladores Hispanos al rededor del mundo, bueno tengo una inquietud y un problema que quisiera que me apoyen, bueno les explico estoy desarrollando un modulo en el cual administra documentos como reglamentos, normas, politicas etc, como veran son documentos importantes y me han solicitado que esto se haga a nivel de bases de datos, osea que el archivo se registre en una tabla, bueno el caso es que si lo puedo almacenar en un campo de la tabla documentos en un campo de tipo Image, y tambien puedo bajar el documento almacenado pero los usuarios quieren que tambien el documento se muestre en un pagina aps.net con una marca de agua de la Institucion, por lo que pense al momento de obtener el contenido del documento insertarlo en un textbox y asi mostrarlo, bueno espero que se pueda entender claramente el caso hasta ya hice los siguiente:
 
1. crear mi tabla de documentos :
 
CREATE TABLE DOCUMENTO
(
COD_DOCUMENTO INT NOT NULL,
FEC_REGISTRO DATETIME,
CONTENIDO IMAGE,
VC_TITULO VARCHAR(20)
)
 
 
2. cree el formulario para subir el documento con un procedimiento almacenado :
 
3. y con este formulario obtengo el archivo que se encuentra en la tabla de documento en el base de datos.
(script)
 
' Open a database connection.
Dim strConnection As String = "Data Source=.;Initial Catalog=BD_prueba;Integrated Security=True"
Dim cn As SqlConnection = New SqlConnection(strConnection)
cn.Open()
Dim Da As New SqlDataAdapter("Select contenido from documento where cod_documento = 15652", cn)
Dim bycb As SqlCommandBuilder = New SqlCommandBuilder(Da)
Dim ds As New DataSet()
Da.Fill(ds, "contenido ")
Dim myrow As DataRow
myrow = ds.Tables("contenido ").Rows(0)
Dim mydata() As Byte
mydata = myrow("contenido ")
Response.Buffer = True
Response.AddHeader("Content-Type", "attachment")
Response.AddHeader("Content-Disposition", "filename=" & Now().ToString & "." & "doc")
Response.ContentType = "application/msword"
Response.BinaryWrite(mydata)
4. en el cuarto paso me falta que el documento que esta en la base de datos se muestre en algun control que este en un formulario.
 
Bueno espero que me puedan ayudar si tienen alguna duda sobre la explicacion haganmela saber porfa.
 
Nota: estoy utilizando vb 2008.net con sqlserver-2008 con el office 2003.

carlosespinoza

  • Miembro activo
  • **
  • Mensajes: 53
  • Nacionalidad: mx
    • Ver Perfil
    • http://carlostusa.spaces.live.com/
Re: mostrar word en asp.net
« Respuesta #1 en: Sábado 24 de Julio de 2010, 01:09 »
0
Hola, si estas usando Asp.net quiere decir que estas haciendo una aplicación que corre sobre el explorador web...

Bueno, pues dentro de un explorador web puedes mostrar cualquier archivo (al estilo pdf) solo que no recuerdo como... yo lo he hecho y recuerdo que no es tan dificil, solo era cuestion de llamarlo y ponerle como target la pagina, asi te mostrara el archivo en el mismo explorador...

mmmmmmmmm

cierto, yo lo hice con docs de 2007, no si 2003 traiga el plug para el explorador... seria cosa de checar eso...

Prueba con las propiedades del browser e intenta cargar ahi tu archivo, pero atraves del browser... no desde las propiedades del archivo...

Saludos... PD me dices si funciona... :good:

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: mostrar word en asp.net
« Respuesta #2 en: Martes 10 de Agosto de 2010, 18:34 »
0
Gracias por tu ayuda ya que encontre algo muy interesante en este pagina, pero tengo un problema al momento de la visualizacion ya que el popup se cierra y las maquinas de donde los usuarios van a visualizar lo documentos no tienen el office instalado por otra parte me haz dicho que coloque el word en un contenedor como el explorador, no se si me podrias enviar una pagina de referencia, gracias de antemano.

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: mostrar word en asp.net
« Respuesta #3 en: Miércoles 11 de Agosto de 2010, 19:57 »
0
Hola amigo, he intentado cargar el archivo desde el explorador pero nada en vez de mostrarlo en el browse me lo descarga, he investigado con xml y xsl para transaformar el codigo generado en xml por el doc y mostrarlo en el browse, haber si me das una manipo porfa te lo voy agradecer.

carlosespinoza

  • Miembro activo
  • **
  • Mensajes: 53
  • Nacionalidad: mx
    • Ver Perfil
    • http://carlostusa.spaces.live.com/
Re: mostrar word en asp.net
« Respuesta #4 en: Jueves 12 de Agosto de 2010, 02:14 »
0
Perdon no habia checado el correo... el problema que veo es que no tienes office instalado  :bad: ... eso si es el problema... ya que el explorador lo que hace es crear una instancia de word en el explorador, algo asi como lo que pasa con los PDF de acrobat... pero si no tienes office, no creo que puedas hacerlo :argh: ...

solo se me ocurre usar google apps o office web aps... pero si no tienes office instalado no se como puedas hacerlo...

Seria cosa de investigar...

Saludos

carlosespinoza

  • Miembro activo
  • **
  • Mensajes: 53
  • Nacionalidad: mx
    • Ver Perfil
    • http://carlostusa.spaces.live.com/
Re: mostrar word en asp.net
« Respuesta #5 en: Viernes 27 de Agosto de 2010, 19:23 »
0
Hola, ya encontre el articulo que te habia comentado...

http://support.microsoft.com/kb/304643/es

Es para abrir un docuemto de office en un control webexplorer, espero te sirva...

saludos

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: mostrar word en asp.net
« Respuesta #6 en: Martes 31 de Agosto de 2010, 22:19 »
0
Hola Carlos, te cuento que el problema que tenia tuve que convertir el documento en html mediante el .Net y luego visualizarlo como si fuera una pagina web, pero tengo otro problema en el cual quisiera que me ayudes, bueno tengo una página aspx donde contiene un iframe, este iframe llama a distintas paginas según el enlace pero el punto es que esas páginas deben de tener una marca de agua de fondo para que cuando el usuario imprima la pagina salga como marca de agua su código, este código lo tengo almacenado con la variable de sesión pero lo tengo que hacer sin modificar las paginas htm que se van a visualizar en el iframe, me parece que el tema va por utilizar javascript pero no se ese leguaje muy bien si me puedes dar una mano, Gracias de antemano.

hasta ahora puedo imprimir la informacion que esta en el iframe con el siguiente codigo

    function PrintIframe()
    {
    window.parent.nombre_del_iframe.focus();
    window.print();
    }
    </script>

pero lo que no puedo colocar el nombre de usuario que la tengo en la variable login, ya que quiero que el momento de imprimir la informacion que esta en el iframe si imprimar como fondo el login del usuario.

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: mostrar word en asp.net
« Respuesta #7 en: Sábado 4 de Septiembre de 2010, 16:55 »
0
Hola amigos, bueno les cuento que ya resolvi mi problema, gracias a que utilice los famosos div y lo utilice como un contenedor de documentos, doy gracias a todos por su ayuda y si algun dia me topo con algo que puedo apoyar lo hare con todo gusto ya que de esto se trata, ayudar a tu projimo y asi poder tambien enrriquecernos de conocimiento.