Word中可根据对应文字的大纲级别来生成目录,读者通过目录内容可快速获取文档内容丸泸尺鸢框架及结构,并且能够快速地定位到内容所在页面,方便阅读。在通过Java后端程序读取Word文档时,我们可以通过判定内容是否为目录域,来实现读取目录内容,本文,将以Java代码示例,展示如何实现该需求。
工具/原料
IntelliJ IDEA
Word文档
Free Spire.Doc for Java
导入jar
1、将Word库下载到本地,并解压,找到lib文件夹下的jar文件。然后在IDEA程序中打开“Project Structure”,执行如图步骤:
2、找到本地路径下的jar文件,点击“OK”,添加到列表:
3、勾选选项,点击“Apply”,然后等待程序安装导入jar:
4、完成jar导入后,编辑如下亭盍誓叭Java代码:import com.spire.doc.Document;import com.spire.doc.Sect足毂忍珩ion;import com.spire.doc.documents.Paragraph;import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class GetTOC { public static void main(String[] args) throws IOException { //加载包含目录的Word文档 Document doc = new Document(); doc.loadFromFile("目录2.docx"); //获取第一节 Section section = doc.getSections().get(0); //保存目录内容到.txt文档 File file = new File("GetToc.txt"); if (file.exists()) { file.delete(); } file.createNewFile(); FileWriter fw = new FileWriter(file, true); BufferedWriter bw = new BufferedWriter(fw); //遍历第一节中的所有段落 for (int i = 0; i < section.getParagraphs().getCount(); i++) { Paragraph paragraph = section.getParagraphs().get(i); //判断段落是否为目录 if (paragraph.getStyleName().matches("TOC\\w+")) { //获取目录中的文本内容 String text = paragraph.getText(); //写入txt文档 bw.write( text+"\r"); } bw.write("\n"); } bw.flush(); bw.close(); fw.close(); }}
5、执行代码,读取目录,生成txt文档,如图效果: