创建一个带目录的Word模板

目录

一、创建文档

二、添加“节”

三、添加页码

四、设置页眉

五、标题配置

六、插入目录

七、封面处理


让我们先来看一下效果,如下图所示,结构与书籍一致。本模板实现了以下功能:

  1. 封面。可以自定义,本文只是示例。
  2. 目录。支持更新目录。
  3. 正文部分标题格式统一,插入新章节后标题顺序自动更新。
  4. 导航栏会清晰展示我们的大纲,也就是目录结构。

一、创建文档

创建一个新的Word文档,并勾选“视图”标签页中的“标尺”和“导航窗格”。此时页面左侧将会展示导航栏,正文部分上方与左方将会显示标尺,用于正文内容对齐。

二、添加“节”

介绍一个概念“节”。这个“节”类似于小说的章节概念,用于逻辑分段。比如本文中的封面、目录、正文可以分为三节。

了解了“节”概念之后,我们来体验一下。点击“布局”标签栏中的“分隔符”,展开后点击“分节符”下面的“下一页”。点击后看一下效果,此时我们的正文部分变成了两页。

重复本步骤一次,结果是创建3个页面,分别用于封面、目录、正文。

Tips:我们可以在三个页面中输入不同的汉字,用于区分

三、添加页码

我们知道,一本书的封面是没有页码的,目录与正文的页码是分开的,样式也可以是不一样的,那这个是怎么实现的呢?

(1)切到第2页,找到“插入”标签页中的“页脚”并展开,点击“编辑页脚”。

(2)点击后将打开页眉页脚工具,如下图。

  (3)依次点击页眉和页脚工具中的页码-->页面底端-->普通数字2。

Tips:可以选择页面顶端或页面底端,也可以选择页面显示的位置(普通数字1、普通数字2、普通数字3),还可以其它格式的页码(如X/Y)。

(4)依次检查一下三个页面,看一下结果。此时,三个页面是都有页码的,分别为1、2、3,这是不符合我们的目标的。

(5)下面我们修改一下目录的页码格式。切到第2页的页脚,依次点击页眉和页脚工具中的页码-->设置页面格式。

(6)弹出页码格式窗口后,将编号格式设置为:i,ii,iii,…,将页码编号由“续前节”变更为“起始页码”,点击“确定”按钮。

Tips:起码页码可自由设置,比如5、10、11等等。

(7)再次检查一下三个页面,看一下结果。此时,三个页面是都有页码的,分别为1、i、2

(8)下面我们去掉封面的页码。切到第一页的页脚,勾选页眉和页脚工具中的“首页不同”选项

(9)再次检查一下三个页面,看一下结果。此时,第一个页面的页码消失了,后两个页面是都有页码的,分别为i、2

(10)下面我们修改正文内容的页码。切到第3页的页脚,依次点击页眉和页脚工具中的页码-->设置页面格式(同步骤5)。弹出页码格式窗口后,将页码编号由“续前节”变更为“起始页码”,并将起始页码设置为1,点击“确定”按钮。

(11)再次检查一下三个页面,对比一下结果。此时,第一个页面是没有页码的,后两个页面是都有页码的,分别为i、1

(12)页码设置完成后,可以点击页眉和页脚工具中的“关闭页眉和页脚”,用来关闭页脚。

Tips:可以双击页眉和页脚位置来打开页眉和页脚;也可以双击页眉和页脚外的任何地方,来关闭页眉和页脚。

四、设置页眉

一般来说,一本书正文部分每页的顶部,一般都会有页眉文字,比如这一章节的标题。下面我们就来实现这个功能。

(1)切到第3页,双击页眉处,打开页眉,输入方案,比如我个人比较喜欢的:The best preparation for tomorrow is doing your best today。

(2)默认情况下,页眉文字是居中显示的。点击“开始”标签页中的“右对齐”图标,即可实现页眉文字靠右显示。

(3)检查一下结果,我们会发现封面页眉有一条横线,目录页眉也有文字和横线,这两点不太符合我们的要求,我们来进一步优化它

(4)分别切到第2、3页页眉,找到页眉和页脚工具中的“链接到前一节”,并取消选中。取消后,会发现“与上一节相同”的文字提示不见了。

(5)删除第2页页眉中的文字。删除后检查一下效果,此时第1、2页没有页眉文字了,但是仍然有横线,第3页有页眉文字,这基本符合我们的要求。

(6)接下来我们去掉封面和目录的横线。切到目录页眉,单击鼠标3次选中页眉内容,然后找到开始标签页中的“边框”,点击后选择“无框线”即可。封面页同理。

 (7)最后再看一下效果,只有正文部分仍然有页眉,终于达到目标了。

五、标题配置

(1)找到开始标签页中的“多级列表”,展开后点击“定义新的多级列表”

 (2)弹出定义多级列表弹窗后,分别选中1-9级别,并将级别链接到样式设置为对应标题级别,即1对应标题1、2对应标题2、……、9对应标题9,效果为下图中红框3的位置所示。

 (3)从上图中的效果可以看出,每一级别的缩进过大,不够友好。那我们接下来就处理这一点。

点击上图中的“设置所有级别”按钮(红框4位置),弹出“设置所有级别”窗口后,将“第一级的文字位置”和“每一级的附加缩进量”设置为0,点击“确定”按钮。

(4)此时再查看一下效果图,此时所有级别都靠左显示了,目标达成。最后再点击一下“确定”按钮,以保存修改。

(5)下面来体验一下成果吧。输入一系列文字,并把其分别设置为不同的样式:标题1、标题2、标题3、……。此时导航窗格中就会显示整个文档的大纲结构了,与目录类似,点击后可直达对应的章节内容。

(6) 上面的效果图已经实现了我们所有想要的功能,但是这些标题的字号、字体、颜色、间距可能并不符合我们的需求。关于这些,我们可以通过修改样式的方法来实现,具体步骤是找到“开始”标签页中的样式,右击并点击“修改”即可。

 (7)弹出修改弹窗的可以自由设置字体。参考下图。

(8)段落设置。展开弹窗中左下角位置“格式”后,点击“段落”。弹出段落弹窗后,可以设置段前距、段后距、行距等。

(9) 看一下我全部配置后的效果,如下图所示。 

六、插入目录

一本书籍、一篇文章,一般都会有一个目录,方便大家在阅读之前了解文章的基本内容。

(1)添加目录。切到第2页(目录页),依次点击引用-->目录-->自动目录1,即可完成目录的创建。

(2)创建后的效果如下图。可以对“目录”二字进行一些美化工作,如居中、加粗等。

(3)当正文内容更新后,可以点击“更新目录”按钮来更新目录结构。

七、封面处理

此处做一个简单的封面,仅供参考。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
FreeMarker 是一个Java模板引擎,它可以帮助我们根据模板生成各种文件,包括 Word 文档。下面是一个简单的示例,演示如何使用 FreeMarker 创建一个根据 FTL 模板生成 Word 文档的过程: 1. 创建一个 FreeMarker 的配置对象,并设置模板文件所在的目录: ``` Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg.setDirectoryForTemplateLoading(new File("path/to/ftl/templates")); ``` 2. 从配置对象中获取模板对象: ``` Template template = cfg.getTemplate("template.ftl"); ``` 3. 准备数据模型,可以是一个 JavaBean、Map 或者其他类型的对象: ``` Map<String, Object> data = new HashMap<>(); data.put("title", "Hello, World!"); data.put("content", "This is a test document created by FreeMarker."); ``` 4. 创建一个 Writer 对象,用于输出生成的 Word 文档: ``` Writer out = new FileWriter(new File("path/to/output/doc.docx")); ``` 5. 将数据模型和 Writer 对象传递给模板对象,生成 Word 文档: ``` template.process(data, out); ``` 完整的示例代码如下: ``` import freemarker.template.Configuration; import freemarker.template.Template; import java.io.File; import java.io.FileWriter; import java.io.Writer; import java.util.HashMap; import java.util.Map; public class FreeMarkerDemo { public static void main(String[] args) throws Exception { // 创建 Configuration 对象 Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg.setDirectoryForTemplateLoading(new File("path/to/ftl/templates")); // 获取模板对象 Template template = cfg.getTemplate("template.ftl"); // 准备数据模型 Map<String, Object> data = new HashMap<>(); data.put("title", "Hello, World!"); data.put("content", "This is a test document created by FreeMarker."); // 创建输出流 Writer out = new FileWriter(new File("path/to/output/doc.docx")); // 生成 Word 文档 template.process(data, out); // 关闭输出流 out.close(); } } ``` 注意,上面的示例代码中使用的模板文件是 FTL 格式,如果要生成 Word 文档,还需要将模板文件转换成 docx 或者其他 Word 文档格式。常见的工具包括 Apache POI 和 Docx4j 等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聪明的一休哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值