加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在ASP.NET生成的Word文件中嵌入图像

发布时间:2020-12-16 00:14:17 所属栏目:asp.Net 来源:网络整理
导读:我有一个相当普遍的问题,正如我在各个用户组中看到的那样但找不到合适的答案. 我想要做的是在我的网站中生成一个ASP.NET页面,该页面可以选择导出为Microsoft Word .doc格式. 我使用的方法是这样的: Response.Clear();Response.AddHeader("content-dispositi
我有一个相当普遍的问题,正如我在各个用户组中看到的那样但找不到合适的答案.

我想要做的是在我的网站中生成一个ASP.NET页面,该页面可以选择导出为Microsoft Word .doc格式.

我使用的方法是这样的:

Response.Clear();
Response.AddHeader("content-disposition","attachment;filename=Test.doc");
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/msword";

StringWriter sw = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(sw);
Page.RenderControl(htmlWrite);
Response.Write(sw.ToString());
Response.End();

然而,尽管它生成了单词doc,但是这些图像是在文档中嵌入的,而是将它们作为链接放置.我已经找到了一种方法来做到这一点,但还没有找到真正有用的东西.

我很感激我能得到的任何帮助,因为这是“最后一分钟”的要求
(谈谈典型)

谢谢

解决方法

简答:您需要为页面中的图像源提供绝对URL.

更长的答案:

如果您使用* .doc扩展名重命名,Microsoft Word将打开HTML文档.这就是您提供的代码所做的事情.在这种情况下,图像不会像在您以实际Word格式创建文档时那样嵌入到文档中.如果您的图像使用相对URL,则Word将不知道在哪里查找它们,因此需要绝对URL.

注意:这意味着没有互联网连接查看文档的任何人都不会看到图像,因为每次打开文档时都会从服务器请求图像.

更优雅的解决方案是以真正的Word格式创建文档.一个很棒的库是Aspose.Words.使用这个库,你可以将图像直接嵌入到文档中,这样它们就不依赖于服务器了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读