27 Commits

Author SHA1 Message Date
yuuko
3696e4255a 修复.NET Framework发布配置问题
移除不兼容的PublishSingleFile配置:
- .NET Framework 4.8不支持PublishSingleFile
- 移除IncludeNativeLibrariesForSelfExtract(Core功能)
- 保留SelfContained和PublishReadyToRun

现在使用命令:dotnet publish -c Release -r win-x64 --self-contained

生成的会是包含多个文件的发布文件夹,用户可以直接运行主exe

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:57:23 +08:00
yuuko
276f277310 移除RuntimeIdentifier配置,让用户手动选择
移除<RuntimeIdentifier>win-x64</RuntimeIdentifier>配置
让用户在Visual Studio发布界面中手动选择运行时
这样可以避免配置冲突,确保发布设置正确生效

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:54:26 +08:00
yuuko
9c96a10295 配置为Self-contained发布
添加自包含发布配置,生成独立可执行文件:
- SelfContained=true:包含.NET Framework运行时
- PublishSingleFile=true:生成单个exe文件
- PublishReadyToRun=true:预编译优化
- IncludeNativeLibrariesForSelfExtract=true:包含自解压库
- RuntimeIdentifier=win-x64:针对64位Windows

这样生成的exe文件约60-100MB,可在任何Windows系统上运行,无需预装.NET Framework

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:46:06 +08:00
yuuko
91d45f9074 使用OpenFileDialog替代FolderBrowserDialog
1. 实现ShowOpenFileDialogForFolder方法:
   - 使用OpenFileDialog提供更现代的界面
   - 配置适合文件夹选择的参数
   - 通过文件选择来获取目录路径

2. 配置OpenFileDialog:
   - 设置CheckFileExists=false允许选择不存在的文件名
   - CheckPathExists=true确保路径存在
   - ValidateNames=false允许非标准文件名
   - 初始文件名设为选择文件夹提示用户

3. 路径处理逻辑:
   - 如果用户选择文件,返回文件所在目录
   - 处理边界情况和异常情况
   - 保持与原有功能的兼容性

4. 用户体验改进:
   - 更现代的对话框界面
   - 更好的文件导航体验
   - 支持地址栏直接输入

现在使用更现代的OpenFileDialog界面,用户体验更好!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:35:39 +08:00
yuuko
9cc165014c 恢复使用原始的FolderBrowserDialog控件
1. 删除复杂的现代化文件管理器界面
2. 恢复使用简洁的FolderBrowserDialog
3. 优化配置:
   - 启用“新建文件夹”按钮
   - 设置根目录为“我的电脑”
   - 预设当前路径作为初始选择
   - 添加路径验证和错误处理

4. 移除大量不再需要的代码:
   - ShowModernFolderBrowser方法
   - 树形视图和文件列表相关代码
   - 自定义窗体控件

现在界面更加简洁,使用Windows原生控件,响应更快,兼容性更好!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:32:05 +08:00
yuuko
b18d1893f5 删除所有粘贴按钮
1. 删除三个路径组中的粘贴按钮:
   - btnPasteSource_Click
   - btnPasteText_Click
   - btnPasteOutput_Click

2. 调整布局:
   - 扩展文本框宽度以适应删除粘贴按钮后的空间
   - 重新定位浏览按钮到最右侧

3. 简化界面:
   - 只保留浏览按钮,界面更简洁
   - 用户仍可以在文本框中直接输入路径
   - 现代化的文件管理器界面已足够强大

现在界面更加简洁,用户体验更好!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:27:59 +08:00
yuuko
bf554833c2 修复DriveInfo.VolumeTitle编译错误
将 drive.VolumeTitle 改为 drive.VolumeLabel
在.NET Framework中,DriveInfo类使用VolumeLabel属性而不是VolumeTitle

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:26:11 +08:00
yuuko
3b8326f213 实现类似Windows文件管理器的文件夹选择界面
创建了一个完整仿Windows资源管理器的界面:

1. 界面布局:
   - 顶部:路径工具栏(路径输入框 + 浏览按钮)
   - 左侧:文件夹树形视图(显示所有驱动器和文件夹结构)
   - 右侧:文件列表视图(详细列表,包含名称、日期、类型、大小)
   - 底部:状态栏(显示文件夹和文件统计信息)

2. 功能特性:
   - 树形文件夹结构导航
   - 实时文件列表显示
   - 支持键盘操作(回车确认路径)
   - 双击文件夹快速导航
   - 动态加载子文件夹(按需加载提高性能)
   - 文件类型识别和大小格式化
   - 详细的状态信息显示

3. 用户体验:
   - 更大的界面尺寸(800x600)
   - 类似Windows资源管理器的操作习惯
   - 左右分栏设计,信息展示更清晰
   - 支持多种导航方式(树形、列表、路径输入)

4. 性能优化:
   - 懒加载子文件夹,避免初始加载过慢
   - 异步处理UI更新
   - 错误处理和权限检查

现在的文件夹选择界面更加专业,完全模拟了Windows文件管理器的体验!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:25:31 +08:00
yuuko
4f801b1d44 修复CancelButton属性编译错误
将 cancelButton.CancelButton 改为 form.CancelButton
CancelButton是Form的属性,用于设置窗体的取消按钮,不是Button的属性

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:22:53 +08:00
yuuko
f44a17961a 升级文件夹选择界面为现代化控件
替换老旧的FolderBrowserDialog,使用自定义的现代文件夹选择界面:

1. 新增功能:
   - 创建ShowModernFolderBrowser方法,提供现代化的文件夹选择体验
   - 支持路径手动输入和选择浏览两种方式
   - 提供文件夹列表视图,显示名称、修改日期、类型
   - 支持双击文件夹快速导航
   - 提供返回上级目录功能

2. 界面特色:
   - 现代化扁平设计风格
   - 清新的配色方案
   - 直观的文件列表展示
   - 实时路径状态显示
   - 友好的错误提示

3. 用户体验:
   - 更大的界面尺寸(600x450)
   - 清晰的信息层次
   - 支持键盘快捷操作
   - 平滑的交互体验

4. 兼容性:
   - 保留传统浏览按钮作为备选
   - 自动检测和验证路径有效性
   - 错误处理和友好提示

现在文件夹选择界面更加现代化,用户体验显著提升!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:22:05 +08:00
yuuko
2dd9d4ecea 添加路径粘贴功能
为每个路径选择框添加粘贴按钮,支持从剪贴板直接粘贴路径:

1. 界面调整:
   - 调整文本框宽度以容纳额外按钮
   - 添加绿色的粘贴按钮
   - 重新排列浏览和粘贴按钮位置

2. 新增功能:
   - btnPasteSource_Click:粘贴PDF路径
   - btnPasteText_Click:粘贴TXT源路径
   - btnPasteOutput_Click:粘贴输出路径

3. 用户体验提升:
   - 支持Ctrl+C/CtrlV快捷操作
   - 自动检测剪贴板内容
   - 友好的错误提示
   - 粘贴操作日志记录

现在用户可以更方便地输入路径,既可以通过浏览选择,也可以直接粘贴!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:17:11 +08:00
yuuko
b004c5ac31 增加三路径选择功能
1. 添加三个独立的路径选择:
   - 📁 PDF文件夹路径(含FreePic2Pdf_bkmk.txt文件)
   - 📄 TXT源文件路径(含元数据TXT文件)
   - 💾 最终输出路径(合并后文件的保存位置)

2. 界面调整:
   - 增大窗口高度至650px以容纳三个路径组
   - 重新设计布局,三个路径组垂直排列
   - 更新按钮和进度组位置
   - 优化控件间距和大小

3. 逻辑更新:
   - 更新FileMerger.ProcessAllFolders支持三个参数
   - 修改GetCorrespondingTxtFile使用指定的TXT源路径
   - 更新界面验证逻辑检查所有三个路径
   - 添加路径存在性验证

现在用户可以完全灵活地选择输入和输出路径,提供更好的使用体验!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:14:05 +08:00
yuuko
be1247627c 修复RichTextBox编译错误
- 将txtLog从TextBox改为RichTextBox以支持彩色文本
- 更新ScrollBars枚举为RichTextBoxScrollBars
- 解决SelectionColor属性不存在的编译错误

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:09:01 +08:00
yuuko
00d16320ab 界面美化和功能增强
1. 增加独立的TXT输出路径选择功能
2. 全面美化界面设计:
   - 使用现代化扁平设计风格
   - 添加emoji图标增强视觉效果
   - 统一色彩方案(蓝色主题)
   - 改进字体和布局
   - 增大窗口尺寸(700x550)
3. 优化日志显示:
   - 添加时间戳
   - 支持彩色日志(绿色成功、红色错误、蓝色信息)
   - 使用Consolas字体提升可读性
4. 改进用户体验:
   - 按钮文案更加友好
   - 更清晰的路径选择描述
   - 增强的视觉反馈

界面现在更加美观专业,用户体验大幅提升!

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:07:29 +08:00
yuuko
fed8d14d73 针对Windows主机优化编码处理
- 使用GB2312编码读取TXT文件,确保中文字符正确显示
- 输出保持UTF-8 with BOM格式
- 解决Windows环境下乱码问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:03:56 +08:00
yuuko
bc6886aa24 按照合并结果文件标准调整编码
- 优先使用UTF-8读取文件以支持德语特殊字符(Ü, ü, ö等)
- 输出文件使用UTF-8 with BOM格式保存
- 确保在Windows下能正确显示中文字符和特殊字符
- 完全按照'需求/合并结果/CH-875.txt'的格式标准

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:02:22 +08:00
yuuko
54822bd943 修复格式和编码问题
- 修复<>分隔符周围的空行问题
- 添加UTF-8 BOM标记与示例文件保持一致
- 解决特殊字符和编码显示问题

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 16:01:14 +08:00
yuuko
4628be0343 确保所有字段都输出,包括空值
修复date和URL字段,确保所有字段都输出
与示例文件格式完全一致

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:55:41 +08:00
yuuko
7870366502 修复编码和空字段显示问题
- 优先使用GBK编码读取TXT文件,解决中文显示问号问题
- 确保所有字段都输出,包括空值字段(ISBN, creator, contributor, spatial, Other ISBN)
- 与示例文件格式保持完全一致

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:54:05 +08:00
yuuko
997ce9022c 修改输出文件编码为ANSI
将输出TXT文件的编码从UTF-8改为ANSI(Encoding.Default)
以确保与示例文件格式一致

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:52:48 +08:00
yuuko
e2c894f229 实现完整的元数据格式支持
- 添加MetadataModel.cs支持完整的元数据字段
- 更新FileMerger.cs从TXT文件读取元数据,从bkmk文件读取目录
- 支持所有元数据字段:title, Other titles, Volume, ISBN, creator等
- 修正书签连接符为14个短横线(---------------)
- 添加UTF-8/GBK编码自动检测
- 更新ContentFormatter.cs支持元数据文档合并

现在程序能够:
1. 从TXT文件读取完整的元数据信息
2. 从FreePic2Pdf_bkmk.txt文件提取书签目录
3. 按照需求格式合并输出完整内容

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:51:08 +08:00
yuuko
0332dcd715 修复文件名匹配问题
支持 FreePic2Pdf_bkmk.txt 扩展名的文件,解决文件查找失败的问题
更新错误消息显示支持的文件格式

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:47:19 +08:00
yuuko
86d4e64839 修复StringBuilder缺失引用问题
添加 using System.Text; 引用到Form1.cs以解决编译错误

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:45:15 +08:00
yuuko
505715c05e 实现PDF书签合并功能
- 添加BookmarkExtractor类用于从FreePic2Pdf_bkmk文件提取书签内容
- 添加ContentFormatter类实现内容格式化处理
- 添加FileMerger类实现文件智能合并功能
- 更新主界面支持路径选择和处理进度显示
- 支持按文件名前缀自动合并(如CH-875 1-3和CH-875 4-6合并为CH-875.txt)
- 输出格式符合需求:tableOfContents与subject之间插入格式化内容
- 支持UTF-8和GBK编码自动检测
- 添加详细的使用说明文档

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 15:44:37 +08:00
d03f4595ec 需求文档 2025-11-24 15:37:56 +08:00
3f38a8c323 添加项目文件。 2025-11-24 10:59:56 +08:00
1590ad8da6 添加 .gitattributes 和 .gitignore。 2025-11-24 10:59:54 +08:00