https://github.com/rasbt/macos-pdf-splitter
Native macOS app for splitting and converting PDF figures
https://github.com/rasbt/macos-pdf-splitter
Last synced: about 1 month ago
JSON representation
Native macOS app for splitting and converting PDF figures
- Host: GitHub
- URL: https://github.com/rasbt/macos-pdf-splitter
- Owner: rasbt
- License: apache-2.0
- Created: 2026-01-14T03:05:10.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-14T16:16:10.000Z (5 months ago)
- Last Synced: 2026-01-19T18:00:00.525Z (5 months ago)
- Language: Swift
- Size: 3.91 MB
- Stars: 8
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PDF Splitter (macOS)
Native macOS app to split a PDF into per-page PDFs and export per-page images. It supports PNG and WEBP, with cropping, padding, DPI control, and optional scaling.
PNG rendering defaults to Poppler (`pdftocairo`/`pdftoppm`) for sharper output; you can disable it in the UI to use PDFKit instead. Install Poppler with `brew install poppler` if needed.
WEBP quality is adjustable, and WEBP export can fall back to `cwebp` if ImageIO does not support it.
Below is a screenshot of the interface.

And the following screenshot shows a list of the generated files.

Try it yourself using the [docs/all-figures.pdf](docs/all-figures.pdf) demo PDF.
## Download and use app
Download and open [PDF.Splitter.dmg](https://github.com/rasbt/macos-pdf-splitter/releases/download/v1.0/PDF.Splitter.dmg), which contains the `PDF Splitter.app`.
## Build and run
Alternatively, build the app locally yourself:
```bash
swift build
swift run
```
## Build a release app bundle
To create the macOS app bundle and release zip, run:
```bash
./scripts/build_release_app.sh
```
The script accepts two optional arguments:
```bash
./scripts/build_release_app.sh
```
Defaults:
- `version`: `1.0`
- `build-number`: `1`
Outputs:
- `../non-GitHub/dist/PDF Splitter.app` for local builds
- `../non-GitHub/dist/PDFSplitterMac-macOS.zip` for local builds