2010-03-19 13 views
8

Estoy tratando de agregar una imagen a un documento de palabra html generado que está incrustado en una página ASP clásica. El código es como la siguiente:Documento de palabra HTML generado que no muestra la imagen correctamente

<% 
    Response.ContentType = "application/msword"  
%> 

<html xmlns:v="urn:schemas-microsoft-com:vml" 
xmlns:o="urn:schemas-microsoft-com:office:office" 
xmlns:w="urn:schemas-microsoft-com:office:word"> 

... 

<v:shape id="_x0000_s1030" type="#_x0000_t75" style='position:absolute; 
left:0;text-align:left;margin-left:0;margin-top:17.95pt;width:7in;height:116.85pt; 
z-index:2;mso-position-horizontal:center;mso-position-horizontal-relative:page; 
mso-position-vertical-relative:page'> 
<v:imagedata src="http://xxx/image001.gif" o:title="image001"/> 
<w:wrap anchorx="page" anchory="page"/> 
<w:anchorlock/> 
</v:shape><![endif]--><![if !vml]><span style='mso-ignore:vglayout;position: 
absolute;z-index:0;left:0px;margin-left:0px;margin-top:24px;width:672px; 
height:156px'><img width=672 height=156 
src="http://xxx/image001.gif" v:shapes="_x0000_s1030"></span><![endif]> 

la URL de la imagen es correcta y se puede ver a través de un navegador, sin embargo, cuando la palabra documento se abre, la imagen tiene una x roja, con el mensaje de error:

La imagen no se puede mostrar. Su computadora puede no tener memoria suficiente para abrir la imagen, o la imagen puede estar corrupta. Reinicie su computadora, y luego abra el archivo nuevamente. Si aún aparece el x 1 rojo, es posible que deba eliminar la imagen y luego insertarla de nuevo.

Si copio el código html e intento abrir el documento de Word en mi máquina local, muestra la imagen correctamente. Simplemente no funciona al recuperar el documento del servidor. Esto sucede para cualquier imagen que intente agregar. ¿Hay alguna otra forma de agregar imágenes a documentos de palabras generados en html que se puedan generar desde una página asp?

Gracias.

Actualización:

Algo que he notado es que cuando se copia el código de documento de Word desde la página ASP, pegarlo en un archivo y cambiar su nombre como un documento de Word, me sale este mensaje al abrir it:

Algunos de los archivos en esta página web no se encuentran en la ubicación esperada. ¿Quieres descargarlos de todos modos? Si está seguro de que la página web es de una fuente confiable, haga clic en Sí.

Si hago clic en Sí, la imagen se muestra bien, si hago clic en No, aparece el mismo error que el descrito anteriormente. Estoy pensando que debido a que la palabra doc proviene de una página ASP, está configurando por defecto la configuración de seguridad para no mostrar elementos externos. Intenté agregar la URL del sitio (es un sitio de intranet local) a mis sitios de confianza y como una ubicación de confianza en palabras, pero todavía no tuve suerte.

+0

¿Qué versión de Word estás usando? –

+0

Estoy usando Word 2007. – marekc

Respuesta

3

Puede intentar eliminar la etiqueta o: title. Descubrí que si esa etiqueta está allí, Word intenta insertar la imagen, pero solo lo hará si está en la ubicación correcta. Al eliminar la etiqueta o: title, Word solo la trata como un enlace.

+0

¡Fantástico! Eso funciona, gracias. – marekc

0

¿Es todo el código generado por Word 2007 o está agregando código manualmente? Es interesante que la etiqueta img no tenga una barra inclinada para cerrarla.

+0

No escribí el código, pero supongo que fue generado por palabra (probablemente una versión anterior, ya que esta es una aplicación bastante antigua). – marekc

0

Sé que es un error tonto, pero ¿se aseguró de poner la imagen en el lugar correcto para que se pueda acceder a ella desde la página web? Si solo ingresa la url http://xxx/image001.gif en su navegador, ¿aparece la imagen? Si no, diría que ese es tu problema.

+0

La url es definitivamente correcta. – marekc

0

Asegúrate de que la URL (ubicación) de la imagen sea correcta y agrega una barra inclinada. Si aún no funciona, verifique si se pueden mostrar otras imágenes del mismo directorio. Si lo hacen, vuelva a cargar la imagen e intente de nuevo. Si no se muestran otras imágenes y si está seguro de que la URL es correcta, intente editar los permisos de lectura en el directorio de imágenes y las imágenes. No puedo imaginar que pueda ser causada por permisos.

A menos que haya una razón muy específica para generar el HTML en MS Word, le aconsejo que no lo haga. Incluso para alguien que nunca vio HTML o CSS antes, son muy simples y ordenados para aprender y pueden producir resultados mucho mejores que MS Word.

+0

No funcionan otras imágenes, incluso he intentado imágenes en otro servidor con URL externas. Después de jugar con la configuración de permisos, este tampoco parece ser el problema. – marekc

0

¿Se permite Word 2007 para acceder a internet? Tal vez hay una regla de firewall que lo bloquea?

+0

Habilitado el firewall, el mismo problema. – marekc

3

Ir a Opciones, Opciones Web (que podría ser en Avanzado), desactive "según VML para mostrar gráficos en navegadores"

0

Reemplazar la siguiente línea

"<v:imagedata src="............" o:title="image001"/>" 

con sencillo una Una sola línea de código

"<img src="............"/>" 

Estoy seguro de que obtendrá el resultado. Lo he comprobado.

Cuestiones relacionadas