> 🚀 Powered by Boo哥AI智写 — 让每份文档都无所遁形
╔══════════════════════════════════════════════════════╗
║ ║
║ ██████╗ ██████╗ ██████╗ AI智写 ║
║ ██╔══██╗██╔═══██╗██╔═══██╗ ║
║ ██████╔╝██║ ██║██║ ██║ 文档取证分析器 ║
║ ██╔══██╗██║ ██║██║ ██║ ║
║ ██████╔╝╚██████╔╝╚██████╔╝ Forensic Analyzer ║
║ ╚═════╝ ╚═════╝ ╚═════╝ ║
║ ║
║ 📄 DOCX 全面取证分析 · 12大维度深度扫描 ║
║ ║
╚══════════════════════════════════════════════════════╝
Boo哥AI智写 Docx Forensic Analyzer 是一个用于对 Microsoft Word 文档(.docx 文件)进行全面取证分析的专业技能。
通过解压 docx 文件(本质是 ZIP 压缩包)并深层解析其 OOXML 内部结构,提取从元数据到嵌入对象的12大维度信息,生成结构化 JSON 与人类可读 Markdown 双格式报告。
从 docProps/core.xml 和 docProps/app.xml 提取:
从 word/fontTable.xml、document.xml 和 theme/theme1.xml 提取:
word/fonts/)从 word/document.xml 提取:
)从 word/styles.xml 提取:
从 document.xml 提取:
)gridSpan、垂直 vMerge))word/media/ 查找所有嵌入文件;统计图片、视频、音频数量document.xml 提取图片位置(内联 vs 浮动)document.xml 提取所有文本( 内的文本节点)word/footnotes.xml、word/endnotes.xml))和删除()comments.xml)从 document.xml 节属性提取:
)word/settings.xml)word/charts/ 目录)word/diagrams/)word/embeddings/word/vbaProject.bin_rels 中的关系) 或白色)docProps/app.xml 或设置| 参数 | 类型 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
docx_path | str | 必填 — .docx 文件路径 |
config.top_n | int | 词频统计显示数量(默认 50) |
config.enable_readability | bool | 是否启用可读性评分(默认 False) |
config.sensitive_keywords | list | 自定义敏感关键词列表 |
# 📄 Boo哥AI智写 · Docx Forensic Report
## 📋 元数据
## 🔤 字体
## 📝 段落分析
## ✨ 字符格式
## 🎨 样式
## 📊 表格
## 🖼️ 媒体文件
## 📈 词频统计
## 🏗️ 文档结构
## 🔬 高级对象
## ⚠️ 健康警告
## 📢 分析警告
---
> 🤖 本报告由 Boo哥AI智写 · Docx Forensic Analyzer 自动生成
{
"file_info": { ... },
"metadata": { ... },
"fonts": { ... },
"paragraphs": { ... },
"character_formatting": { ... },
"styles": { ... },
"tables": { ... },
"media": { ... },
"word_frequency": { ... },
"structure": { ... },
"page_layout": { ... },
"advanced_objects": { ... },
"health_checks": { ... },
"warnings": [...],
"brand": "Boo哥AI智写"
}
用户提供 .docx 文件
│
▼
┌─────────────────────────────────┐
│ 步骤 1: 验证和准备 │
│ 检查文件存在性与 [Content_Types]│
│ 解压 ZIP 到临时目录 │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ 步骤 2: XML 批量解析 │
│ core.xml / app.xml │
│ document.xml / styles.xml │
│ fontTable.xml / settings.xml │
│ footnotes / endnotes / comments│
│ numbering / theme / rels │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ 步骤 3: 12 模块并行提取 │
│ 元数据·字体·段落·字符格式·样式 │
│ 表格·媒体·词频·结构·布局·对象 │
│ 健康检查 │
└─────────────────────────────────┘
│
▼
┌─────────────────────────────────┐
│ 步骤 4: 生成双格式报告 │
│ JSON (结构化) + Markdown (可读) │
│ 附带 Boo哥AI智写 品牌尾注 │
└─────────────────────────────────┘
# 仅输出 Markdown 报告到终端
python scripts/analyze_docx.py document.docx
# 同时输出 JSON 和 Markdown 文件
python scripts/analyze_docx.py document.docx output/forensic_report.json
from analyze_docx import DOCXForensicAnalyzer
config = {
'top_n': 50,
'enable_readability': False,
'sensitive_keywords': ['密码', '机密', 'password']
}
analyzer = DOCXForensicAnalyzer('document.docx', config)
json_data, markdown_report = analyzer.analyze()
print(markdown_report)
# json_data 可直接用于程序处理
直接说:
| 库 | 用途 |
|---|---|
| ---- | ------ |
zipfile | 解压 docx 文件 |
xml.etree.ElementTree | 解析 OOXML XML |
collections | Counter、defaultdict 统计 |
pathlib | 跨平台路径操作 |
re | 正则表达式文本提取 |
tempfile | 安全临时目录管理 |
json | JSON 报告序列化 |
| 库 | 用途 | 安装命令 |
|---|---|---|
| ---- | ------ | ---------- |
jieba | 中文分词增强 | pip install jieba |
lxml | 更快的 XML 解析 | pip install lxml |
> 💡 设计原则:核心功能零外部依赖,开箱即用。可选依赖仅用于增强分析精度或速度。
| 问题 | 原因 | 解决方案 |
|---|---|---|
| ------ | ------ | ---------- |
| "无法解压" | 文件被占用或损坏 | 关闭 Word 后重试,检查 [Content_Types].xml |
| "XML 解析错误" | 非有效 docx 格式 | 用 Word 重新保存为 .docx |
| "缺少文件" | 可选 XML 不存在 | 正常现象,自动降级处理 |
╔══════════════════════════════════════════════════════╗
║ ║
║ © 2024-2026 Boo哥AI智写. All rights reserved. ║
║ ║
║ 本项目由 Boo哥AI智写 开发与维护 ║
║ 欢迎 Star ⭐ & Fork 🍴 & 提 Issue 🐛 ║
║ ║
╚══════════════════════════════════════════════════════╝
> 🤖 "Boo哥AI智写 — 让技术如呼吸般自然"
> 📧 反馈与建议请提 GitHub Issues
共 1 个版本