问题一

Document doc.Save(Response, "学员报名表.pdf", ContentDisposition.Inline, null); 执行后没有效果,因为异步的时候需要加,如果不是异步,即没有使用UpdatePanel,那么就不要加此方法Triggers。

解决

<asp:UpdatePanel ID="UpdatePanel1" runat="server"><Triggers><asp:PostBackTrigger ControlID="btnExportAndPrint" /></Triggers><ContentTemplate><asp:Button runat="server" ID="btnExportAndPrint" class="btn btn-primary" Text="打印报名表" OnClick="btnExportAndPrint_Click"/></ContentTemplate>
</asp:UpdatePanel>        

我的程序

protected void btnExportAndPrint_Click(object sender, EventArgs e){string studentNo = txtStudentCode.Text;if (!string.IsNullOrWhiteSpace(studentNo)){OLD_StudentUser student = OLD_StudentUserDAL.GetByStudentNo(studentNo);string templateFile = Server.MapPath("../Template/Word/学员报名表.doc");//string photoPath = Server.MapPath("../IDCardPhoto/142201199201264557.Bmp"); //测试方法string photoPath = Server.MapPath(student.ZP); Document doc = new Document(templateFile);doc = ExportAndPrintHelper.ExportAndPrintRegister(doc,student,studentNo,photoPath);if (doc != null){doc.Save(Response, "学员报名表.pdf", ContentDisposition.Inline, null);}}else{Response.Write("<script>alert('学员学号为空!')</script>");}}

public class ExportAndPrintHelper{/// <summary>///  导出和打印学员报名表/// </summary>/// <param name="doc"></param>/// <param name="student"></param>/// <param name="StudentNo"></param>/// <param name="photoPath"></param>/// <returns></returns>public static Document ExportAndPrintRegister(Document doc, OLD_StudentUser student, string studentNo, string photoPath){DocumentBuilder builder = new DocumentBuilder(doc);if (!string.IsNullOrWhiteSpace(studentNo)){#region 基础信息if (doc.Range.Bookmarks["Code"] != null){doc.Range.Bookmarks["Code"].Text = DateTime.Now.ToShortDateString();}if (doc.Range.Bookmarks["Name"] != null){doc.Range.Bookmarks["Name"].Text = student.Name;}if (doc.Range.Bookmarks["Sex"] != null){doc.Range.Bookmarks["Sex"].Text = student.Sex;}if (doc.Range.Bookmarks["Born"] != null){doc.Range.Bookmarks["Born"].Text = student.DirthDate.ToString("yyyy.MM.dd");}if (doc.Range.Bookmarks["StudentNo"] != null){doc.Range.Bookmarks["StudentNo"].Text = student.StudentsNo;}if (doc.Range.Bookmarks["Politics"] != null){doc.Range.Bookmarks["Politics"].Text = student.Politics;}if (doc.Range.Bookmarks["IDCardNo"] != null){doc.Range.Bookmarks["IDCardNo"].Text = student.SID;}if (doc.Range.Bookmarks["EducationLevel"] != null){doc.Range.Bookmarks["EducationLevel"].Text = student.EducationLevel;}if (doc.Range.Bookmarks["Units"] != null){doc.Range.Bookmarks["Units"].Text = student.Units;}if (doc.Range.Bookmarks["Job"] != null){doc.Range.Bookmarks["Job"].Text = student.Job;}if (doc.Range.Bookmarks["Phone"] != null){doc.Range.Bookmarks["Phone"].Text = student.Phone;}if (doc.Range.Bookmarks["RelativesPhone"] != null){doc.Range.Bookmarks["RelativesPhone"].Text = student.RelativesPhone;}if (doc.Range.Bookmarks["ResidenceAdd"] != null){doc.Range.Bookmarks["ResidenceAdd"].Text = student.ResidenceAdd;}if (doc.Range.Bookmarks["Address"] != null){doc.Range.Bookmarks["Address"].Text = student.Address;}if (doc.Range.Bookmarks["NowTime"] != null){doc.Range.Bookmarks["NowTime"].Text = DateTime.Now.ToShortDateString();}if (doc.Range.Bookmarks["Photo"] != null){builder.MoveToBookmark("Photo");var img = builder.InsertImage(photoPath);img.Width = 76;img.Height = 94;}#endregion#region 所报课程List<OLD_CourseRegistration> courses = OLD_CourseRegistrationDAL.GetByStudentNo(studentNo);for (int i = 9; i < courses.Count + 9; i++){OLD_Class classes = OLD_ClassDAL.GetByClassName(courses[i - 9].ClassName);builder.MoveToCell(0, i, 2, 0);builder.Write(courses[i - 9].ClassName.ToString());builder.MoveToCell(0, i, 3, 0);builder.Write(classes.TeacherName.ToString());builder.MoveToCell(0, i, 4, 0);builder.Write(classes.SKdate.ToString());builder.MoveToCell(0, i, 5, 0);builder.Write(classes.ClassAdd.ToString());builder.MoveToCell(0, i, 6, 0);builder.Write(classes.FY.ToString());}for (int cancel = 22; cancel >= courses.Count + 9; cancel--){builder.DeleteRow(0, cancel);}#endregionreturn doc;}else{return null;}}}

View Code

word图片

执行保存之后的图片

转载于:https://www.cnblogs.com/BrokenIce/p/5988347.html

Aspose.Words 开发时遇到的问题相关推荐

  1. Aspose.Words 开发资料整理

    1.总体说明:操作主要涉及两个对象Document及DocumentBuilder Document主要用来获取文档中的节点,DocumentBuilder主要用于实现文档内容的写入 doc_Oper ...

  2. grunt-connect-proxy解决开发时跨域问题

    最近的项目中前后端是完全分离开发的,前端用grunt管理项目.这样就会导致一个问题:开发时前端调用后台的接口时因为不在一个服务器,所以会出现跨域问题.但是也不能用JSONP或CROS方式实现真正的跨域 ...

  3. php接口 汉字出错 空,php接口开发时,数据解析失败问题,字符转义,编码问题(示例代码)...

    php接口开发时,数据解析失败问题,字符转义,编码问题 情景: A平台--->向接口请求数据---->接口向B平台请求数据---->B平台返回数据给接口---->接口返回数据给 ...

  4. 三大框架开发时,spring配置文件出现异常

    在最近利用三大框架进行项目开发时,spring配置文件里出现了一个橘***的双向箭头,鼠标放上去,会提示你advised by  org.springframework.transaction.int ...

  5. MyEclipse-Web开发时何时重启tomcat、重新部署

    MyEclipse-Web开发时何时重启tomcat.重新部署 结论虽然不全,但知道的还是较早的,不过知道昨天晚上忽然又闪一下(鬼知道为啥),所以决定写到博客里.相当年,很痛苦,傻乎乎的每次都重新启动 ...

  6. java伪装成mysql从节点_开发时java项目启动时需要连mysql等,有没有什么工具可以mock连接使得启动顺利不报错?...

    如果是非单元测试 mock 一个数据库连接不难,实际上只要 mock 一个 DataSource 对象,然后根据项目实际初始化方式放进去就可以了,而这个对象实际连接到本地的任意数据库即可.下面的例子使 ...

  7. MongoDB:mongodb在项目开发时的安全验证、分页查询操作

    MongoDB:mongodb在项目开发时的安全验证.分页查询操作. 对于数据库而言,在项目应用中都需要安全验证,不然,就会报错,呵呵-- 现在贴出来我在项目中是怎么做的. 原创文章,转载请注明出处: ...

  8. android 开发时遇到的各种问题1--Android双模(CDMA/GSM)手机短信相关

    这篇博客主要是用来记录平时开发时遇到的各种问题,给大家一个参考,也可以跟大家一起讨论讨论. Android双模(CDMA/GSM)手机短信相关 参考博客http://blog.sina.com.cn/ ...

  9. 使用java做paypal开发时购买东西支付不成功的原因

    使用java做paypal开发时购买东西支付不成功的原因 没有设置网站习惯设定,登陆自己的paypal账户,在网站习惯设定上填写回调的url路径,这样就可以 支付成功了并且异步修改订单的状态. 支付成 ...

最新文章

  1. 别在 Java 代码里乱打日志了,这才是打印日志的正确姿势!
  2. 02-VTK编译安装
  3. 「思想钢印」成真!33位中美科学家最新成果:用光成功改变大脑认知
  4. UNITY 的GC ALLOC到底是什么
  5. php 监听端口数据客户端ip_PHP做端口监听示例代码
  6. C#日期格式化,时间
  7. lua执行shell命令6_Vim执行shell命令及使用Vim批量更改文件名
  8. esp32 例程 蓝牙_wifiamp;蓝牙MCU 该不该选ESP32
  9. android主题与风格入门
  10. 01. 慎重选择容器类型
  11. 计算机的原理 组成 分类及应用,计算机组成原理试卷A卷及答案
  12. zabbix 3.0.7 for Centos 7.2 安装
  13. 常见坐标系经纬度转换
  14. magedu第一天学习(计算机基础部分)
  15. Android直播开发之旅(15):libjpeg库的编译移植与使用
  16. 销售即是一门艺术,更是一门科学?(一)
  17. FFmpeg —— 录制Windows桌面与麦克风,音视频同步(附源码)
  18. 史上最强的美名腾智能起名成功发布
  19. ecmall mysql.php_ecmall框架核心ecmall.php文件详解
  20. 计算机启动盘安装教程,u启动u盘启动盘制作工具制作u盘启动盘及u盘装系统教程...

热门文章

  1. openresty配置部署
  2. 【算法与数据结构】堆排序是什么鬼?
  3. Python collection模块
  4. pandas 数据分析常用技巧
  5. GAN之父NIPS 2016演讲现场直击:全方位解读生成对抗网络的原理及未来(附PPT)
  6. Embedding在网易严选搜索推荐中的应用
  7. Spark Java API:Action
  8. 1.10-SpringMVC直接访问WEB-INF下jsp中的页面
  9. 面试心得与总结——BAT、网易、蘑菇街
  10. jsp与jsp页面间的值传递与接收