精华内容
下载资源
问答
  • itext 生成word目录标题格式样式

    千次阅读 2011-04-13 19:27:53
    研究了好几天用itext生成word目录,在别人的指导下终于做到了这一步:生成标题格式和样式。在生成好的word文档中还要手工生成,插入->引用->索引和目录->目录。如果那位能直接生成目录省去手工操作请指教。...
    研究了好几天用itext生成word目录,在别人的指导下终于做到了这一步:生成标题格式和样式。在生成好的word文档中还要手工生成,插入->引用->索引和目录->目录。如果那位能直接生成目录省去手工操作请指教。我用的包是iText-2.1.7.jar和iText-rtf-2.1.7.jar两个。下面是例子:
    

    package com.zfsoft.test;

    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;

    import com.lowagie.text.Document;
    import com.lowagie.text.DocumentException;
    import com.lowagie.text.Element;
    import com.lowagie.text.Font;
    import com.lowagie.text.PageSize;
    import com.lowagie.text.Paragraph;
    import com.lowagie.text.rtf.RtfWriter2;
    import com.lowagie.text.rtf.style.RtfParagraphStyle;

    public class Test2 {


    public static void main(String[] args) throws DocumentException, FileNotFoundException {
    Document document = new Document(PageSize.A4.rotate());
    RtfWriter2.getInstance(document, new FileOutputStream("d:\\test.doc"));
    document.open();
    Font titleFont = new Font(Font.NORMAL,16, Font.BOLD);
    /* 设置标题1格式 */
    RtfParagraphStyle rtfGsBt1 = RtfParagraphStyle.STYLE_HEADING_1;
    rtfGsBt1.setAlignment(Element.ALIGN_CENTER);
    rtfGsBt1.setStyle(Font.BOLD);
    rtfGsBt1.setSize(14);
    /* 设置标题2格式 */
    RtfParagraphStyle rtfGsBt2 = RtfParagraphStyle.STYLE_HEADING_2;
    rtfGsBt2.setAlignment(Element.ALIGN_LEFT);
    rtfGsBt2.setStyle(Font.NORMAL);
    rtfGsBt2.setSize(12);
    Paragraph title = new Paragraph("测试");
    title.setAlignment(Element.ALIGN_CENTER);
    title.setFont(titleFont);
    document.add(title);
    //正文
    title = new Paragraph("1.第一章");
    title.setFont(rtfGsBt1);
    document.add(title);
    title = new Paragraph("1.1 第一节");
    title.setFont(rtfGsBt2);
    document.add(title);
    title = new Paragraph("1.2 第二节");
    title.setFont(rtfGsBt2);
    document.add(title);
    title = new Paragraph("2.第二章");
    title.setFont(rtfGsBt1);
    document.add(title);
    title = new Paragraph("2.1 第一节");
    title.setFont(rtfGsBt2);
    document.add(title);
    title = new Paragraph("2.2 第二节");
    title.setFont(rtfGsBt2);
    document.add(title);
    document.close();
    }

    }
    展开全文
  • Word多级标题模板的建立与教育应用 word自动生成目录 金山wps Word多级标题模板的建立与教育应用 word自动生成目录 金山wps Word多级标题模板的建立与教育应用 word自动生成目录 金山wps
  • 在项目需求中,需要对于一个word模板文档生成相对应的word文件,而此word模板是多页的并且需要在最终文件中生成相应的目录,由于项目环境是Linux,所以舍弃了jacob(windows环境)。然后主要是研究了Apache poi 进行...

    在项目需求中,需要对于一个word模板文档生成相对应的word文件,而此word模板是多页的并且需要在最终文件中生成相应的目录,由于项目环境是Linux,所以舍弃了jacob(windows环境)。然后主要是研究了Apache poi 进行word操作以及如何生成目录。
    主要分两个部分介绍:

    1. Apache poi 操作word:主要是通过XWPFDocument对象进行操作,api 地址:http://poi.apache.org/apidocs/dev/
    //读取word文件
    InputStream is = new FileInputStream(path);  
    XWPFDocument doc = new XWPFDocument(is);  
    List<IBodyElement> elements=  doc.getBodyElements();//获取所有元素(段落和表格)
    int pIndex =0;
    int tIndex =0;
    for(int i=0 ; i< elements.size(); i++) {
    	IBodyElement e = elements.get(i);
    	//判断元素类型:段落/ 表格
    	if(BodyElementType.PARAGRAPH.equals(e.getElementType())) {
    		XWPFParagraph pa = e.getBody().getParagraphArray(pIndex); //获取段落
    		List<XWPFRun> runs = paragraph.getRuns(); //获取段落文本
                    for (XWPFRun run : runs) {
                          ...替换文本
                    }
    	}
    	else if(BodyElementType.TABLE.equals(e.getElementType())){//表格
                   XWPFTable ta = e.getBody().getTableArray(tIndex);
                   List<XWPFTableRow> rows = ta.getRows(); //获取所有行
                   for (XWPFTableRow row : rows) { 遍历每行
    			List<XWPFTableCell> cells = row.getTableCells(); //获取每行单元格
    			for (XWPFTableCell cell : cells) { //遍历单元格
    				List<XWPFParagraph> paragraphs = cell.getParagraphs(); //获取单元格段落
    				for (XWPFParagraph paragraph : paragraphs) {
    					List<XWPFRun> runs = paragraph.getRuns();//获取单元格文本
    					for (XWPFRun run : runs) {
    						...替换文本
    					}
    				}
    			}
    		}
        	}
    }
    

    操作word方面还是很方便,可以参考一些更详细的:
    https://blog.csdn.net/eye9093/article/details/77368703
    https://blog.csdn.net/u012775558/article/details/79678701

    主要是介绍一下目录如何生成
    2. .Apache poi 生成word目录: 需要了解ooxml(Office Open XML)的大体结构,参考:http://www.datypic.com/sc/ooxml/s-wml.xsd.html,主要是通过xml标签进行识别分页。

    之前在网上也查阅了很多,发现目录的页数问题始终没有一个好的解决方案,之前看的可以通过转成pdf计算页数,但是这个耗时太长,特别是对于我们项目word页数较多的时候转换再重写消耗的时间很长。所以选择再去研究一下word对应的xml文件是否有思路去解决这一问题。
    我们选择的是xxx.docx 文件,通过word另存为xml
    在这里插入图片描述

    获取到此word文件的xml文件,xml文件结构如下:
    在这里插入图片描述
    其实大体看一下可以大致理清xml的结构,而我们主要是关注这一个标签
    在这里插入图片描述
    这个标签就是分页之后产生的标签(经测试插入空白页不会产生这个标签,如果是遇到表格处于分页那么分页后的表格的第一个单元格必须有文本,不然也不会产生这个标签,而且文档必须有页码),而通过获取这个标签就可以计算出页数,可以看出这个标签位置是<w:p>下的<w:r>下,可以通过poi判断这个标签是否存在:
    在这里插入图片描述

    主要代码如下:

    .//承接上面的获取的段落
    int num =1;//页数
    XWPFParagraph pa = e.getBody().getParagraphArray(pIndex); //获取段落
    List<CTR> ctrlist = pa.getCTP().getRList();//获取<w:p>标签下的<w:r>list
    for(int j=0; j < ctrlist.size(); j++) {  .//遍历r
    	CTR r = ctrlist.get(j); 
            List<CTEmpty> breaklist = r.getLastRenderedPageBreakList();//判断是否存在此标签
            if(breaklist.size() > 0) {
           		num++; //页数添加
            }
    }
    

    由此可以高效率的获取到页码,生成目录的代码可以参考:https://www.jianshu.com/p/0a32d8bd6878

    所以大体功能实现思路如下:

    1. POI读取word模板文件(模板必须有页码并且目录位置先用标签标记),然后进行模板内容替换。
    2. 内容替换完毕后,再整体遍历所有段落和表格,在添加目录项时将对应的目录标题和页码作为参数传入,生成目录。
    3. 全部生成完毕后,将文档输出到目标文件。
    展开全文
  • Word多级标题设置和自动生成目录

    万次阅读 2018-11-24 11:47:46
    在用word写学位论文或比较长的报告的时候,经常在写完主要内容要设置多级标题格式并自动生成目录,这里记录分享一下自己的一些经验,虽然不一定是最佳的方法,但理解起来比较简单,也能比较有效的解决问题。...

    在用word写学位论文或比较长的报告的时候,经常在写完主要内容后要设置多级标题的格式并自动生成目录,这里记录分享一下自己的一些经验,虽然不一定是最佳的方法,但理解起来比较简单,也能比较有效的解决问题。主要思路就是先设置好几个自己需要的多级标题样式(不带编号的)并对正文的各级标题依次进行设置,然后再自动生成目录。下面举一个简单的例子(使用的是word2013)。

    假设要对下面的文本设置多级标题并自动生成目录
    在这里插入图片描述

    各级标题的格式要求如下:
    各章标题:小二号黑体,居中
    各节一级标题:小三号黑体,居左
    各节二级标题:四号黑体,居左
    各节三级标题:小四号黑体,居左

    创建各级标题样式

    在word“样式”设置中新建样式并按某级格式要求设置样式的属性和格式,如下图1所示,为简单起见样式基准设置为“(无样式)”,后续段落样式设置为“正文”。
    图1
    图1

    设置各级标题样式

    依次创建好了各级标题样式后,即可对原文的各级标题设置相对应的样式,只要把光标置于要设置样式的标题所在的行,再选择相应的样式即可,如下图2所示。
    图2
    图2
    对其它各级标题设置(除上面列出的格式要求不同,其它设置均相同)完成后的样子如图3所示。
    图3
    图3

    自动生成目录

    方法一:更新默认样式以匹配所选内容

    对上面设置好的各级标题,可以依次选中它们,然后更新word默认的标题样式以匹配选中的标题样式,如下图4所示。
    在这里插入图片描述
    图4
    这样一来,默认的标题样式就会被更新为你自定义的标题样式,按照更新后的默认标题样式设置好正文各级标题后,只要依次选择word菜单栏的“引用”-“目录”-“自动目录1”,就会生成想要的结果。使用更新后的默认标题样式还有一个好处就是目录可以在大纲视图中显示(在word菜单栏的“视图”-“显示”-勾选“导航窗格”即可)。

    方法二

    设置好正文的各级标题样式后,依次选择word菜单栏的“引用”-“目录”-“自动目录1”,会生成一个带“目录”标题的空目录。

    然后再选中该空目录,依次选择word菜单栏的“引用”-“目录”-“自定义目录”打开自定义目录对话框,再选择“选项”按钮,打开目录选项对话框,在里面修改默认的目录标题样式和相应的目录级别,如下图5所示。
    在这里插入图片描述
    图5
    修改之后的样子如图6所示。
    图5
    图6
    还可在目录对话框中选择“修改”按钮修改目录中各级标题的显示样式,如下图7所示(我设置的是修改目录1的字体为黑体)。
    图6
    图7
    最后依次在对话框点确定退出各对话框,即可生成最终的自定义目录,如下图8所示。
    在这里插入图片描述
    图8

    去掉目录前的小黑点

    这个跟去掉word中标题前的小黑点用到的方法是一样的,主要步骤就是选中标题,右击选择“段落”-“换行和分页”,去掉“与下段同页”和“段中不分页”前面的勾选即可,具体可参考Word2013文档使用标题前面默认有一个小黑点怎么将它去掉

    最后就大功告成了!如果能帮助到大家的,烦请顺手点个赞:)
    在这里插入图片描述

    PS:如果想自动生成word多级标题编号并调整其格式,可以参考word多级标题编号格式到底怎样调整? - 将明的回答 - 知乎
    参考资料:

    1. word2013视频和教程
    展开全文
  • word2013自动生成目录的时候,如何调整目录格式

    万次阅读 多人点赞 2018-05-18 20:10:28
    图为要求的格式目录:(1)设置标题等级:我们在word中按照自动生成目录的方式,对每个一级标题、二级标题、三级标题等分别添加样式格式(添加方法简单,简单见下图。也可自行百度,很简单。)选中要修改成标题的...

    背景介绍:毕业之际,最烦的就是时间不够,重要的时间还浪费在各种修改格式上面,很多格式在网上一时找不到解决办法。比如word自动生成目录这个。图为要求的格式目录:

    (1)设置标题等级:我们在word中按照自动生成目录的方式,对每个一级标题、二级标题、三级标题等分别添加样式格式(添加方法简单,简单见下图。也可自行百度,很简单。)选中要修改成标题的文字,根据需求设置标题等级。

    (2)自动添加目录:具体见下图(引用-目录-自动目录)


    添加目录之后,可以删除目录,修改目录。修改目录格式之后,自动更新目录格式。下面介绍如何根据需求,手动设置想要的目录格式。

    (3)自定义目录格式

    点击“自定义目录”,进入目录设置。


    上图中,常规+选项都可以设置目录的大纲显示级别。点击修改:即可设置更加详细的格式。


    选择要修改的目录(如图中的目录1、目录2、目录3),点击修改。在如下框图里面进行格式样式的设置,简单设置可以在图中间的“格式”框中设置,更为详细的设置移步底下的红色框图。

    特别注意:

    这里选择目录1,意思是修改“一级标题”的格式;

    同理,选择目录2,意思是修改“二级标题”的格式,剩下的以此类推。

    笔者最开始的时候一直没弄清楚,修改琢磨半天。与其说是目录1,不如说成标题1,更能让人理解。



    好记性不如烂笔头,技术问题及时更新博客,以免日后忘记。



    展开全文
  •   菜单栏依次选择:引用 => 目录 => 自定义目录 =>... 格式 => 制表位 => 根据个人选择合适的制表位置和前导符 => 对齐方式为“居中”   下图是我的设置和最终效果: ...
  • word自动生成目录教程

    2013-03-12 15:12:16
    word自动生成目录教程;主要是根据自己的标题自动生成目录
  • jacob生成word目录

    2020-03-22 04:11:43
    任务目的 1自动生成word文档目录。 用例测试操作步骤 在一个word文档的第二页填写占位符: {目录}保存。调用程序读取目标文档,自动根据标题生成目录到{目录}位置。
  • 眼下快到毕业季,又到了大家疯狂写...本文将以哈工大本科毕业论文模板为标准,一步步完成指定格式目录生成。 这是目录的模板图(是手工打出来的2333),从模板中可以得出格式的要求: 目录需要包括摘要、Abstra.
  • word根据标题自动生成目录

    千次阅读 2018-04-12 12:02:22
    word根据标题自动生成目录 解决方法:http://www.yayihouse.com/yayishuwu/chapter/1172
  • word自动生成章节标题

    千次阅读 2018-05-25 14:55:30
    一级目录二级目录三级标题
  • 对长文档进行排版时常常需要生成目录,在Word中对需要生成目录标题设置好大纲级别就可以自动生成目录,如图1所示的文档,生成如图2所示的目录。(本文所用是Word2013) 图1 图2 对于如图2所示的...
  • WORD2013为例,目录标题格式可以在引用-目录-自定义目录里面修改 如下图 在弹出的对话框中点修改,又出现一个小对话框如下图 小对话框中的目录1,2,3.....即对应标题1,2,3.... 以标题3为例,选中目录三点...
  • 问题描述:正文部分设置了三级标题,如图1-1所示,在自定义目录格式时,设置了目录1(TOC1)格式为小四宋体加粗,目录2(TOC2)和目录3(TOC3)格式为小四宋体常规,生成目录如图1-2所示,发现目录格式并不是自己...
  • Word VSTO实现多级列表标题,根据标题的级别设置不同的样式(Word标题分1-9级),根据生成Word标题在指定位置插入文本内容、图片文件,最后生成标题及文档目录
  • word多级目录设置和自动生成目录

    千次阅读 2019-12-08 16:42:22
    三、如何将多级标题格式导入到模板,新生成的文档自带多级标题 已有的文档没有多级标题,需要手动从word模板的样式库导入。 四、如何自动生成目录。如何设置目录生成标题级数。 六、序号和标题正文的间距...
  • 如果你要写一篇论文,最好是在写之前将多级标题设置好,这样才能事半功倍,并且可自动生成带超链接的目录,下面言归正传将介绍一篇论文格式标题目录。  一、多级标题生成  如果你最多只用到标题的3级,则...
  • package com.chuangqi.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.chuangqi.entity.*; import ...
  • word2016如何设置多级标题及自动生成目录快速设置多级标题自动生成目录 相信不少朋友都在写论文或报告的时候对设置多级标题以及自动生成目录很苦恼,其实只要对标题设置了级别就可以快速生成目录了 也就是以下这样的...
  • 1. 首先标题要用快速样式里面的标题形式。快速样式里面的样式可以编辑,也可以新建。...2. 自动生成标题形式,选择,引用,自动生成目录即可。 3. 目录生成,可以通过更新来增加后来增加的目录
  • 描述:word2019快速生成目录的方法 步骤: 打开word,写标题后标题格式选择菜单栏开始的标题格式 菜单栏->引用->目录->自动目录目录生成
  • word自动生成目录--小写字母大写

    万次阅读 2016-05-24 16:05:04
    哪一级标题有出现小写字母大写的情况就选中该目录 在工具栏中点击引用 点击目录下的倒三角,选择插入目录 在出现的对话框中选择右下角的修改 选择对话框左下角的格式—字体,去掉对话框中的小型大写字母 确定,完成
  • Word生成PDF,PDF左侧导航书签不显示目录的解决方法第一步第二步 第一步 另存为PDF格式,操作如下: 第二步 选择“创建标签时使用标题
  • word目录生成与页码处理

    千次阅读 2008-06-13 20:59:00
    word目录生成与页码处理:一、设置标题格式 1.选中文章中的所有一级标题; 2.在“格式”工具栏的左端,“样式”列表中单击“标题1”。 仿照步骤1、2设置二、三级标题格式标题2、标题3。 二、自动生成目录 1.把光标...
  • 一+四种制作Word自动生成目录的方法 最简单 最有效 的方法 五分钟搞定 其他方法一 1、用WORD根据文章的章节自动生成目录 其他方法二 1、创建标题目录 2、创建图表目录 3、创建引文目录 4、更新目录 其他...
  • word2007自动生成目录小写字母大写

    万次阅读 2013-05-23 10:05:20
    最近写文档,用的是word2007,自动生成目录总是把标题的小写字母换成大写,经过一天的查找实践,最后终于搞定了。 1. 在工具栏中点击引用 2. 点击目录下的倒三角,选择插入目录 3. 在出现的对话框中选择右下角...
  • Word生成自定义的标题目录,发现左侧有很多空格,手动删除肯定不是良策,经过摸索,通过以下方式可以解决。 二、解决方法 鼠标左键三击目录中的一个标题,右键——段落,做一下设置:缩进——左侧——0字符,...
  • word2007自动生成目录

    2014-12-26 17:27:31
    本教程为大家介绍word2007目录自动生成的方法。  Word 2007一般是利用标题或者大纲级别来创建目录的,这对那些用WORD 写书,写论文的朋友很有帮助。因此,在创建目录之前,应确保希望出现在目录中的标题...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,576
精华内容 15,430
关键字:

word目录生成后标题格式变了