diff --git a/.cache/mergePDFs.exe b/.cache/mergePDFs.exe new file mode 100644 index 0000000..3d1576a Binary files /dev/null and b/.cache/mergePDFs.exe differ diff --git a/.cache/mergePDFs.go b/.cache/mergePDFs.go new file mode 100644 index 0000000..6793f18 --- /dev/null +++ b/.cache/mergePDFs.go @@ -0,0 +1,58 @@ +package main + +import ( + "io/ioutil" + "os" + "sort" + "strings" +) + +func main() { + dirPath := "." // 当前目录 + mergeSplitPDFsInDirectory(dirPath) +} + +func mergeSplitPDFsInDirectory(dirPath string) { + files, err := ioutil.ReadDir(dirPath) + if err != nil { + panic(err) + } + + splitFiles := make(map[string][]string) + + for _, file := range files { + if file.IsDir() { + continue + } + fileName := file.Name() + if strings.Contains(fileName, ".pdf.") { + baseName := strings.Split(fileName, ".pdf.")[0] + ".pdf" + splitFiles[baseName] = append(splitFiles[baseName], fileName) + } + } + + for baseName, parts := range splitFiles { + sort.Strings(parts) // 确保文件顺序正确 + mergeFiles(baseName, parts) + } +} + +func mergeFiles(baseName string, parts []string) { + mergedFile, err := os.Create(baseName) + if err != nil { + panic(err) + } + defer mergedFile.Close() + + for _, part := range parts { + data, err := ioutil.ReadFile(part) + if err != nil { + panic(err) + } + _, err = mergedFile.Write(data) + if err != nil { + panic(err) + } + os.Remove(part) // 合并后删除分割文件 + } +} diff --git a/高中/英语/重庆大学版-重庆大学出版社/mergePDFs.exe b/高中/英语/重庆大学版-重庆大学出版社/mergePDFs.exe new file mode 100644 index 0000000..3d1576a Binary files /dev/null and b/高中/英语/重庆大学版-重庆大学出版社/mergePDFs.exe differ