由于原版本编译错误,创建简化版本: - slide_combine_simple.c: 核心功能实现 - compile_simple.bat: 简化编译脚本 特点: - 解决枚举冲突问题 - 简化界面和功能 - 保留核心排序算法 - 支持GCC和MSVC编译 运行:compile_simple.bat 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
PDF书签合并工具
这是一个用于合并PDF书签文件的Windows桌面应用程序,基于C# WinForms开发。
功能特性
- 自动提取书签:从指定路径下的
FreePic2Pdf_bkmk文件中提取书签内容 - 智能合并:按文件名前缀自动分组合并(如"CH-875 1-3"和"CH-875 4-6"合并为"CH-875.txt")
- 格式化输出:按照指定格式输出书签内容
- 路径选择:支持自定义选择PDF源文件夹和TXT输出文件夹
- 进度显示:实时显示处理进度和日志信息
输出格式
处理后的文件内容格式如下:
tableOfContents:
书签标题1----------页码1<br/>
书签标题2----------页码2<br/>
书签标题3----------页码3<br/>
subject:
<>
tableOfContents:
书签标题4----------页码4<br/>
书签标题5----------页码5<br/>
subject:
编译要求
- .NET Framework 4.8
- Windows操作系统
- Visual Studio 2019+ 或 Visual Studio Build Tools
编译步骤
- 安装.NET Framework 4.8
- 使用Visual Studio打开
SlideCombine.csproj - 选择
Release配置 - 按F6生成解决方案
或者使用命令行:
msbuild SlideCombine.csproj /p:Configuration=Release
使用方法
- 运行
SlideCombine.exe - 选择包含PDF文件夹的源路径
- 选择TXT文件的输出路径
- 点击"合并书签"按钮开始处理
- 等待处理完成,查看结果
文件夹结构示例
输入文件夹结构:
PDF文件夹/
├── CH-875 1-3/
│ └── FreePic2Pdf_bkmk
├── CH-875 4-6/
│ └── FreePic2Pdf_bkmk
└── CH-876 1-2/
└── FreePic2Pdf_bkmk
输出结果:
TXT输出路径/
├── CH-875.txt (合并了CH-875 1-3和CH-875 4-6)
└── CH-876.txt (来自CH-876 1-2)
支持的编码
程序自动检测文件编码:
- 优先使用UTF-8
- 如果UTF-8失败,自动切换到GBK编码
错误处理
- 自动检查路径有效性
- 提供详细的错误信息
- 支持批量处理,单个文件失败不影响其他文件
技术架构
BookmarkExtractor.cs: 书签提取逻辑ContentFormatter.cs: 内容格式化FileMerger.cs: 文件合并处理Form1.cs: 主界面和用户交互
Description
Languages
C
44.6%
C#
31.9%
Batchfile
23.5%