在ASP中的word文件中插入图像

时间:2011-01-28 06:06:50

标签: asp-classic ms-word

我试图使用ASP Classic自动在服务器上制作一些word文件。它工作正常,但唯一的问题是当我下载文件时,没有图片,而是我得到像地方持有人的东西。这是我的代码:

set fso = createobject("scripting.filesystemobject")
Set act = fso.CreateTextFile(server.mappath("/") & file_being_created, true)

act.WriteLine("<html xmlns:v=""urn:schemas-microsoft-com:vml""")
act.WriteLine("xmlns:o=""urn:schemas-microsoft-com:office:office""")
act.WriteLine("xmlns:w=""urn:schemas-microsoft-com:office:word""")
act.WriteLine("xmlns:m=""http://schemas.microsoft.com/office/2004/12/omml""")
act.WriteLine("xmlns:css=""http://macVmlSchemaUri"" xmlns=""http://www.w3.org/TR/REC-html40"">")
act.WriteLine("<title>testing</title>")
act.WriteLine("<body> " )
act.WriteLine("<img src='http://mysite.com/images/pic.jpg' width='800' height='200'/><br />" )
act.WriteLine(rsInvoices("invoiceClientID") & "<br />" )
act.WriteLine(rsInvoices("invoiceNumber") )
act.WriteLine("</body></html>")"
act.close

有想法在word文件中有图片吗? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

好的,我做的回答是创建一个新的Word文档(使用Word 2010),从我的硬盘插入图片,然后将文件保存为HTML文件。然后我查看了生成的页面,试图解构Word正在做的事情。我发现除了HTML <img>标记外,Word还创建了<v:shape>元素,隐藏了conditional comment。以下是我根据您的示例提出的内容:

<!--[if gte vml 1]>
<v:shape id="Picture1" style="width:800px;height:200px;">
 <v:imagedata src="http://mysite.com/images/pic.jpg"/>
</v:shape>
<![endif]-->
<![if !vml]>
<img src='http://mysite.com/images/pic.jpg' width='800' height='200' v:shapes="Picture1"/>
<![endif]>

如果您将此文件作为.doc文件提供,则可以通过仅包含<v:shape>元素并省略条件注释来节省一些空间和重复。

<v:shape id="Picture1" style="width:800px;height:200px;">
 <v:imagedata src="http://mysite.com/images/pic.jpg"/>
</v:shape>