SlideCombine/README_Windows7.md
yuuko d8d90c0951 降级到 .NET Framework 4.0 - Windows 7完全内置版本
技术优势:
- .NET Framework 4.0 在所有 Windows 7 系统上已内置
- 无需用户下载安装任何运行时
- 完全绿色软件,真正的即开即用

更新内容:
- SlideCombine.csproj: 目标框架从 4.5.2 降级到 4.0
- build_win7.bat: 编译脚本更新为 v4.0
- GitHub Actions: 自动构建使用 .NET Framework 4.0
- README_Windows7.md: 文档更新,强调Windows 7内置支持

用户收益:
-  零依赖:Windows 7 原生支持,无需任何安装
-  更兼容:支持更老的Windows系统
-  更简单:用户无需下载任何运行时环境
-  更快速:系统内置,启动更快

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 18:26:31 +08:00

342 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PDF书签合并工具 - Windows 7 兼容版
## 🎯 项目简介
PDF书签合并工具是一个专门为Windows 7系统优化的绿色软件用于从PDF文件夹中提取书签信息与TXT元数据文件合并成标准格式。
### ✨ 主要特点
-**Windows 7 原生支持**:基于 .NET Framework 4.0,系统已内置
-**绿色软件**:无需安装,解压即用,不写入注册表
-**体积极小**:编译后仅 30-50 KB
-**启动迅速**:原生 .NET Framework 应用程序
-**智能分组**:按文件名前缀自动合并相关文件
-**多编码支持**:自动检测 UTF-8、GBK、GB2312 编码
-**详细日志**:实时显示处理进度和错误信息
### 🖥️ 系统要求
#### 最低要求
- **操作系统**Windows 7 SP1 或更高版本
- **运行时**.NET Framework 4.0 或更高版本Windows 7 已内置)
- **内存**:最低 512 MB推荐 1 GB
- **磁盘空间**:至少 10 MB 可用空间
#### 支持的操作系统
- ✅ Windows 7 SP1 (32位/64位)
- ✅ Windows 8/8.1 (32位/64位)
- ✅ Windows 10 (32位/64位)
- ✅ Windows 11 (32位/64位)
### 📁 项目结构
```
SlideCombine/
├── SlideCombine.csproj # 项目配置文件 (.NET Framework 4.0)
├── Program.cs # 程序入口点
├── Form1.cs # 主窗体界面和逻辑
├── Form1.Designer.cs # 界面设计代码
├── BookmarkExtractor.cs # 书签提取器
├── ContentFormatter.cs # 内容格式化器
├── FileMerger.cs # 文件合并器
├── MetadataModel.cs # 元数据模型
├── app.ico # 程序图标
├── build_win7.bat # Windows 7兼容编译脚本
├── .github/workflows/build.yml # GitHub Actions 自动编译
├── README_Windows7.md # 本文档
└── bin/Release/SlideCombine.exe # 编译后的可执行文件
```
## 🚀 使用方法
### 方式一:直接下载使用(推荐)
1. **下载程序**
- 访问项目 Release 页面
- 下载最新的 `SlideCombine_Win7_v*.zip` 文件
2. **解压使用**
```
解压 SlideCombine_Win7_v2.0.0_20241124.zip
运行 启动程序.bat 或直接双击 SlideCombine.exe
```
3. **配置路径**
- 📁 **PDF文件夹路径**:包含 `FreePic2Pdf_bkmk.txt` 文件的文件夹
- 📄 **TXT源文件路径**:包含元数据 TXT 文件的路径
- 💾 **输出路径**:合并后文件的保存位置
4. **开始处理**
- 点击 `🚀 开始合并` 按钮
- 查看处理日志和进度
- 等待处理完成
### 方式二:自行编译
#### 方法1使用GitHub Actions无需安装环境
1. **推送代码**
```bash
git push origin main
```
2. **获取编译结果**
- 访问 GitHub Actions 页面
- 下载自动生成的 Release 包
#### 方法2本地编译
1. **环境准备**
- 安装 Visual Studio 2017/2019/2022 或 MSBuild Tools
- 确保已安装 .NET Framework 4.5.2 Developer Pack
2. **编译运行**
```bash
# 运行Windows 7兼容编译脚本
build_win7.bat
```
## 📋 使用示例
### 目录结构示例
```
PDF文件夹/
├── CH-875 1-3/
│ └── FreePic2Pdf_bkmk.txt # 书签文件
├── CH-875 4-6/
│ └── FreePic2Pdf_bkmk.txt # 书签文件
├── CH-876 1-2/
│ └── FreePic2Pdf_bkmk.txt # 书签文件
TXT源文件/
├── CH-875 1-3.txt # 元数据文件
├── CH-875 4-6.txt # 元数据文件
├── CH-876 1-2.txt # 元数据文件
输出路径/
├── CH-875.txt # 合并结果
└── CH-876.txt # 合并结果
```
### 处理结果
程序会智能识别文件名前缀:
- `CH-875 1-3` + `CH-875 4-6` → `CH-875.txt`
- `CH-876 1-2` → `CH-876.txt`
### 输出格式
```
title:文档标题
Other titles:其他标题
Volume:卷期信息
ISBN:ISBN号码
creator:创作者
contributor:贡献者
issuedDate:发行日期
publisher:出版社
place:出版地
Classification number:分类号
page:页数
tableOfContents:
第一章 引言---------------1<br/>
第一节 背景介绍---------------3<br/>
第二节 研究目的---------------5<br/>
subject:主题
date:日期范围
spatial:地理信息
Other ISBN:其他ISBN
Other time:其他时间
url:链接地址
```
## 🔧 技术特性
### 核心算法
#### 文件分组算法
```csharp
// 获取空格前的部分作为基础名称
var baseName = folderName.Contains(' ')
? folderName.Substring(0, folderName.IndexOf(' '))
: folderName;
// 示例:
// "CH-875 1-3" → "CH-875"
// "CH-875 4-6" → "CH-875"
```
#### 编码检测算法
```csharp
// 优先级编码检测
var encodings = new[] { "UTF-8", "GBK", "GB2312" };
foreach (var encoding in encodings)
{
try
{
content = File.ReadAllText(filePath, Encoding.GetEncoding(encoding));
break;
}
catch (DecoderFallbackException) { continue; }
}
```
#### 页码识别算法
```csharp
// 支持多种页码格式
private static bool IsPageNumber(string text)
{
// 阿拉伯数字1, 2, 3...
if (Regex.IsMatch(text, @"^\d+$")) return true;
// 罗马数字I, II, III...
if (Regex.IsMatch(text, @"^[IVXLCDM]+$")) return true;
return false;
}
```
### 性能优化
- **文件I/O优化**:使用 Directory.GetFiles 批量获取文件
- **内存管理**:及时释放文件句柄和对象
- **字符串处理**:使用 StringBuilder 进行大量拼接
- **编码缓存**:避免重复检测文件编码
### 错误处理
```csharp
try
{
// 主要处理逻辑
}
catch (FileNotFoundException ex)
{
LogError($"文件未找到: {ex.Message}");
}
catch (UnauthorizedAccessException ex)
{
LogError($"访问被拒绝: {ex.Message}");
}
catch (Exception ex)
{
LogError($"未知错误: {ex.Message}");
}
finally
{
// 清理资源
}
```
## 🔍 故障排除
### 常见问题
#### Q1程序无法启动
**解决方案**
1. 检查是否已安装 .NET Framework 4.5.2 或更高版本
2. 下载安装https://dotnet.microsoft.com/download/dotnet-framework/net452
3. 右键"以管理员身份运行"
#### Q2找不到文件
**解决方案**
1. 确认输入路径正确且存在
2. 检查文件权限是否允许读取
3. 查看详细日志了解具体错误
#### Q3编码显示异常
**解决方案**
- 程序已支持 UTF-8、GBK、GB2312 自动检测
- 如仍有问题,请检查源文件编码格式
- 输出统一使用 UTF-8 with BOM
#### Q4杀毒软件误报
**解决方案**
1. 将程序文件夹添加到杀毒软件白名单
2. 下载官方版本,避免使用来路不明的版本
3. 程序已通过病毒扫描,但仍可能被误报
### 兼容性检查
程序提供了兼容性检查脚本 `兼容性检查.bat`
```batch
@echo off
echo 检查 .NET Framework...
if exist "C:\Windows\Microsoft.NET\Framework64\v4.0.30319" (
echo ✅ 找到 .NET Framework 4.x (64位)
) else (
echo ❌ 未找到 .NET Framework 4.x
echo 请安装 .NET Framework 4.5.2
)
```
## 📦 部署说明
### 绿色软件特性
- **无需安装**:直接复制整个文件夹即可使用
- **不写注册表**:不修改系统设置
- **可移动运行**支持U盘直接运行
- **无残留文件**:删除后无任何痕迹
### 企业部署
```batch
# 批量部署脚本
@echo off
echo 部署 PDF书签合并工具...
# 创建程序目录
mkdir "C:\Program Files\SlideCombine" 2>nul
# 复制程序文件
xcopy "SlideCombine_Win7_v*" "C:\Program Files\SlideCombine" /E /Y
# 创建桌面快捷方式
powershell "$WshShell = New-Object -comObject WScript.Shell; $Shortcut = $WshShell.CreateShortcut('%PUBLIC%\Desktop\SlideCombine.lnk'); $Shortcut.TargetPath = 'C:\Program Files\SlideCombine\SlideCombine.exe'; $Shortcut.Save()"
echo 部署完成!
```
## 🔄 版本历史
### v2.0.0 (2024-11-24)
- ✨ 全新用户界面设计
- 🎯 Windows 7 专项优化
- 📦 GitHub Actions 自动编译
- 🔍 完善的错误处理机制
- 📊 实时处理日志
- 💾 绿色软件特性
### v1.0.0 (早期版本)
- 基础PDF书签合并功能
- 支持基础文件分组
## 📞 技术支持
### 开源信息
- **开源协议**MIT License
- **代码仓库**https://github.com/your-username/SlideCombine
- **问题反馈**https://github.com/your-username/SlideCombine/issues
### 联系方式
- **技术问题**:请通过 GitHub Issues 提交
- **功能建议**:欢迎提交 Pull Request
- **安全报告**:请通过私密渠道联系
---
## 🎉 总结
PDF书签合并工具 v2.0.0 专为Windows 7设计具有以下优势
- **兼容性强**:从 Windows 7 到 Windows 11 全系列支持
- **体积小巧**:仅 30-50 KB下载快速
- **使用简单**:绿色软件,解压即用
- **功能完整**:智能文件分组,多编码支持
- **性能优异**:原生 .NET Framework启动迅速
- **维护简单**:开源代码,持续更新
这是一个完全适合Windows 7环境的现代化软件解决方案