生成的HTML文档文档无法正确显示图像

时间:2010-03-19 03:37:03

标签: html asp-classic ms-word

我正在尝试将图像添加到嵌入在传统ASP页面中的生成的html word文档中。代码看起来像这样:

<%
    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]>

图片网址正确,可以通过浏览器查看,但是当word文档打开时,图片会显示红色x,并显示错误消息:

  

无法显示图像。您的   电脑可能没有足够的内存   打开图像,或图像可能   损坏。重新启动计算机,然后   然后再次打开文件。如果是红色的x   仍然出现,你可能要删除   图像,然后再次插入。

如果我复制html代码并尝试在我的本地计算机上打开word文档,它会正确显示图像。从服务器检索文档时它不起作用。这种情况发生在我尝试添加的任何图像上。是否有另一种方法可以将图像添加到可以从asp页面输出的html生成的word文档中?

感谢。

更新

我注意到的一点是,当从asp页面复制单词doc代码,将其粘贴到文件中并将其重命名为word doc时,我在打开它时会收到此提示:

  

此网页中的某些文件不在预期位置。你想要下载它们吗?如果您确定网页来自受信任的来源,请单击是。

如果我单击是,图像显示正常,如果单击否,我会得到与上述相同的错误。我想因为doc这个词来自ASP页面,它默认安全设置不显示外部项目。我已经尝试将网站URL(它是一个本地Intranet网站)添加到我信任的网站,并作为一个受信任的位置,但仍然没有运气。

7 个答案:

答案 0 :(得分:3)

您可以尝试删除o:title标签。我发现,如果那个标签有单词试图嵌入图像,但只有在适当的位置才会这样做。通过删除o:title标签,word只会将其视为链接。

答案 1 :(得分:3)

进入选项,网页选项(可能在高级版下),取消选中“依靠VML在浏览器中显示图形”

答案 2 :(得分:0)

是否所有代码都是由Word 2007生成的,或者您是手动添加代码?有趣的是,img标签没有斜线来关闭它。

答案 3 :(得分:0)

我知道这是一个愚蠢的错误,但你确定将图像放在正确的位置,以便网页可以访问它吗?如果您只需在浏览器中输入http://xxx/image001.gif网址,图片是否会显示?如果没有,我会说这是你的问题。

答案 4 :(得分:0)

确保图片的网址(位置)正确并添加斜杠。 如果仍然无效,请检查是否可以显示同一目录中的任何其他图像。 如果他们这样做,然后重新上传图像,然后再试一次。 如果未显示其他图像,并且您确定该URL正确,则尝试编辑图像目录和图像的读取权限。我无法想象它可能是由权限引起的。

除非有一个非常具体的理由在MS Word中生成HTML,否则我建议你不要这样做。即使对于之前从未见过HTML或CSS的人来说,他们既简单又整洁,可以产生比MS Word更好的结果。

答案 5 :(得分:0)

Word 2007是否允许访问互联网?也许有防火墙规则阻止它?

答案 6 :(得分:0)


替换以下行

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

只需一行代码

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

我相信你会得到结果。 我检查了一下。