rgpdf
繁體中文 · English
rgpdf is a cross-platform desktop application for searching text-layer PDFs with plain text or regular expressions. Matches appear as they are found and can be opened in an asynchronous page preview with precise, configurable highlighting.
Features
- Search multiple PDFs in a folder, optionally including subfolders.
- Plain-text and regular-expression modes with optional case sensitivity.
- Matches across lines and page boundaries, including line-end dehyphenation.
- Incremental per-match results without blocking the interface.
- Three coordinated views for files, matching passages, and PDF page preview.
- Per-character highlight geometry and configurable highlight colors.
- English and Traditional Chinese interfaces, plus system/light/dark themes.
- Persistent search and appearance preferences.
rgpdf searches existing PDF text layers. It does not perform OCR or modify source files.
Install the latest release
Windows standalone download
Download the versioned rgpdf-*-windows-x86_64.exe and its .sha256 file
from the latest GitHub Release.
The executable is currently unsigned, so Windows SmartScreen may show an
unknown-publisher warning. Verify that the SHA-256 value matches the published
file before choosing to run it.
No Python or uv installation is required for the standalone executable.
Install with uv
Install uv, then install the latest release from PyPI:
uv tool install rgpdf
Run the application:
rgpdf
To update an existing installation:
uv tool upgrade rgpdf
Windows and macOS are supported; uv manages the required Python environment.
To install the latest source release directly from GitHub instead, use the moving latest tag:
uv tool install "git+https://github.com/codemee/rgpdf.git@latest"
Development
git clone https://github.com/codemee/rgpdf.git
cd rgpdf
uv sync
uv run pytest
uv run rgpdf
Build a self-contained Windows executable (Python and uv are only required on the build machine):
uv sync --frozen
./scripts/build-windows.ps1 -Python .venv/Scripts/python.exe
The result is dist/rgpdf.exe. GitHub Actions also publishes the executable,
LICENSE, and third-party notices as the rgpdf-windows-x86_64 workflow
artifact. Public release distribution additionally requires the corresponding
source materials listed in the release compliance checklist.
On macOS, build a standalone App that does not require Python on the target Mac:
uv sync --frozen
./scripts/build-macos.sh
./scripts/package-macos-dmg.sh
open dist/rgpdf-*-macos-*.dmg
The App is built at dist/rgpdf.app; the distributable DMG is
dist/rgpdf-X.Y.Z-macos-ARCH.dmg and contains the App plus an Applications
shortcut. Both target the current Mac's architecture. This small project does
not use an Apple Developer ID. The App is ad-hoc signed and not notarized, so
another user may need to Control-click it and choose Open the first time.
See Technical details for architecture, matching semantics, concurrency, and release engineering. Version history is in the changelog.
Releases
Immutable releases use version tags such as v0.0.3. The movable latest Git tag always points to the newest published source release. PyPI provides the canonical packaged release.
Releases are automated with GitHub Actions. After making the versions in
pyproject.toml and src/rgpdf/__init__.py match, push the corresponding tag:
git tag v0.0.6
git push origin v0.0.6
The workflow tests and builds Windows x86_64 and macOS arm64 in parallel, downloads and verifies the locked third-party corresponding sources, creates one GitHub Release with checksums, then publishes to PyPI through Trusted Publishing. A failed test, build, or source verification prevents publication.
License
rgpdf is licensed under the GNU Affero General Public License version 3. You may use, study, modify, and redistribute it under the terms of that license. Distributed binaries must be accompanied by the complete corresponding source for the same version.
This application uses PyMuPDF/MuPDF under AGPLv3 and PySide6/Qt under LGPLv3. See third-party notices and the release compliance checklist.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rgpdf-0.0.6.tar.gz.
File metadata
- Download URL: rgpdf-0.0.6.tar.gz
- Upload date:
- Size: 69.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa6c5b8c3384a09cab6dfdd057fff938506b39264cceeadad6f0679e90679d70
|
|
| MD5 |
e51a3f2e6cfb705c0b23e653fd84d0b3
|
|
| BLAKE2b-256 |
6a28476e9abe813ee231710b27adbe466f4134528cfee00fc86d1d61ef2e95a5
|
Provenance
The following attestation bundles were made for rgpdf-0.0.6.tar.gz:
Publisher:
publish-pypi.yml on codemee/rgpdf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rgpdf-0.0.6.tar.gz -
Subject digest:
fa6c5b8c3384a09cab6dfdd057fff938506b39264cceeadad6f0679e90679d70 - Sigstore transparency entry: 2497591055
- Sigstore integration time:
-
Permalink:
codemee/rgpdf@5bb05b5ba69c18222e060b41f3acad812db614d3 -
Branch / Tag:
refs/tags/v0.0.6 - Owner: https://github.com/codemee
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@5bb05b5ba69c18222e060b41f3acad812db614d3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rgpdf-0.0.6-py3-none-any.whl.
File metadata
- Download URL: rgpdf-0.0.6-py3-none-any.whl
- Upload date:
- Size: 38.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74db1cc02cf7880bdba99f5813e5cddf0d3f8b1eff318543c764f6b678d3b315
|
|
| MD5 |
66c10b090ba1d620df751557b295e3ba
|
|
| BLAKE2b-256 |
6715e5a9e49d3ca13c61864da54255eadcfe19bc4bb8793a56c3a27929386b7a
|
Provenance
The following attestation bundles were made for rgpdf-0.0.6-py3-none-any.whl:
Publisher:
publish-pypi.yml on codemee/rgpdf
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rgpdf-0.0.6-py3-none-any.whl -
Subject digest:
74db1cc02cf7880bdba99f5813e5cddf0d3f8b1eff318543c764f6b678d3b315 - Sigstore transparency entry: 2497591110
- Sigstore integration time:
-
Permalink:
codemee/rgpdf@5bb05b5ba69c18222e060b41f3acad812db614d3 -
Branch / Tag:
refs/tags/v0.0.6 - Owner: https://github.com/codemee
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@5bb05b5ba69c18222e060b41f3acad812db614d3 -
Trigger Event:
push
-
Statement type: