最近在做有个业务需要Word做好模版,数据库取出业务数据在写入Word模版里面,然后生成PDF给客户端的业务人员

之前找了半天,没有找到用微软的Microsoft.Office.Interop.Word.WdExportRange 做,在调试的时候,完全没问题,但发布到服务端的时候,各种配置,组件安装的提示,最后都要崩溃了

最后不得已换了Aspose.Words 这个用起来真是爽啊

用法很简单 代码如下 :

  DataTable ret_val = DataLibrary.cl_DataLibrary.ds_ExecuteReader(sqlText.ToString(), CommandType.Text, new OracleParameter[] { op_SaleDetailNo, op_ShopNo }).Tables[];
//取出业务数据
if (ret_val.Rows.Count > )
{ Document doc = new Document(Server.MapPath("./printfiles/word模版.docx"));
DocumentBuilder builder = new DocumentBuilder(doc); Bookmark bm_SaleName;
if (doc.Range.Bookmarks["txt_titleuser"] != null)
{
bm_SaleName = doc.Range.Bookmarks["txt_titleuser"];
bm_SaleName.Text = ret_val.Rows[]["titleuser"].ToString();
} Bookmark bm_SaleNumber;
if (doc.Range.Bookmarks["txt_SaleNumber"] != null)
{
bm_SaleNumber = doc.Range.Bookmarks["txt_SaleNumber"];
bm_SaleNumber.Text = ret_val.Rows[]["SaleNumber"].ToString();
}
Bookmark bm_txt_v_question7_N;//
if (doc.Range.Bookmarks["txt_v_question7_N"] != null)
{
bm_txt_v_question7_N = doc.Range.Bookmarks["txt_v_question7_N"];
bm_txt_v_question7_N.Text = ret_val.Rows[]["v_question7_N"].ToString();
}
string strPathName = ret_val.Rows[]["titleuser"].ToString() + DateTime.Now.ToString("yyyyMMddHHmmssffff"); doc.Save(Server.MapPath("./printfiles/word模版" + strPathName + ".docx"), SaveFormat.Docx);//生成Docx
doc.Save(Server.MapPath("./printfiles/word模版" + strPathName + ".pdf"), SaveFormat.Pdf);//生成PDF
}

生成PDF就是这么简单

这里重点说一下Aspose.Words;

破解版的才会支持中文转换成PDF,英文默认支持 中文会出现乱码

Aspose.Words 的使用 Aspose.Total_for_.NET的更多相关文章

  1. Aspose.Cells 导出 excel

    Aspose.Cells.Workbook book = new Aspose.Cells.Workbook(); Aspose.Cells.Worksheet sheet = book.Worksh ...

  2. ASPose导出excel简单操作

    string file = FileDialogHelper.SaveExcel(string.Format("{0}.xls", excelName)); if (!string ...

  3. 利用Aspose.Word控件和Aspose.Cell控件,实现Word文档和Excel文档的模板化导出

    我们知道,一般都导出的Word文档或者Excel文档,基本上分为两类,一类是动态生成全部文档的内容方式,一种是基于固定模板化的内容输出,后者在很多场合用的比较多,这也是企业报表规范化的一个体现. 我的 ...

  4. Aspose Cells 添加数据验证(动态下拉列表验证)

    参考 :http://www.componentcn.com/kongjianjishu/kongjianjishu/2015-06-04/2781.html Aspose Cells是一款操作和处理 ...

  5. 使用Aspose插件将程序中的表格,导出生成excel表格

    http://www.cnblogs.com/lanyue52011/p/3372452.html这个是原文地址 /// <summary> /// 点击按钮,将内存表导出excel表格! ...

  6. 利用Aspose文档转图片

    通过使用Aspose您可以轻松的将您的文档转换成真正的图片格式,最好的保证您的内容将实际可见,与其他格式相比,它并不存在查看工具的安装问题. 准备工作: 1:下载Aspose组件包:http://do ...

  7. 利用Aspose.Word控件实现Word文档的操作

    Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般 ...

  8. 黄聪:利用Aspose.Word控件实现Word文档的操作(转)

    撰写人:伍华聪  http://www.iqidi.com  Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及 ...

  9. EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类

    大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换 //EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls ...

随机推荐

  1. [windows操作系统]windows管理

    1.磁盘管理: 1.1.使用DISKPART命令行工具创建扩展分区: windows自带有一个disk management(磁盘管理)工具,但在其中却找不到如何创建扩展分区(一般MBR分区格式需要扩 ...

  2. 初学JavaScript七大注意事项

    知识说明: 初学JavaScript,注意以下七大细节,在实现同样功能的情况下,让我们的代码更易懂.效率更高. 一.简化代码 例如:创建对象 之前是这样的: Var car = new object( ...

  3. EF 自定义校验设置和捕获异常

    一.定义 public class MyItem: IValidatableObject { [Key] public long Id { get; set; } [Range(0, 100, Err ...

  4. animate.css总结

    本文对animate.css的各个效果进行总结 bounce 从上掉落,在地上小幅度跳起 <!DOCTYPE html> <meta charset="utf-8" ...

  5. Spring框架学习(二)

    一.依赖注入的三种注入方式 Spring框架为我们提供了三种注入方式:set注入.构造方法注入和接口注入. 1.set注入 规律:无论给什么赋值,配置文件中<property>标签的nam ...

  6. IOS7 SDK 几宗罪

    IOS7 app 默认是全屏模式,所以之前的程序窗口会上向移动到状态栏上面,所以在底边会有一条大白边 表格单元格,默认是白色背景,之前程序设置的透明效果,这里不在起作用,需要用下面的委托方法改变.- ...

  7. android textview显示html问题

    我在textivew中填充了html标签后,末尾端总是有2.3个空行.debug也没发现有什么换行符.空格符,后来查了半天html的标签,发现里面有个<div>标签,这个标签的作用是把内容 ...

  8. C&C++ recap

    大一时候学过C++,可惜忘得差不多了,之后也很少用过.当时使用的是windows系统,使用的还是visual C++.当时对计算机并不感冒,也没好好学.最近在R的学习中遇到瓶颈,觉得要捡起曾经的C/C ...

  9. input屏蔽历史记录

    设置input 的扩展属性 autocomplete为off即可 <input type="text" autocomplete="off" />

  10. HDU 4473 Exam 枚举

    原题转化为求a*b*c <=n中选出两个数组成有序对<a,b>的选法数. 令a<=b<=c.... 分情况讨论: (1)全部相等,即a = b = c. 选法有n^(1/ ...