插入目录以及设置目录样式的代码:

//将光标移到目录书签
builder.moveToBookmark("TOC");
builder.insertBreak(BreakType.PAGE_BREAK);//设置目录的格式
//“目录”两个字居中显示、加粗、搜宋体
builder.getCurrentParagraph().getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
builder.setBold(true);
builder.getFont().setName(FontName.SONG);
builder.writeln("目录");
//清清除所有样式设置
builder.getParagraphFormat().clearFormatting();
//目录居左
builder.getParagraphFormat().setAlignment(ParagraphAlignment.LEFT);//插入目录,这是固定的
builder.insertTableOfContents("\\o \"1-3\" \\h \\z \\u");
field.update();
doc.updateFields();// 更新域doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_1).getFont().setSize(FontSize.FONT105);    //改变目录的字体大小doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_2).getFont().setSize(FontSize.FONT105);    //改变目录的字体大小doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_3).getFont().setSize(FontSize.FONT105);    //改变目录的字体大小doc.getStyles().getByStyleIdentifier(StyleIdentifier.TOC_3).getParagraphFormat().setLineSpacing(18);//改变目录行距merge.updatePageLayout();
merge.updateFields();field.update();
//读取配置文件获取word路径
Properties properties = new Properties();
InputStream in = this.getClass().getResourceAsStream("/config/docPath.properties");
properties.load(in);
reportDocPath = properties.get("docPath").toString();
System.out.println("————————————路径:" + reportDocPath);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String now = sdf.format(new Date()).replaceAll("-", ".");
doc.save(reportDocPath + now + ".doc");

可以看出,在生成目录后我尝试进行了许多关于文档、域的更新,然而,word并不为之所动,目录中的页码和实际页码依然纹丝不动的不对应着,如图:
目录:

word文档内部:

后期也做了更多尝试,比如宏什么的,都没用,和之前说的word文档在WPS中的兼容性一样,这个问题的源头依然只是一个非常不起眼的小属性,也是随着WPS兼容性的解决随之解决的,看到之后的确哭笑不得呢~当初我可是因为这个页码的问题苦苦追寻了一个多星期的答案(···未果···)

解决方案:

检查你的代码,看看是否存在类似于这行的代码:

builder.getCellFormat().setWidth(PreferredWidthType.POINTS);

如果有,恭喜你,注释掉这一行你就得救了!重新生成一份word吧,Here comes the sunshine! b( ̄▽ ̄)d

真的,当我注释掉这一行后,整个人都不好了,就这一行属性设置,引起了目录页码和实际页码不对应、WPS显示一团糟两个大问题,惨不惨!

快去试试吧!

aspose.words生成word文档(.dox、.docx等)时,生成目录后,目录中的页码和实际页码不对应,代码中更新域都没用相关推荐

  1. java生成word文档_Java多种方式动态生成doc文档

    本来是要在Android端生成doc的(这需求...),最后方法没有好的方法能够在Android上做到完美,最后还是只能搬迁到服务器.不浪费,还是记录下各框架不支持Android的原因以及他们的特点. ...

  2. 是的你没看错,js生成word文档

    用js生成word文档 查看Demo 你可以生成一份 word 文档,在此文档中可以添加多种元素并设置多种属性. 可添加的元素 段落 超链接 标题 表格 列表 图片 可设置的属性 font:字体,比如 ...

  3. word插件php,php使用phpword插件生成word文档

    php使用phpword插件生成word文档 php使用phpword插件生成word文档,有需要的朋友可以参考参考. require_once '../libs/PHPWord/PHPWord.ph ...

  4. matlab 生成 word 表格,利用MATLAB生成Word文档.doc

    利用MATLAB生成Word文档 function ceshi_Word %利用MATLAB生成Word文档 % ceshi_Word % % Copyright 2009 - 2010 xiezhh ...

  5. Aspose.Words简单生成word文档

    Aspose.Words简单生成word文档 Aspose.Words.Document doc = new Aspose.Words.Document(); Aspose.Words.Documen ...

  6. 【.NET】用Aspose.Words for .NET动态生成word文档中的数据表格

    1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档 ...

  7. java下freemarker2.3.28+aspose实现生成word文档生成、word转pdf转换

    一.java生成word文档 java生成word文档常用的两种方式: (1)apache下的poi类库处理office文档 (2)freemarker编辑word文件转换的xml文件 通过网上了解, ...

  8. Word处理控件Aspose.Words功能演示:使用 C++ 创建 MS Word 文档 (DOC/DOCX)

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  9. 用Aspose.Words for .NET动态生成word文档中的图片或水印

    1.概述 在项目中生成word文档,这个功能很普遍的,一般生成都是纯文字或是列表的比较多,便于客户打印,而要把图片也生成到word文档中的需求有些客户也是需要的,例如产品图片.这次我们介绍的是如何利用 ...

  10. vue+docxtemplater实现读取word文档,根据后端数据生成echarts图表插入word,并下载为docx格式文件

    一.需求 word自带的图表不能满足需求,并且编写过程繁琐,需要写一个页面,主要功能是能读取服务器的word模板,根据后台给的数据,自动生成echarts图表并插入到word指定位置,然后点击能下载插 ...

最新文章

  1. Java 的 JSP 已经被淘汰了吗?
  2. Spring Boot 服务监控,健康检查,线程信息,JVM堆信息,指标收集,运行情况监控...
  3. 《你说对就队》第四次作业:项目需求调研与分析
  4. [云炬创业基础笔记]第二章创业者测试24
  5. .net bootstrap 下拉树状选择框_Bootstrap搭建图书管理系统
  6. C++的#include_next
  7. C语言,利用一维数组输出每月对应的天数。
  8. 理解React的组件
  9. 大数据售前的一点感悟
  10. jsp管理系统页面模板_Jsp+Ssh2+Mysql实现的CRM客户关系管理系统
  11. UML工具Visual Paradigm入门:业务流程建模 (BPM) 教程
  12. yyds,35岁自学编程,入职微软
  13. photoshop涂抹工具
  14. codelite编译器配置
  15. 知道创宇赵伟乌镇演讲:以云护云、以云治云,构建云端安全治理体系
  16. haproxy代理https配置方法【转】
  17. 记录生活账本,查看账目清晰更可查
  18. Button设置elevation阴影
  19. 《诗经·甘棠》:两种相思一样情 转自国学
  20. pyqt5 QPainter绘制图形,并旋转

热门文章

  1. linux还原防火墙设置,Linux防火墙设置
  2. Tensorflow中scope命名方法
  3. linux批量修改文件时间
  4. Java如何输入一个不知道长度的数组
  5. IntelliJ IDEA--配置导入导出
  6. 什么是生命?什么是人工智能?
  7. 【CSDN】CSDN图片居中
  8. 主成分回归预测matlab,科学网—Matlab: princomp() 主成分分析 - 杨建功的博文
  9. 对于计算机专业的个人理解
  10. 怎么将整个英文的pdf文档翻译成中文