Skip to main content

repdf — PDF 選頁重組工具

使用 PySide6 製作的 Windows 桌面工具,可用標籤頁開啟多個 PDF、勾選指定頁面,並依標籤與頁面排列順序重組或拆分輸出。預覽縮圖不會影響輸出品質。

安裝與啟動

1. 下載發布的執行檔/App(建議)

從 GitHub Releases 下載適合平台的檔案,不需要安裝 Python 或 uv:

  • Windows x86_64:下載 repdf-<版本>-windows-x86_64.exe,直接執行。
  • macOS Apple Silicon(arm64):下載 repdf-<版本>-macos-arm64.dmg,開啟後將 repdf.app 拖入 Applications,再從 Applications 啟動。

既有 v0.0.7 及較早的 Release 仍使用 PDFPick 檔名與 PDFPick.app;repdf 檔名會從重新命名後的新版本開始採用。

Release 同時提供 SHA256 校驗檔。簽章與打包資訊見下方「Windows 執行檔與 macOS App/DMG」。

2. 使用 uv tool 安裝

已有 uv 時,可從 PyPI 安裝到獨立工具環境:

uv tool install repdf
repdf

需要 Python 3.11 以上版本;uv 可在需要時下載適用的 Python。也可使用 Release 的 repdf wheel 下載網址安裝。若終端機找不到 repdf,執行 uv tool update-shell 後重新開啟終端機。既有舊版 wheel 仍安裝為 pdfpick 指令。

3. 從原始碼使用 uv run

適合開發或修改程式。下載原始碼,或 clone 本儲存庫後,進入專案目錄執行:

uv sync
uv run repdf

操作方式

工具列按鈕的圖示與用途如下;將游標停在按鈕上也可查看 tooltip。

工具列圖示/控制元件 功能 操作說明 快捷鍵
開啟 PDF 圖示 開啟 PDF 一次選取多個 PDF,也可從檔案總管拖入。 Ctrl+O
重組輸出圖示 重組輸出 將選取頁面依目前順序合併為一個新 PDF,指定檔名與儲存位置。 Ctrl+S/Ctrl+Shift+S
拆分輸出圖示 拆分輸出 將選取頁面依目前順序逐頁存成獨立 PDF,指定基本檔名與儲存位置。 —
單數頁核取方塊 單數頁 選取或取消目前標籤的原始單數頁;部分選取時顯示三態標記。 —
雙數頁核取方塊 雙數頁 選取或取消目前標籤的原始雙數頁;部分選取時顯示三態標記。 —
顯示比例與縮放滑桿 顯示比例 滑桿調整 25%–200%;點擊比例回到 100%。鍵盤縮放每次調整 25 個百分點,完整說明在比例的 tooltip。 放大:Ctrl++/Ctrl+=;縮小:Ctrl+-;100%:Ctrl+0
跟隨系統語言 繁體中文 English 介面語言 點擊依序切換「跟隨系統 → 繁體中文 → English」,選擇會記住。 —
跟隨系統配色:太陽與月亮 淺色:太陽 深色:月亮 介面配色 點擊依序切換「跟隨系統 → 淺色 → 深色」,選擇會記住。 —

各檔案以主檔名顯示在標籤頁,完整路徑顯示於目前標籤的視窗標題列與標籤 tooltip。同一路徑再次開啟會切換到既有標籤。各檔案獨立保留比例、捲動位置、選頁與頁面排序;100% 對應 Windows 的 96 DPI 顯示尺度。

點選各頁左上角的核取方塊可個別選頁。拖曳頁面縮圖或「拖曳排序」把手時,縮圖會跟隨游標,其他頁面以動畫移開並顯示插入空位。移到頁面左半部可插入其前方,右半部可插入其後方;放開確認排序,按 Esc 取消。

拆分時,例如指定 report.pdf,會輸出 report_01.pdf、report_02.pdf。序號從 1 開始,至少兩位,依本次輸出總數補零對齊(100 頁使用 001–100),與原始頁碼無關。已存在的單頁檔案會先詢問是否覆蓋。

標籤左側核取方塊預設不勾選。有勾選標籤時,只輸出勾選檔案的已選頁面;沒有勾選任何標籤時,只輸出目前標籤的已選頁面。勾選檔案沒有選頁時不提供輸出頁面,不會自動改選目前檔案。拖曳標籤可調整檔案順序,輸出先依標籤順序,再依各檔內的頁面排序;拆分序號跨檔連續。按標籤右側的 × 可關閉檔案。

密碼保護的 PDF 暫不支援。輸出頁面依畫面排列順序;未勾選的頁面不會輸出。

語言與配色

工具列右側提供兩個三態按鈕,首次使用皆預設跟隨系統,點擊即可立即切換:

  • 介面語言:跟隨系統 → 繁體中文 → English → 跟隨系統。系統顯示語言為中文時使用繁體中文,其他語言使用 English;tooltip 顯示目前模式與實際語言。
  • 介面配色:跟隨系統 → 淺色 → 深色 → 跟隨系統。手動指定配色後不受系統配色變化影響,回到系統模式則即時跟隨。

選擇會記住,重新啟動仍保留。切換語言會更新既有頁面標籤、工具列、tooltip、標題、狀態與對話框,不改動檔名、選頁、頁序或比例。檔案對話框採用 Qt 介面,讓按鈕與欄位也能跟隨指定的中英文語言。

測試

uv run pytest

開發與維護

目前架構、背景預覽協定、縮放定義、輸出安全機制與修改入口整理於 實作與維護指南。

Windows 執行檔與 macOS App/DMG

GitHub Actions 的「Build desktop apps」會在 main 更新、PR 或 Release 發佈時打包,也可在 Actions 頁面以 Run workflow 手動執行並指定分支或標籤。Release 的標籤必須包含打包設定檔。

產物包含 Windows x86_64 單一 EXE、macOS Apple Silicon(arm64)DMG,以及 SHA256 校驗檔。手動執行與一般提交的產物可從 Actions 的 Artifacts 下載;Release 發佈時會自動附加到該 Release。DMG 中可將 repdf.app 拖入 Applications,不需要另外安裝 Python。

目前未設定 Windows 程式碼簽章或 macOS Developer ID 簽章/公證,因此下載後可能出現系統的安全提示;這些套件並非已公證的 macOS 發行版。

打包全程在 GitHub 雲端環境執行。流程會先驗證 Qt、圖示、背景 PDF 渲染與重排輸出;macOS 使用系統內建的 ditto 與 hdiutil 建立並驗證 DMG。Actions 產物保留 30 天。

Metadata

Release files for repdf 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repdf 0.0.8
File Size Uploaded Provenance
repdf-0.0.8.tar.gz 675.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for repdf 0.0.8
File Interpreter ABI Platform
repdf-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / repdf-0.0.8.tar.gz

Download URL repdf-0.0.8.tar.gz
Size 675.5 kB
Tags Source
SHA-256 checksum
How to use checksums
88068ef52718c21f5df88023cd4cc410dffa4d04ee199ba96f8aef6ecdca5c22
BLAKE2b-256 checksum
How to use checksums
03c96060ca7ffbc898b2eae4634939a96ff5ee8a1ca2b144ff8cf126cfb4f13f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / repdf-0.0.8-py3-none-any.whl

Download URL repdf-0.0.8-py3-none-any.whl
Size 678.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9663ccda2b5a8a632bdb00db28c11f2a00551a7ab2130d97b65be1156ebe8517
BLAKE2b-256 checksum
How to use checksums
19f7cbecabe6928dfa401c3591e572b71984f2f17010759708840ce318a7250c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for repdf 0.0.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page