# markdown4j **Repository Path**: manan-ali/markdown4j ## Basic Information - **Project Name**: markdown4j - **Description**: markdown工具 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-04-14 - **Last Updated**: 2025-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # markdown4j ## 介绍 markdown工具 markdown-util:生成markdown对象以及基于markdown对象生成markdown文档 markdown-word:解析word文档并转换为markdown对象 markdown-cmd:打包命令行工具 ### 使用说明 打包后,使用java -jar的方式运行,-f参数指定待转换的word文档位置,-t参数指定输出的markdown文档位置 markdown文档中包含的图片保存在-t参数的同级image目录下 ``` java -jar markdown-cmd.jar -f /test.docx -t /test.md ``` ### word文档格式说明 #### 标题 生成的markdown文档的标题由word文档中的标题样式决定,word文档中的标题一(heading 1)样式对应markdown文档中的一级标题 #### 目录 如果word文档中包含目录,默认生成markdown文档时也会根据markdown文档的标题生成目录。如不想生成目录,可以在构建WordDocument对象时将needTOC参数设置为false。 #### 代码块 word中没有对于代码块的处理,对于要生成代码块的内容,须先自定义样式,样式名称为代码段[语言],如代码段java、代码段xml等,将要生成为代码段格式的内容修改为自定义代码段样式,即可在markdown文档中生成对应代码块内容。 ### 举个栗子 word文档转为一个markdown文档 ```java WordDocument wordDocument = new WordDocument(); Markdown markdowns = wordDocument.fromDocx("/test.docx").toMarkdown(); markdown.write("/test.md"); ``` word文档按照章节转为多个markdown文档,此种方式markdown文档的文件名以章节名称命名,和write方法入参无关。 ```java WordDocument wordDocument = new WordDocument(); WordDocument wordDocument = new WordDocument(); List markdowns = wordDocument.fromDocx(path + File.separator + "/test.docx").toMarkdownForChapter(); markdowns.forEach(markdown -> { try { markdown.write("/test.md"); } catch (IOException e) { e.printStackTrace(); } }); ```