https://github.com/qwinsi/jh-pdf-merger
GUI App to merge PDF files into one and make a proper bookmark for it.
https://github.com/qwinsi/jh-pdf-merger
pdf-merge pdf-merger
Last synced: 6 months ago
JSON representation
GUI App to merge PDF files into one and make a proper bookmark for it.
- Host: GitHub
- URL: https://github.com/qwinsi/jh-pdf-merger
- Owner: qwinsi
- License: gpl-3.0
- Created: 2023-09-06T18:55:28.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-07T00:09:44.000Z (10 months ago)
- Last Synced: 2025-04-10T18:33:01.015Z (6 months ago)
- Topics: pdf-merge, pdf-merger
- Language: Python
- Homepage:
- Size: 1.91 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README-zh_CN.md
- License: LICENSE
Awesome Lists containing this project
README
# JH PDF Merger
English | 简体中文
JH PDF Merger 是一个简单的图形界面应用程序,用于将多个 PDF 文件合并为一个。
合并后的 PDF 文件的书签将根据原始 PDF 文件的文件名和书签来创建。
## 目录
- [安装](#安装)
- [使用](#使用)
- [待办事项](#待办事项)
- [开发](#开发)
- [安装依赖](#安装依赖)
- [运行](#运行)
- [翻译](#翻译)
- [打包](#打包)
- [贡献](#贡献)## 安装
在 [发布页面](https://github.com/qwinsi/jh-pdf-merger/releases) 下载最新版本。
目前,仅提供 Windows 版本的应用程序。
对于 Linux 或 macOS 用户,因为目前还没有现成的发布版本,你需要下载源代码并直接运行 Python 程序。请参阅下面的 [开发](#developing) 部分以获取更多详细信息。
## 使用
打开应用程序,执行以下步骤。
1. 依次点击 "文件" -> "添加文件" 来添加 PDF 文件。
2. 底部的 "输出路径" 框已经自动填充了输出文件的默认路径。如果需要自定义的话,可以更改它。
3. 点击 "运行" -> "合并文件" 来合并 PDF 文件。
4. 等待程序运行完成。完成后会弹出一个消息框。
### 创建书签
创建书签的方式有3种。你可以在主窗口中点击按钮来切换它们。
- **方式 1**:(默认)书签将根据原始 PDF 文件的文件名和书签来创建。当你同时勾选 "创建书签" 复选框和 "仅使用选中文件的名称" 复选框时,就会发生这种情况。
- **方式 2**:书签将根据原始 PDF 文件的文件名来创建。当你勾选 "创建书签" 复选框并取消勾选 "仅使用选中文件的名称" 复选框时,就会发生这种情况。
- **方式 3**:不创建书签。当你取消勾选 "创建书签" 复选框时,就会发生这种情况。例如,假设你有2个 PDF 文件:`文件-1.pdf`,`文件-2.pdf`。
```
文件-A.pdf
│-- 第1章
|-- 第1.1节
|-- 第1.2节文件-B.pdf
|-- 第2章
| |-- 第2.1节
| |-- 第2.2节
|-- 第3章
|-- 第3.1节
|-- 第3.2节
```方式1会给你:
```
合并输出.pdf
|-- 文件-A
| |-- 第1章
| |-- 第1.1节
| |-- 第1.2节
|-- 文件-B
|-- 第2章
| |-- 第2.1节
| |-- 第2.2节
|-- 第3章
|-- 第3.1节
|-- 第3.2节
```方式2会给你:
```
合并输出.pdf
|-- 文件-A
|-- 文件-B
```方式3会给你:
```
合并输出.pdf
(没有书签)
```## 待办事项
- [ ] 发布 Linux 和 macOS 版本的发布版本。
- [ ] 添加更多的语言支持。
- [ ] 添加更多功能,例如拆分或操作 PDF 文件。## 开发
这个程序是用 Python 编写的,使用 PyQt5 作为 GUI 框架,因此从技术上讲,它可以在任何支持 Python 和 PyQt5 的平台上运行(Windows、Linux、macOS 等)。
### 安装依赖
```shell
python -m venv venv
./venv/Scripts/activate
pip install -r requirements.txt
```
### 运行```shell
lrelease ./lang/*.ts # Generate ./lang/*.qm files
python app.py
```注意,`lrelease` 工具是随 Qt 一起提供的。你可以在 Qt 安装目录中找到它。例如 `C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\lrelease.exe`
如果你不想安装 Qt,你可以从我们的最新发布中获取 *.qm 文件。下载 zip 文件并解压,*qm 文件在 `lang/` 文件夹中。
### 翻译
你可以执行以下步骤来帮助翻译。
首先运行 pylupdate5 来更新 .ts 文件。注意,如果源代码没有改变,.ts 文件也不会改变。
```shell
pylupdate5 app.py -ts ./lang/*.ts
```
然后手动编辑你想要翻译的 ts 文件。例如 ./lang/zh_CN.ts最后使用 Qt 的 lrelease 工具将 .ts 文件转换为 .qm 文件。运行程序来检查你的翻译效果。
```shell
lrelease ./lang/*.ts
```### 打包
运行以下命令来打包应用程序。
```shell
lrelease ./lang/*.ts # Generate ./lang/*.qm files
pip install PyInstaller
pyinstaller app.spec
```
现在你可以找到 `dist/jh_pdf_merger` 文件夹,其中包含可执行文件 `JH PDF Merger.exe` 和所有依赖项。
你可以将此文件夹复制到任何你想要的地方。## 贡献
欢迎提出 issue 或开 PR。