Aspose.Words 的使用 Aspose.Total_for_.NET

最近在做有个业务需要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,英文默认支持 中文会出现乱码

原文地址:https://www.cnblogs.com/Luouy/p/5750704.html