mirror of
https://github.com/TapXWorld/ChinaTextbook.git
synced 2026-01-10 00:50:36 +08:00
update readme.md
This commit is contained in:
@@ -1,58 +0,0 @@
|
||||
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) // 合并后删除分割文件
|
||||
}
|
||||
}
|
||||
46
.github/workflows/release.yml
vendored
46
.github/workflows/release.yml
vendored
@@ -1,46 +0,0 @@
|
||||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- v*
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: 'stable'
|
||||
|
||||
- run: |
|
||||
mkdir -p dist
|
||||
platforms=(
|
||||
"windows-amd64"
|
||||
"linux-amd64"
|
||||
"darwin-amd64"
|
||||
"darwin-arm64"
|
||||
)
|
||||
for platform in "${platforms[@]}"; do
|
||||
GOOS=${platform%-*}
|
||||
GOARCH=${platform#*-}
|
||||
output_name="mergePDFs-${GOOS}-${GOARCH}"
|
||||
if [ "$GOOS" = "windows" ]; then
|
||||
output_name+=".exe"
|
||||
fi
|
||||
CGO_ENABLED=0 GOOS=$GOOS GOARCH=$GOARCH go build -o "dist/$output_name" mergePDFs.go
|
||||
done
|
||||
|
||||
- uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
body: Release ${{ github.ref_name }}
|
||||
files: |
|
||||
dist/mergePDFs-windows-amd64.exe
|
||||
dist/mergePDFs-linux-amd64
|
||||
dist/mergePDFs-darwin-amd64
|
||||
dist/mergePDFs-darwin-arm64
|
||||
22
README.md
22
README.md
@@ -1,5 +1,5 @@
|
||||
## 项目的由来
|
||||
虽然国内教育网站已提供免费资源,但大多数普通人获取信息的途径依然受限。有些人利用这一点,在淘宝上销售这些带有私人水印的资源。为了应对这种情况,我计划将这些资源集中并开源,以促进义务教育的普及和消除地区间的教育贫困。
|
||||
虽然国内教育网站已提供免费资源,但大多数普通人获取信息的途径依然受限。有些人利用这一点,在某站上销售这些带有私人水印的资源。为了应对这种情况,我计划将这些资源集中并开源,以促进义务教育的普及和消除地区间的教育贫困。
|
||||
|
||||
还有一个最重要的原因是,希望海外华人能够让自己的孩子继续了解国内教育。
|
||||
|
||||
@@ -55,21 +55,19 @@
|
||||
- 义务教育教科书 · 数学一年级上册.pdf.2
|
||||
|
||||
### 解决办法
|
||||
要合并这些被拆分的文件,您只需执行以下步骤:
|
||||
1. 将合并程序 `mergePDFs.exe` 下载到包含 PDF 文件的文件夹中。
|
||||
2. 确保 `mergePDFs.exe` 和被拆分的 PDF 文件在同一目录下。
|
||||
3. 双击 `mergePDFs.exe` 程序即可自动完成文件合并。
|
||||
要合并这些被拆分的文件,您只需执行以下步骤(其他操作系统同理):
|
||||
1. 将合并程序 `mergePDFs-windows-amd64.exe` 下载到包含 PDF 文件的文件夹中。
|
||||
2. 确保 `mergePDFs-windows-amd64.exe` 和被拆分的 PDF 文件在同一目录下。
|
||||
3. 双击 `mergePDFs-windows-amd64.exe` 程序即可自动完成文件合并。
|
||||
|
||||
### 下载方式
|
||||
您可以通过以下链接下载 `mergePDFs.exe` 程序:
|
||||
您可以通过以下链接,下载文件合并程序:
|
||||
|
||||
[下载 mergePDFs.exe](.cache/mergePDFs.exe)
|
||||
|
||||
[审计源代码](.cache/mergePDFs.go)
|
||||
[下载文件合并程序](https://github.com/TapXWorld/ChinaTextbook-tools/releases)
|
||||
|
||||
|
||||
### 文件和程序示例
|
||||
- mergePDFs.exe
|
||||
- mergePDFs-windows-amd64.exe
|
||||
- 义务教育教科书 · 数学一年级上册.pdf.1
|
||||
- 义务教育教科书 · 数学一年级上册.pdf.2
|
||||
|
||||
@@ -78,6 +76,10 @@
|
||||
- 如果您位于内地,并且网络不错,想重新下载,您可以使用 [tchMaterial-parser](https://github.com/happycola233/tchMaterial-parser) 项目(鼓励开源),进行重新下载。
|
||||
- 如果您位于国外,和内地网络通信速度较慢,建议使用本存储库进行签出。
|
||||
|
||||
## 教材捐献
|
||||
如果这个项目帮助您免费获取教育资源,请考虑支持我们推广开放教育的努力!您的捐献将帮助我们维护和扩展这个资源库。
|
||||
|
||||
加入我们的 Telegram 社区,获取最新动态并分享您的想法:https://t.me/+1V6WjEq8WEM4MDM1
|
||||
|
||||
|
||||
## 支持我
|
||||
|
||||
Reference in New Issue
Block a user