# PDFsam Basic: a JavaFX desktop tool for splitting, merging and rotating PDFs

> PDFsam Basic is the open source desktop edition of PDFsam, built with JavaFX and licensed AGPL-3.0. It handles split, merge, mix, rotate and page extraction locally, with a self-contained build since version 4.

**torakiki/pdfsam** — PDFsam, a desktop application to split, merge, mix, rotate PDF files and extract pages

- Repository: https://github.com/torakiki/pdfsam
- Website: https://pdfsam.org
- Stars: 4,594 · Forks: 403
- Language: Java
- License: AGPL-3.0
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/torakiki-pdfsam

## What PDFsam Basic is and who it is for

PDFsam Basic is a desktop application to extract pages, split, merge, mix and rotate PDF files. The repository is the official SCM home for that application, and the project describes it as free, open source and multi-platform. The name is an abbreviation of PDF Split And Merge.

The audience is narrow and clear. Someone who has a folder of PDFs on a laptop and needs to pull a few pages out of one file, combine three reports into one, or rotate a batch of scans. The README does not position it as a library, a server, or a command line tool. It is a GUI application written with JavaFX. If your workflow lives inside a CI job or a backend service, the shape of this project does not match it.

The repository is split into modules: pdfsam-basic, pdfsam-core, pdfsam-gui, pdfsam-model, pdfsam-persistence, pdfsam-service, pdfsam-tools, pdfsam-ui-components, pdfsam-i18n, pdfsam-fonts, pdfsam-themes, pdfsam-test and pdfsam-docs. That layout tells you the GUI is deliberately separated from core logic, which matters if you ever want to reuse the manipulation code outside the windowed app.

## How the JavaFX application and its modules fit together

The README states PDFsam Basic is written using JavaFX, and since version 4 it is released as a self-contained application that bundles a jlinked JDK. That is the central architectural decision. You are not installing a JVM and then dropping a jar onto it, as version 3 required with a Java Runtime Environment 8 plus JavaFX. The build pipeline produces an image that carries its own runtime.

That choice has consequences. The download is larger than a plain jar because it contains a trimmed JDK. In exchange, the class of failure where a user has the wrong Java version installed disappears. For a desktop tool aimed at non-developers, that trade is defensible.

The module list shows where the work happens. pdfsam-core and pdfsam-model hold the domain objects, pdfsam-service and pdfsam-persistence handle task execution and stored state, and pdfsam-gui plus pdfsam-ui-components plus pdfsam-themes render the interface. pdfsam-tools appears to hold the actual PDF manipulation entry points, and pdfsam-i18n carries translations, which the README links to Launchpad for community contribution.

The README does not document the internal data flow between these modules. What is visible is the separation itself, and the fact that the top-level pom.xml builds them together as a multi-module Maven project.

## Installing PDFsam Basic and running a first merge

The README does not give install steps. It points to the official website pdfsam.org for the application and to a wiki page titled Build and run for building from source. So the practical path is: get the release from pdfsam.org, or follow the wiki guide to build the repository yourself.

The repository is a Maven multi-module project rooted at pom.xml, so any source build starts there. The wiki page linked from the README is the authoritative source for the exact steps, and this article does not reproduce them because the README does not contain them. What the README does say is that since version 4 the application is released as a self-contained bundle with a jlinked JDK, so what you run after a successful build is that bundle rather than a jar launched with java -jar.

The README links a wiki page called Properties and arguments for behaviour tweaks. That page, not the README, is where you would look for flags. The README itself gives no property names, no ports and no environment variables, so do not assume any.

For a first real use, the GIF at the top of the README shows the merge flow. You add PDF files to a list, order them, and run the task. The five operations the project names are extract pages, split, merge, mix and rotate. Mix differs from merge in that it interleaves pages from multiple documents rather than appending whole files, which is the operation people usually want when combining two versions of the same scanned document.

## Where PDFsam Basic stops being the right tool

The README offers no API, no CLI documentation and no server mode. Everything it describes is a desktop application. If you need to split ten thousand PDFs on a schedule, you are looking at the wrong project, and the absence of a documented headless interface in the README is the signal.

The licence is the second boundary. Since version 3, PDFsam Basic is under the GNU Affero General Public License, and earlier versions were GPLv2. AGPL-3.0 carries network-use obligations that GPLv2 does not. If you plan to embed this code in a service other people reach over a network, the licence terms are the thing to read before anything else. That is a legal question, not one this article answers.

Third, the self-contained packaging that removes JVM headaches also removes flexibility. You cannot easily swap the bundled runtime for a different JDK, because the point of the jlink step is to fix it. On a platform where the bundled build misbehaves, your fallback is building from source, and the README points to a wiki page rather than documenting the build inline.

Finally, the README does not document rollback, downgrade paths or what happens to pdfsam-persistence data across major versions. That silence is worth noting before you commit a workflow to it.

## How it compares with libraries such as Apache PDFBox

The real alternative depends on what you are actually doing. If you want a GUI for occasional PDF surgery, PDFsam Basic is aimed at exactly that, and a library is not a substitute because you would have to write the interface yourself.

If you want to automate PDF manipulation in code, Apache PDFBox is the different approach: a Java library you call from your own program, with no GUI and no bundled runtime. PDFBox gives you programmatic control and lets you choose your own licence posture, since it is Apache-licensed rather than AGPL. PDFsam Basic gives you a finished application and a maintained interface, at the cost of the AGPL obligations and the absence of a documented API in the README.

The trade is between a product and a toolkit. PDFsam Basic is the product; you get the merge, mix, rotate and extract operations as buttons. PDFBox is the toolkit; you get the primitives and you build the product. Choosing PDFsam Basic and then trying to drive it from a script is fighting the design.

## Maintenance status, licence and upgrade cost

The repository is not archived, and the last push was on 2026-08-10. Recent releases are v6.0.5 on 2026-08-05, v6.0.4 on 2026-07-10 and v6.0.3 on 2026-07-10. The release cadence in that window is close together, which is consistent with patch maintenance on the v6 line.

Upgrading across major versions is the cost to plan for. The README records that version 3 needed a Java Runtime Environment 8 with JavaFX, and version 4 changed to a self-contained jlinked build. That is a packaging break between majors, not a minor bump. Anyone pinning an older version for deployment reasons should expect the next major to move the ground again.

On licence: PDFsam Basic is AGPL-3.0 since version 3, and GPLv2 before that. The practical implication is that the copyleft is stronger in the version you are most likely to use. Distributing a modified build, or exposing it over a network as part of a larger work, raises questions the README does not answer. Consult someone qualified rather than treating this paragraph as guidance.

The README also points to CONTRIBUTING.md and to a Launchpad translation project for pdfsam-v3, so community contribution paths exist for code and for localisation.

## Conclusion

PDFsam Basic fits anyone who needs local PDF surgery on a desktop and can accept AGPL-3.0 terms. It is the wrong pick if you need a server-side API, a headless pipeline, or a permissive licence for closed distribution. Before adopting it, confirm the release you download runs on your OS, note that version 4 and later bundle a jlinked JDK while version 3 requires a Java Runtime Environment 8 with JavaFX, and read the wiki page on properties and arguments if you plan to tweak behaviour.

## FAQ

### Is PDFsam Basic free?

Yes. The README describes it as free and open source, and the repository is licensed under the GNU Affero General Public License since version 3, with earlier versions under GPLv2.

### What is PDFsam Basic used for?

It is a desktop application to extract pages, split, merge, mix and rotate PDF files. The README describes it as multi-platform and built with JavaFX.

### How do I install PDFsam Basic?

The README does not give install steps and points to the official website pdfsam.org. To build from source, it links a wiki page titled Build and run.

### How do I use PDFsam merge?

The README shows the merge flow in a GIF at the top of the file, and names merge as one of the five operations alongside extract pages, split, mix and rotate. Mix interleaves pages from multiple documents rather than appending whole files.

### Is PDFsam safe?

The repository is the official SCM home for PDFsam Basic, is not archived, and its last push was on 2026-08-10. The README does not make security claims, so safety in a given environment is not something the material establishes.

## Sources

- [License: AGPL-3.0](https://github.com/torakiki/pdfsam/blob/master/LICENSE)
- [Project website](https://pdfsam.org)
- [README](https://github.com/torakiki/pdfsam/blob/master/README.md)
- [Releases](https://github.com/torakiki/pdfsam/releases)
- [torakiki/pdfsam on GitHub](https://github.com/torakiki/pdfsam)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/torakiki-pdfsam
