Aspose.Word
Aspose.Words是一个极其强大的Word操作组件,包括.Net和Java两个版本,这里介绍的是.Net版本。
Aspose.Words的详细介绍在其官方网站上有介绍,但比较少有对Word模板的描述。可以在官方网站上下载例子程序,其中包含了不少Word模板。
Aspose.Words主要通过Words里域(Fields)来控制内容,基本方式就是新建一个新Word文件,在菜单中选择插入->域,选择MergeField,属性->域名中输入和数据库表字段相同的名称,然后确定就OK了。多添加几个MergeField就可以输入多个字段。接着是.net中的代码,该代码使用模板为基础,循环数据库表的内容,每条记录在Word中显示为一页。
- private void Page_Load(object sender, EventArgs e)
- {
- DataSet users = appService.GetAllUser();
- Stream f = new FileStream(Server.MapPath("~") + @"\Output\Template\ApplyFormTemplate.doc", FileMode.Open);
- Document doc = new Document(f);
- // 建立图片事件
- doc.MailMerge.MergeImageField+=new Aspose.Words.Reporting.MergeImageFieldEventHandler(MailMerge_MergeImageField);
- // 执行数据更新
- doc.MailMerge.Execute(users.Tables[0]);
- // 删除未使用的空白域
- doc.MailMerge.DeleteFields();
- // 将结果发送到客户端
- doc.Save("ApplyForm.doc", SaveFormat.Doc, SaveType.OpenInWord, Response);
- f.Close();
- }
- private void MailMerge_MergeImageField(object sender, Aspose.Words.Reporting.MergeImageFieldEventArgs e)
- {
- if (e.FieldValue != null && e.FieldValue.ToString() != "")
- {
- PhotoService photoService = new PhotoService();
- string photoPath = photoService.GetPhotoPathById((int)e.FieldValue);
- if (File.Exists(photoPath))
- e.Image = Image.FromFile(photoPath);
- }
- }
上面的代码,可以将数据库中所有用户的资料按模板显示,每个人的详细记录一个页面。
需要特别说明的是上面的代码中包含了照片。使用方法如下:
在需要加模板照片或图片的地方,同样插入域,但域名设置为:Image:数据表字段名,该处的数据表字段可以为String(也就是图片地址),也可以是二进制的图片。然后通过MergeImageField事件,将该处的显示进行修改。如上面代码,e.FieldValue就是数据库里所保存的数据。然后通过一些代码改变,设置e.Image的值为具体图片,那么就完成。
转载于:https://www.cnblogs.com/linwinfan/archive/2010/01/07/1641340.html
Aspose.Word相关推荐
- 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出
我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...
- Aspose.Word 的常见使用(不用模板创建)
起因 因项目需要,而且使用html转Word的时候,样式不兼容问题,于是只能使用Aspose.Word通过代码生成.下面是通过DocumentBuilder来设计Word的,但是和使用模型拼接的差不多 ...
- 利用Aspose.Word控件实现Word文档的操作
Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...
- aspose 换行写_利用Aspose.Word控件实现Word文档的操作
Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...
- 使用Freemark和aspose.word实现动态word转pdf
前言 因为公司业务需要实现业务人员提供wodr模板,然后系统填充数据生成pdf文件,本文的想法是通过Freemark填充数据生成word再通过aspose.word把word文档转为pdf文档. 本文 ...
- Aspose.Word企业案例:Progetto Adele 使用 Aspose API 从预定义模板自动生成 Word 和 PDF 文件
关于 Progetto Adele Progetto Adele是一家在物流和国际货运市场运营的软件公司.它成立于 2003 年,由在物流和货运公司软件开发方面具有长期经验的人员管理.在过去的 15 ...
- aspose.word删除分页符
Aspose.word用法都类似,此处使用aspose for java进行操作 项目需要将word去掉所有的分页符,再进行一级大纲为划分的分页 目标文件状态: 思考逻辑:遍历整个paragraphs ...
- 记Aspose.Word的使用中出现的问题
最近实现一个功能,具体需求就是把数据库中的内容转换成word文档,文档中需要包含标题.目录以及表格信息. 这里我使用的是Aspose.Word类,这是一个很强大的文档操作工具包,实现了所有操作文档的所 ...
- aspose将word转换为pdf[aspose.word.java 18.11]
aspose.words.java for 18.11 前言:由于网上找的aspose.word存在许多问题,主要是存在水印,破解版献上,互相交流学习.有问题可联系我微信(shiguangxuanya ...
- Aspose Word常用操作
Aspose Word常用操作 使用Aspose Word操作模版 创建Document对象 常用方法 使用Aspose Word操作模版 刚好最近学到Aspose Word,有些心得,记录下来.下面 ...
最新文章
- Vue+element UI实现“回到顶部”按钮组件
- 高性能Mysql主从架构的复制原理及配置详解
- 一文尽览!文本对抗攻击基础、前沿及相关资源
- 关于--Error: User Command terminated, Exit-Code = 1解决办法
- Asp.Net统一前后端提示信息方案
- 神奇的HyperLogLog算法
- unity开宝箱动画_unity简单动画实现
- asp.net mvc源码分析-DefaultModelBinder 自定义的普通数据类型的绑定和验证
- 2018 ICPC Asia Jakarta Regional Contest
- java如何关闭creo,creo怎么把网页关掉
- 一场游戏平台商与游戏大厂的战争
- 中小企业文件、打印解决方案
- 米线店结账程序 装饰着模式_真实数据:外卖销售9999+ 长沙米线万单店 它究竟是怎么做到的?...
- 新浪微博开放平台链接耗尽的情况分析
- DP动态规划思想讲解
- R如何读取txt文件
- 企业微信每日定时自动上报
- 幽灵蛛(pholcus)规则(二)
- 如何通过js关闭微信浏览器页面
- 【CXY】JAVA基础 之 Map