You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ErrorDetecting/tools/doc-md_TableRefine/Manual.txt

44 lines
3.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

用途
- 将 Markdown/HTML 表格统一转换为纯 Markdown 管道表格GFM并自动设置列对齐。
目录结构
- html_table_to_md.luaPandoc Lua 过滤器,解析 MD 中嵌入的 HTML <table> 并注入为 AST 表格;根据列内容自动设置对齐。
- convert_html_tables_to_md.pyPython 脚本,递归处理指定根路径下的所有 .md 文件,
- 将 HTML <table> 转换为管道表格;
- 自动重写管道表格的分隔行设置对齐数值列右对齐ID/日期/版本列居中,其余左对齐)。
环境要求
- Pandoc ≥ 3.8验证pandoc -v
- Python ≥ 3.8(本项目为 3.11验证python --version
一、复现(从 docx 生成 md 并抽取图片)
1) 在项目根目录执行(示例三份文档):
pandoc "doc\project\Reference\案例Adriod点餐系统_用例文档.docx" -f docx -t gfm -o "doc\project\Reference\案例Adriod点餐系统_用例文档.md" --extract-media="doc\project\Reference\media"
pandoc "doc\project\Reference\案例Adriod点餐系统_系统需求规格说明书.docx" -f docx -t gfm -o "doc\project\Reference\案例Adriod点餐系统_系统需求规格说明书.md" --extract-media="doc\project\Reference\media"
pandoc "doc\project\Reference\案例Adriod点餐系统_项目前景与范围文档.docx" -f docx -t gfm -o "doc\project\Reference\案例Adriod点餐系统_项目前景与范围文档.md" --extract-media="doc\project\Reference\media"
二、批量表格精炼Lua 过滤器方式)
2) 处理任意目录下的所有 .md 文件(递归):
$filter = "tools\doc-md_TableRefine\html_table_to_md.lua";
Get-ChildItem -Path "." -Filter *.md -Recurse -File | ForEach-Object {
$tmp = Join-Path $_.DirectoryName ("{0}.tmp.md" -f $_.BaseName);
pandoc $_.FullName -f gfm -t gfm -o $tmp --lua-filter $filter;
Move-Item -Force $tmp $_.FullName;
}
三、二次批处理Python 脚本方式)
3) 指定待处理文件列表(支持同时传入多个文件):
- 处理单个或多个 .md / .docx
python tools\doc-md_TableRefine\convert_html_tables_to_md.py --files "doc\project\Reference\案例Adriod点餐系统_用例文档.md" "doc\project\Reference\案例Adriod点餐系统_系统需求规格说明书.docx"
- 自定义图片提取目录名(默认为 media
python tools\doc-md_TableRefine\convert_html_tables_to_md.py --files "D:\docs\目标.docx" --media imgs
四、可选:标准化为 GFM 输出
4) 若需要统一写法或再次格式化,可执行:
pandoc "目标.md" -f markdown -t gfm -o "目标.md"
注意
- 对齐策略数值列≥60% 数值单元格)右对齐;列名匹配 ID/编号/日期/时间/版本 时居中;其他列左对齐。
- Lua 过滤器保留 Pandoc 的结构化转换并在写出时生成对齐Python 脚本用于兜底,复杂嵌套将拍平为纯文本并重写分隔行。
- docx 转换时,图片提取到同级目录下的 `media`(或 `--media` 指定的目录Markdown 中图片路径自动指向该目录。
- Windows 路径建议始终使用引号包裹,避免中文/空格导致路径解析问题。