zoukankan      html  css  js  c++  java
  • 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,英文默认支持 中文会出现乱码

  • 相关阅读:
    js 高阶函数之柯里化
    JavaScript 相关的工具代码
    JS 数组、对象的深拷贝
    页面性能优化
    axios(封装使用、拦截特定请求、判断所有请求加载完毕)
    java 实现登录验证码 (kaptcha 验证码组件)
    告别 hash 路由,迎接 history 路由
    解决 Vue 动态生成 el-checkbox 点击无法赋值问题
    分享基于 websocket 网页端聊天室
    vue + element 动态渲染、移除表单并添加验证
  • 原文地址:https://www.cnblogs.com/Luouy/p/5750704.html
Copyright © 2011-2022 走看看