Skip to content

sqsec/Report2Markdown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Report2Markdown

一个 Java/JDK 实现的本地报告转 Markdown 工具,提供 IDEA 可直接运行的 Swing 界面,也保留命令行入口。

支持格式分两类:

  • 直接解析:.docx.docm.dotx.dotm
  • 需要 LibreOffice 中转:.doc.rtf.odt.ott.wps
  • 需要 pdftotext 抽取文本:.pdf

如果要转换 .doc/.rtf/.odt/.wps,请先安装 LibreOffice,并确保 soffice 在系统 PATH 中,或安装在默认路径 C:\Program Files\LibreOffice\program\soffice.exe

如果要转换 .pdf,请先安装 Poppler 或 Xpdf,并确保 pdftotext 在系统 PATH 中。PDF 转换会尽量保留文本布局,但扫描版 PDF 没有内嵌文字时需要先 OCR。

编译

cd Report2Markdown
javac -encoding UTF-8 -d out src\main\java\com\codex\Report2Markdown\*.java

在 IDEA 中运行界面

  1. 打开 IntelliJ IDEA,选择 File -> Open,打开本项目目录 Report2Markdown
  2. 确认 Project SDK 选择本机 JDK,例如 JDK 22。
  3. src/main/java/com/codex/Report2Markdown/Report2MarkdownGui.java 上右键,选择 Run 'Report2MarkdownGui.main()'
  4. 界面中选择报告目录和 Markdown 保存目录,点击“开始转换”。

GUI 主类:

com.codex.Report2Markdown.Report2MarkdownGui

也可以手动运行界面:

java -cp out com.codex.Report2Markdown.Report2MarkdownGui

使用

转换单个文件,输出路径可省略:

java -cp out com.codex.Report2Markdown.Report2Markdown <reports>\sample.docx <markdown>\sample.md
java -cp out com.codex.Report2Markdown.Report2Markdown <reports>\sample.doc <markdown>\sample.md
java -cp out com.codex.Report2Markdown.Report2Markdown <reports>\sample.pdf <markdown>\sample.md
java -cp out com.codex.Report2Markdown.Report2Markdown <reports>\sample.docx

批量转换目录中的报告文件:

java -cp out com.codex.Report2Markdown.Report2Markdown <reports> <markdown>

支持内容

  • .docx/.docm/.dotx/.dotm/.doc/.rtf/.odt/.ott/.wps/.pdf
  • 段落和换行
  • 标题样式转换为 #######
  • 加粗、斜体、删除线、行内代码
  • 超链接
  • 有序列表和无序列表
  • 基础表格
  • Word 内嵌图片导出到同名 _assets 目录,并在 Markdown 中插入图片引用

复杂 Word 排版、文本框、批注、脚注、复杂浮动图形、PDF 图片内容 OCR 等没有在这个轻量版本里实现。

图片输出示例:report.docx 转换为 report.md 时,图片会保存到 report_assets,Markdown 中会生成类似 ![](report_assets/image1.png) 的引用。

个人使用如下: image

About

一个 Java/JDK 实现的本地报告转 Markdown 工具,提供 IDEA 可直接运行的 Swing 界面,也保留命令行入口。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages