# 常见问题与解决方案

---

## 问题分类说明

**简单问题（1-2步排查）**：参数设置、文件选择等  
**中等问题（3-5步排查）**：编译错误、查重失败等  
**复杂问题（5-10步排查）**：环境问题、性能问题等

---

## 安装问题

### 1. Visual Studio找不到.NET组件【简单问题】

**问题描述**: VS安装时没有.NET开发组件选项

**排查步骤**:
```powershell
# 检查VS版本
devenv /version
```

**常见原因**:
- VS版本过低 (60%)
- 安装时未勾选.NET组件 (30%)
- 安装程序损坏 (10%)

**解决方案**:

**方案A（推荐）**: 重新安装VS并勾选.NET组件
```
1. 运行VS安装程序
2. 选择"修改"
3. 勾选".NET桌面开发"
4. 点击"修改"安装
```

**方案B**: 安装.NET Framework 4.6
```
下载地址: https://dotnet.microsoft.com/download/dotnet-framework
```

---

### 2. NuGet包下载失败【中等问题】

**问题描述**: Spire或其他组件报错"找不到包"

**排查步骤**:
```powershell
# 1. 检查NuGet源
# VS → 工具 → NuGet包管理器 → 包管理器设置

# 2. 检查网络连接
ping nuget.org

# 3. 检查VS输出窗口错误信息
```

**常见原因**:
- 网络连接问题 (50%)
- NuGet源配置错误 (30%)
- VS自动下载未完成 (20%)

**解决方案**:

**方案A（等待自动下载）**:
```
等待VS自动下载完成（可能需要几分钟）
```

**方案B（手动安装）**:
```
1. 工具 → NuGet包管理器 → 管理解决方案的NuGet包
2. 搜索缺失的包
3. 点击"安装"
```

---

### 3. 32位系统无法运行【简单问题】

**问题描述**: 提示不支持32位系统

**排查步骤**:
```powershell
# 检查系统类型
systeminfo | findstr /C:"系统类型"
```

**常见原因**: 系统架构为x86（32位）

**解决方案**:
```
必须升级到64位Windows系统
项目不支持32位系统
```

---

## 查重问题

### 4. 查重结果永远是0【中等问题】

**问题描述**: 无论查重什么文件，重复率都是0

**排查步骤**:
```
# 1. 检查比对库
查看比对库管理选项卡 → 是否有文件？

# 2. 检查添加方式
是否使用"添加到比对库"按钮？

# 3. 检查文件格式
文件是否为简体中文？
```

**常见原因**:
- 未添加比对库 (70%)
- 直接复制文件而非使用按钮 (20%)
- 文件格式不支持 (10%)

**解决方案**:

**方案A（未添加比对库）**:
```
1. 切换到"比对库管理"
2. 点击"添加到比对库"
3. 选择文件夹
4. 等待添加完成
```

**方案B（错误添加方式）**:
```
不要直接复制文件到比对库文件夹
必须使用软件界面的"添加到比对库"按钮
```

---

### 5. 重复率高于90%【中等问题】

**问题描述**: 待查文件重复率异常高（90%+）

**排查步骤**:
```
# 1. 检查文件名
待查文件名是否与比对库文件同名？

# 2. 检查文件内容
是否是同一篇文件？

# 3. 检查比对库
比对库中是否已存在相同文件？
```

**常见原因**:
- 待查文件已在比对库且文件名不同 (80%)
- 文件确实是抄袭 (20%)

**解决方案**:

**方案A（文件名不同）**:
```
如待查文件与比对库文件名不同：
- 会进行查重（同名会跳过）
- 导致重复率>90%

解决：
确保待查文件名唯一，不与比对库文件名相同
```

---

### 6. 查重速度很慢【中等问题】

**问题描述**: 查重耗时过长

**排查步骤**:
```powershell
# 1. 检查CPU核心数
systeminfo | findstr /C:"处理器"

# 2. 检查进程数设置
查看"查重进程数"设置值

# 3. 检查文件数量
批次文件数量是否过多？
```

**常见原因**:
- 进程数设置过低 (40%)
- 文件数量过多 (30%)
- 比对库规模过大 (20%)
- 内存不足 (10%)

**解决方案**:

**方案A（调整进程数）**:
```
查重进程数 = CPU核心数 - 1 或 - 2
如8核CPU，设置6进程
```

**方案B（分批查重）**:
```
每批50-100文件
分多次查重
```

---

## 文件格式问题

### 7. PDF文件转换失败【简单问题】

**问题描述**: 极少量PDF文件无法转换

**排查步骤**:
```
# 1. 检查PDF文件完整性
文件是否能正常打开？

# 2. 检查PDF格式
是否为特殊加密PDF？
```

**常见原因**:
- PDF文件损坏 (50%)
- PDF加密或特殊格式 (30%)
- PDFBox处理限制 (20%)

**解决方案**:

**方案A（损坏文件）**:
```
重新获取完整PDF文件
```

**方案B（特殊格式）**:
```
转换为Word格式后再查重
```

---

### 8. Word文件转换失败【简单问题】

**问题描述**: Word文件无法转换

**排查步骤**:
```
# 1. 检查Word版本
Word版本是否过新或过旧？

# 2. 检查文件完整性
文件能否用Word打开？
```

**常见原因**:
- Word版本不兼容 (60%)
- 文件损坏 (40%)

**解决方案**:

**方案A（版本不兼容）**:
```
另存为docx格式
或另存为txt纯文本格式
```

---

## 性能问题

### 9. 内存不足【中等问题】

**问题描述**: 查重时提示内存不足或系统变慢

**排查步骤**:
```powershell
# 检查可用内存
systeminfo | findstr /C:"可用物理内存"
```

**常见原因**:
- 系统内存<1.5GB (50%)
- 进程数设置过多 (30%)
- 批次文件过多 (20%)

**解决方案**:

**方案A（减少进程数）**:
```
减少查重进程数和格式转换线程数
```

**方案B（分批查重）**:
```
每批少量文件，分多次查重
```

---

### 10. 查重中断恢复【中等问题】

**问题描述**: 查重意外中断，想从上次进度继续

**排查步骤**:
```
# 1. 检查上次参数
记住之前的查重阈值、文件选择

# 2. 检查中断原因
程序崩溃、系统重启、手动中断
```

**解决方案**:

**使用中断恢复功能**:
```
1. 重新启动paper_checking.exe
2. 选择"中断恢复"复选框
3. 设置相同参数
4. 开始查重
5. 系统从上次进度继续
```

---

## 高级问题

### 11. 查重阈值设置困惑【简单问题】

**问题描述**: 不确定查重阈值应设多少

**AI建议**: AI将根据场景推荐阈值

```
阈值推荐：
- 学术论文：10-13（严格，更多判定抄袭）
- 标书查重：13-16（中等，平衡）
- 学生作业：15-20（宽松）
- 企业文档：12-15

说明：
阈值越小：越严格
阈值越大：越宽松
范围：1-99
```

---

### 12. 关键词过滤不生效【简单问题】

**问题描述**: 添加关键词后重复率没变化

**排查步骤**:
```
# 1. 检查关键词是否添加成功
关键词列表中是否有该关键词？

# 2. 检查关键词精确匹配
关键词是否完全一致？
```

**常见原因**:
- 关键词不精确匹配 (70%)
- 关键词不在文本中 (30%)

**解决方案**:

**精确匹配**:
```
添加的关键词必须与文本中完全一致
如文本"北京大学"，关键词必须是"北京大学"
不能是"北京"或"大学"
```

---

## 获取帮助

### 反馈渠道

```
QQ群: 778041438
GitHub Issues: https://github.com/tianlian0/paper_checking_system/issues
微信/QQ（商业合作）: 654062779
```

### 日志收集

```
查重报告文件位置：
- 查重报告：rtf格式文件
- 统计表：csv格式文件
```

### 参考资源

- 项目文档: https://github.com/tianlian0/paper_checking_system
- Java SDK: https://github.com/tianlian0/duplicate-check-sample
- 商用版: https://xincheck.com

---

**提示**: 遇到未涵盖的问题，请到GitHub Issues或QQ群反馈