1、调用打印模板,并且构造书签数据成map,然后调用aspose替换书签

public ActionForward printNew(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
//        response.setContentType("text/html;charset=utf-8");
//        response.setCharacterEncoding("UTF-8");
//        String dialogDiv = "<div id=\"lui-id-83\" class=\"lui-component lui_dialog_main\" data-lui-cid=\"lui-id-83\" style=\"z-index: 61; overflow: hidden; position: fixed; width: 200px; left: 558px; top: 473.5px;\"><div class=\"lui_dialog_loading_frame\">                <div class=\"lui_dialog_loading_centerL\">            <div class=\"lui_dialog_loading_centerR\">                <div class=\"lui_dialog_loading_centerC\">                    <div data-lui-mark=\"dialog.content.frame\" class=\"lui_dialog_loading_container clearfloat\">                                            <div id=\"lui-id-85\" class=\"lui-component\" data-lui-cid=\"lui-id-85\"><div>    <div data-lui-mark=\"dialog.content.inside\" class=\"lui_dialog_loading_content\">        <div class=\"load_img\">        </div>        <div class=\"load_txt\">打印加载数据中...</div>    </div></div></div></div>                </div>            </div>        </div>                <div class=\"lui_dialog_loading_bottomL\">            <div class=\"lui_dialog_loading_bottomR\">                <div class=\"lui_dialog_loading_bottomC\">                </div>            </div>        </div>    </div></div>";
        //response.getWriter().write("<script type='text/javascript'>alert('加载中。。');</script>");
        TimeCounter.logCurrentTime("Action-view", true, getClass());
        KmssMessages messages = new KmssMessages();
        //定制新打印
        Map<String,List<String>> resultMap = new HashMap<String,List<String>>(); //待替换的书签与内容
        String printNew = request.getParameter("printNew");
        JSONObject jsonObject=JSONObject.fromObject(printNew);
        System.out.println("前端书签数据:+++++++++++");
        System.out.println(jsonObject);
        System.out.println("前端书签数据:+++++++++++");
        String fdId = jsonObject.getString("fdId");
        YkdContractMain ykdContractMain = null;
        if(StringUtil.isNotNull(fdId)) {
            ykdContractMain = (YkdContractMain) getServiceImp(
                    request).findByPrimaryKey(fdId);
        }
        String fdTemplateId = "";
        List attContracts = getSysAttMainService().findByModelKey("com.landray.kmss.ykd.contract.model.YkdContractParameters", fdId, "sysprint_editonline");
        if(!"10".equals(ykdContractMain.getIsNeedNewPrint())) {//未打印过
            System.out.println("开始重新转换!");
            IBaseModel mainModel = (IBaseModel) ykdContractMain;
            IExtendForm mainForm = null;
            mainForm = getServiceImp(request).convertModelToForm(mainForm, mainModel,new RequestContext(request));//model转form
            SysPrintMainCoreServiceImp sysPrintMainCoreServiceImp = new SysPrintMainCoreServiceImp();
            sysPrintMainCoreServiceImp.setWordPrintModelData(mainModel, mainForm, request);//反射当前实体类对象成JSONObject对象
            JSONObject resultJson = (JSONObject) request.getAttribute("resultJson");
            jsonObject = jSONCombine(jsonObject,resultJson);
            Iterator it2 = jsonObject.keys();
            while (it2.hasNext()) {
                String key = String.valueOf(it2.next());
                String value = "";
                if(jsonObject.get(key) != null){
                    value = jsonObject.get(key).toString();
                    List<String> resultList = new ArrayList<String>();
                    resultList.add("Text");//代表替换书签的是文本
                    resultList.add(value);
                    resultMap.put(key, resultList);
                }  
            };
            // 开始定制明细表 -- liuwei
            //承租单元明细表 start
            PrintStream printStream = new PrintStream(new FileOutputStream(
                    ConfigLocationsUtil.getWebContentPath() + "/ykd/contract/ykd_contract_main/czdy_bookmark.html"));
            List<YkdContractHtCzdy> l = ykdContractMain.getFdHtCzdy();
            String html = "<!DOCTYPE html><html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"
                    + "</head><style>.xx{font-family:fangsong;font-size: 10.5pt;font-weight:bold;color: black;}.yy{font-family:fangsong;font-size: 10.5pt;font-weight:bold;color: black;}.tb_normal{  background-color: #ffffff;"
                    + " border-collapse: collapse;border: 1px black solid;padding: 8px !important;text-align: left;margin: 0 auto;}</style>"
                    + "<table class=\"tb_normal\" width=100% border=\"1\" cellspacing=\"0\">" + "<tr class=\"xx\">"
                    + "<td align=\"center\">楼栋</td>" + "<td align=\"center\">楼层</td>" + "<td align=\"center\">单元</td>"
                    + "</tr>";
            for (YkdContractHtCzdy main : l) {
                html += "<tr class=\"yy\">" + "    <td align=\"center\">" + main.getFdLouyu().getFdLymc() + "</td>"
                        + "    <td align=\"center\">" + main.getFdLc().getFdLcmc()
                        + EnumerationTypeUtil.getColumnEnumsLabel("ykd_space_lcdw", main.getFdLc().getFdLcdy() + "")
                        + "</td>" + "    <td align=\"center\">" + main.getFdDy().getFdDybh() + "</td>" + "</tr>";

}
            html += "</table></html>

2、加载lisense

/**
     * 加载license
     * 
     * @return
     */
    public static boolean loadLicense(String type) {
        boolean result = false;
        // return true;

try {
            // license路径,必须放到根路径
            String lic_file = "Aspose.Total.Java.lic";

if (type.equals("word")) {

license = LicenseUtil.class.getClassLoader().getResourceAsStream(lic_file);
                com.aspose.words.License aposeLic = new com.aspose.words.License();
                aposeLic.setLicense(license);
                result = true;
                System.out.println("加载license 成功");
            }

} catch (Exception e) {
            e.printStackTrace();
        }
        return result;

}

3、许可

<License>
  <Data>
    <LicensedTo>ShenZhen Landray Software Co., LTD</LicensedTo>
    <EmailTo>hucq@landray.com.cn</EmailTo>
    <LicenseType>Developer OEM</LicenseType>
    <LicenseNote>Limited to 1 developer, unlimited physical locations</LicenseNote>
    <OrderID>200330023926</OrderID>
    <UserID>134966180</UserID>
    <OEM>This is a redistributable license</OEM>
    <Products>
      <Product>Aspose.Total for Java</Product>
    </Products>
    <EditionType>Enterprise</EditionType>
    <SerialNumber>87d291a1-b325-489a-86a9-d0dbbca6e308</SerialNumber>
    <SubscriptionExpiry>20210331</SubscriptionExpiry>
    <LicenseVersion>3.0</LicenseVersion>
    <LicenseInstructions>https://purchase.aspose.com/policies/use-license</LicenseInstructions>
  </Data>
  <Signature>oyyD1ki7W18O0kKlNcdqh4ejrP6CBQH5BpAAf3/PO0SSRqLi9wwEmZSbGZ/RZa83YtYcQ7hoNhUwjoCyzd8Df+6ETjjncT2Kzx/opG5spu8whNJu1cv24zOMdxv9cd4rSBcA+VtLnzVDhOTXfNk1bEEl5xQpeOIP4b1M4v1PVgY=</Signature>
</License>

4、jar包

aspose-words-20.7.jar

aspose-cells-20.7.jar

aspose替换书签并用金格插件打开相关推荐

  1. java向Word模板中替换书签数据,插入图片,插入复选框,插入Word中表格的行数据,删除表格行数据

    java向Word模板中替换书签数据,插入图片,插入复选框,插入Word中表格的行数据,删除表格行数据 使用插件:spire.doc 创建工具类,上代码: import com.spire.doc.D ...

  2. Aspose.words 书签定位

    1. 简介 Aspose.words 可以在不使用 Microsoft.Word 的情况下生成.修改.转换.打印文档.不依赖office组件,这一点给我们提供了极大的便利性,可以简单的引入 DLL(D ...

  3. C# 操作Word书签(二)——插入图片、表格到书签;读取、替换书签

    概要 书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间.在前一篇文章"C# 如何添加/删除Word书签"中介绍了插入.删除书签的方法,本篇文章将对C# 操作W ...

  4. Floccus – 跨平台浏览器「书签同步」插件

    Floccus – 跨平台浏览器「书签同步」插件 标签: windows 一直想要找一个能够做到跨平台的浏览器,之前使用QQ浏览器,虽然能做到win和安卓,但是浏览器本身毛病太多,后来转到chrome ...

  5. 推荐几款好用的书签收藏夹插件-让我们可以稍后阅读

    今天一个小师妹问我,chrome有没有一款稍后阅读的插件啊?因为在互联网上的学习的时候经常是查询资料A的时候,发现有个自己感兴趣的资料B,C,D.但是当下有没有时间去查看,所以就希望能够收藏起来稍后阅 ...

  6. 分享到校内网、转帖到开心网、QQ书签等分享插件

    分享到校内网.转帖到开心网.QQ书签等分享插件 校内网(xiaonei.ccom).开心网(kaixin001.com)是国内具有垄断地位的SNS两大巨头,前者偏向于学生市场,后者偏向于全年龄用户尤其 ...

  7. 推荐几款chrome上比较好用的书签收藏夹插件

    今天有个人问我chrome浏览器器上有没有可以稍后阅读的插件啊?她其实想问的就是书签收藏夹插件,因为我们在互联网上一不小心就会看到很多感兴趣的内容,但是时间有限暂时无法阅读,以后保存下来有时间的时候再 ...

  8. java操作word,添加页眉,页眉图片,替换书签,添加水印(全)

    java操作word文档,添加页眉文本,页眉图片,替换书签,水印 原模板截图: 生成后的文档效果截图: 第一步:引入maven <dependency><groupId>spi ...

  9. NoNoise AI 2021如何在其它软件中作为插件打开?NoNoise AI 2021插件启动教程

    NoNoise AI 2021 是最好的摄影降噪软件.使用 AI 驱动的 NoNoise AI 快速去除噪点并获得照片中最清晰的细节.ON1 NoNoise AI 智能去除所有图像噪点,同时智能恢复和 ...

最新文章

  1. 表达式 控件 html,获取HTML表单控件的UrlEncode字符串表达式
  2. 多尺度人脸检测--Face Detection through Scale-Friendly Deep Convolutional Networks
  3. 【浙大出品】基于扩展FPN的小目标检测方法
  4. UA MATH567 高维统计I 概率不等式11 Azuma不等式
  5. [个人推荐]函数式编程另类指南[zz]
  6. html5 android6.0摄像头,HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试...
  7. mysql 插入加锁_MySQL的死锁系列- 锁的类型以及加锁原理
  8. RQNOJ 95 多多看DVD(加强版):01背包
  9. 【DataBase】【sqlite3】【第一天】
  10. 张宇基础30讲 第17讲-元函数积分学基础知识
  11. u8反启用固定资产_用友怎么取消固定资产模块
  12. 【PhotoShop】ps 基础知识
  13. 蜂鸣器音乐代码 天空之城_歌单 | 音乐拥有魔力
  14. PyTorch学习—7.数据预处理模块—transforms
  15. Possible solution: - Disable offline mode and rerun the build
  16. 使用h5制作一个五子棋游戏
  17. python+pytest接口自动化之测试函数、测试类/测试方法的封装
  18. Lab6 MPEG音频编码实验——C++代码实现
  19. 防手机锁屏解锁自定义View
  20. python识别中文人名_使用Python在NLP中的命名实体识别中提取人名

热门文章

  1. python分析微博数据中心_未明学院:量化金融项目实战,成为掌握数据分析技能的复合型人才!...
  2. 从pdf文件中获取上市公司行业分类
  3. Pytorch使用torchvision实现deform_conv2D
  4. matlab十进制转二进制文件,将十进制的范围数据转化为二进制
  5. m.soudashi.cn 地图_网站百度排名推广的基本操作是什么
  6. Redis这篇文章一键搞定
  7. 找不到msvcp120.dll和msvcr120.dll的问题
  8. (附源码)基于SpringBoot的在线学生请假管理系统的设计与实现 毕业设计060935
  9. 普中科技手把手教你学ESP32--基于MicroPython-02
  10. 联想zuk z2刷recovery教程(Fastboot一键线刷)