您的位置:首页 > 编程语言 > ASP

Aspose.Words 的使用 Aspose.Total_for_.NET

2016-08-08 19:40 393 查看
最近在做有个业务需要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[0];
//取出业务数据
if (ret_val.Rows.Count > 0)
{

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[0]["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[0]["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[0]["v_question7_N"].ToString();
}
string strPathName = ret_val.Rows[0]["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,英文默认支持 中文会出现乱码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: