第四批处理文件

This commit is contained in:
gavin7758521 committed 2025-06-20 17:26:38 +08:00
1 parent 525363dc7f
commit 4bab69039c
7 files changed
+1966 -94

No files matched your search

+72 -94
View File
@@ -168,116 +168,94 @@ XingCe/ # 行测
## 特殊指令
当用户说"分析这个文件"、"总结一下"、"提取重点"等类似指令时,自动按照上述分类框架进行内容整理和归纳,并按照文件组织结构创建相应的Markdown文件。**务必确保内容的充实性和完整性,不能过度简化。**
## PDF OCR处理规则
## PDF处理规则
### 技术工具配置
当需要处理PDF文件时,使用以下OCR工具链:
### 核心原则
**禁止使用Python脚本处理PDF**:根据实际使用经验,直接通过工具调用读取PDF文件内容,不创建额外的处理脚本。
#### 1. 依赖库安装
```python
# 核心OCR库
pip install PyMuPDF # 推荐:简单高效,直接提取PDF文本
# 或者使用pytesseract方案(适用于图片型PDF)
pip install pytesseract pdf2image pillow
```
### 标准处理流程
#### 2. Tesseract OCR引擎安装(Windows)
```bash
# 使用winget安装(推荐)
winget install UB-Mannheim.TesseractOCR
# 或手动下载安装:https://github.com/UB-Mannheim/tesseract/wiki
```
#### 1. PDF文件读取方式
- **直接读取**:使用`read_file`工具直接读取PDF文件内容
- **完整提取**:必须读取文件的完整内容,不能仅读取部分内容
- **内容保真**:保持原文的所有重要信息,包括细节、数据、案例等
### PDF处理标准流程
#### 2. 批量处理规范
当用户要求处理多个PDF文件时:
- **分批处理**:每次处理5个文件,避免系统负载过高
- **并行读取**:使用并行工具调用同时读取多个文件
- **完整性检查**:确保每个文件的内容都被完整提取
#### 1. 文本提取脚本(推荐方案)
创建`pdf_ocr_processor.py`脚本,使用PyMuPDF:
```python
import fitz # PyMuPDF
import os
#### 3. 内容整理标准
基于提取的真实PDF内容:
- **全文保留**:不能概括或简化,要保留原文的详细程度
- **结构重组**:重新整理内容结构,使其层次清晰、逻辑严密
- **分类归档**:按照文件组织结构将内容分类存储
- **格式美化**:使用标准Markdown格式,确保美观易读
def extract_text_from_pdf(pdf_path, max_pages=20):
"""从PDF提取文本,限制页数防止处理时间过长"""
try:
doc = fitz.open(pdf_path)
text = ""
for page_num in range(min(len(doc), max_pages)):
page = doc[page_num]
text += page.get_text()
doc.close()
return text
except Exception as e:
print(f"处理文件 {pdf_path} 时出错: {e}")
return None
#### 4. 质量控制要求
- **信息完整度** ≥ 95%:重要信息不能遗漏
- **内容详实性**:每个知识点都要详细展开
- **考试针对性**:突出高频考点、记忆技巧、易错提醒
- **实用性标准**:提供充分的实例、案例、应用场景
def process_pdf_files(input_dir="doc/", output_dir="extracted_texts/"):
"""批量处理PDF文件"""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for filename in os.listdir(input_dir):
if filename.lower().endswith('.pdf'):
pdf_path = os.path.join(input_dir, filename)
text = extract_text_from_pdf(pdf_path)
if text:
output_filename = f"{os.path.splitext(filename)[0]}_extracted.txt"
output_path = os.path.join(output_dir, output_filename)
with open(output_path, 'w', encoding='utf-8') as f:
f.write(text)
print(f"成功处理: {filename} -> {output_filename}")
```
### 处理工作流程
#### 2. 文件处理要求
- **页数限制**:每个PDF最多处理前20页,防止处理时间过长
- **文本保存**:提取的文本保存到`extracted_texts/`文件夹
- **命名规范**:原文件名 + `_extracted.txt`后缀
- **编码格式**:统一使用UTF-8编码
#### 第一步:文件识别
1. 查看PDF文件列表
2. 确定处理批次(每批5个文件)
3. 按文件名分析内容类型
#### 3. 文本质量检查
- **准确性验证**:检查专业术语、人名、地名、数据的提取准确性
- **结构保持**:保留原文的段落结构和逻辑层次
- **特殊字符**:处理PDF中的特殊符号、公式、表格
#### 第二步:内容提取
1. 使用`read_file`工具完整读取PDF内容
2. 并行读取多个文件以提高效率
3. 检查提取内容的完整性和准确性
### 处理后工作流程
#### 第三步:内容整理
1. 基于真实内容进行分类整理
2. 按照公考助手分类框架组织内容
3. 重新构建文档结构,确保逻辑清晰
#### 1. 基于真实内容重新整理
- **替换推测内容**:用真实提取的内容替换之前基于文件名推测的内容
- **保留精华要点**:提取授课老师的核心观点和教学重点
- **增强考试针对性**:突出高频考点、真题分析、记忆技巧
- **确保内容充实**:详细展开每个知识点,不能过度概括
#### 第四步:文档生成
1. 创建结构化的Markdown文档
2. 按照文件组织结构存储到相应位置
3. 确保格式美观、内容详实
#### 2. 质量对比分析
- **准确性提升**:基于真实内容,确保信息准确无误
- **内容丰富度**:包含具体案例、数据、公式等详细信息
- **实用性增强**:提供记忆口诀、易错提醒、考试技巧
- **完整性保证**:确保重要信息不遗漏,细节充分展开
#### 第五步:记录更新
1. 在`processed_files.md`中记录处理详情
2. 包含文件信息、内容分类、生成位置等
3. 标注处理时间和质量状况
#### 3. 文档管理更新
- **处理记录**:在`processed_files.md`中记录处理详情
- **文件归档**:原PDF移动到`doc/processed/`文件夹
- **版本标注**:标明"基于真实PDF内容"以区别于推测版本
### 常见问题处理
### 批量处理规范
对于大量PDF文件的处理:
1. **分批执行**:每次处理5-10个文件,避免系统负载过高
2. **进度跟踪**:实时记录处理进度和质量状况
3. **异常处理**:对无法正常提取的文件进行单独处理
4. **质量抽检**:随机抽取处理结果进行质量验证
#### 1. 文件读取失败
- 检查文件路径是否正确
- 确认文件格式是否为标准PDF
- 尝试分段读取较大的文件
### 技术替代方案
如遇到PyMuFDF无法处理的特殊PDF(如扫描版),启用Tesseract方案:
```python
import pytesseract
from pdf2image import convert_from_path
#### 2. 内容提取不完整
- 增加读取的行数范围
- 检查是否有分页或特殊格式
- 确保重要信息没有遗漏
def ocr_pdf_with_tesseract(pdf_path):
"""使用Tesseract OCR处理扫描版PDF"""
images = convert_from_path(pdf_path)
text = ""
for image in images[:20]: # 限制页数
text += pytesseract.image_to_string(image, lang='chi_sim')
return text
```
#### 3. 格式处理问题
- 处理特殊字符和符号
- 保持原文的段落结构
- 转换表格和列表格式
### 禁用技术方案
以下方案在实际使用中证明不适用,禁止使用:
- ❌ 创建Python脚本进行PDF处理
- ❌ 使用PyMuPDF、pytesseract等第三方库
- ❌ 生成临时文件或中间处理文件
- ❌ 概括或简化原文内容
### 推荐操作方式
✅ 直接使用工具读取PDF文件
✅ 完整保留原文所有重要信息
✅ 重新整理结构但不简化内容
✅ 并行处理多个文件提高效率
✅ 详细记录处理过程和结果
## 质量控制标准