RWTS PDFwriter turns the macOS print dialog into a drop box for PDFs
An OSX print to pdf-file printer driver
At a glance
- What is it?
- RWTS PDFwriter is a macOS print driver that sends whatever you print to a folder you choose, so repeated printing produces PDF files without a save dialog each time. It requires macOS 11 or newer, ships as a universal binary for Intel and Apple Silicon, and it is a fork of Lisanet PDFWriter, which came from CUPS-PDF.
- Who is it for?
- RWTS PDFwriter fits a Mac user who prints a document repeatedly, or from an application that has no save to PDF option, and who wants the files to land in a folder without a dialog each time. It is the wrong tool if you print occasionally, where the system Print to PDF dialog is enough, or if you need anything beyond plain PDF output.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 30 days ago.
- What is it written in?
- Mainly Swift, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Print once, collect many files
RWTS PDFwriter is an OS X 11.0 and newer compatible print driver that enables you to print your documents directly to a PDF file. The README compares it to CutePDF on Windows.
The mechanism is the standard macOS print pipeline, used differently. macOS treats a printer driver as a queue, and this one is a queue whose output is a PDF file rather than paper. Once it is installed, you print your documents using PDFwriter as your printer, and the printed PDF files are stored in the directory you created on installation.
That fixed destination is the whole point and the main difference from the system's own print to PDF option, which asks where to save each time. A driver that writes to a pre-chosen folder is the right shape for a workflow where the same document is printed repeatedly, for example generating a set of invoices or labels, or for an application that can print but cannot export.
The installer installs a universal binary compatible with both Intel and Apple Silicon processors, which is the part of the setup that matters most for a machine bought in the last few years. There is no separate Intel and Apple Silicon build to choose between.
The homepage is not listed for the project, and the download is a direct link to the installer package in the GitHub releases, so the path from finding the project to having a working printer is short.
Installation ends when you quit the Utility
The installation sequence has one step that is easy to get wrong, and the README calls it out in bold.
You download the installer package and install it as usual. The installer opens the PDFWriter Utility app, which lets you create a destination folder for the PDFs you print. And you need to Quit the Utility after creating the destination folder to complete the installation.
The reason that last sentence is emphasised is that the Utility stays open. It is a configuration window, and until it is quit the installation is not finished, so a user who installs the package, picks a folder and closes the window may find the printer behaving oddly afterwards. The Utility is where the destination lives, and quitting it is what commits the choice.
The second user path is that other users can access this utility to create their own print destination, through the Options and Supplies button for the printer in System Preferences, then Printers and Scanners. That matters in a shared machine, and it is worth noting that the destination folder is per user, created through a shared utility that lives in the application bundle.
After installation, the README says simply that your new printer will be ready for use, and the usage section is one sentence: print your documents using PDFwriter as your printer, and the files appear in the directory you created.
Uninstalling is a script the Utility reveals
The removal instructions are unusual in a good way, and worth reading even if you never uninstall.
To uninstall PDFwriter, you open the PDFWriter Utility, click the button to reveal the uninstall script, and when you open that script you are asked for your administrative password, after which RWTS PDFwriter is completely removed from your system.
Two things follow from that design. The first is that the uninstall is complete, which is not something a print driver that has installed a daemon and a virtual queue always manages. The second is that the removal path is a script you can read before running it, which is a better position than a silent uninstaller.
The script is embedded in the application rather than shipped separately, which is why the Utility is the entry point for both directions. It is a small application, and that is all it does, but it does it in a way that leaves the user in control.
For a driver like this, the print queue itself is a piece of system state that has to be registered, and the usual reason uninstall instructions are vague is that the queue is left behind. Handling that in the same utility that creates the destination keeps the two operations in one place.
Signing and notarising the installer from source
Compiling your own copy is documented, and the interesting part is that the build produces a signed and notarized product installer, which is executed by a script in the build directory.
build/buildscript.sh -n "<Your Keychain Profile>"The -n flag is the notarization step, and the README says to omit it if you do not wish to notarize the components. Signing and notarizing also requires a valid Developer ID Installer certificate, which is a real prerequisite for anyone building this outside the maintainer's own machine.
The Keychain Profile is a stored credential for Apple's notary service, and creating one is a two step procedure. First you generate an app-specific password at appleid.apple.com, and then you run altool to list the providers, which is how you find your WWDRTeamID.
xcrun altool --username "<Your AppleID>" --password "<Your app-specific password>" --list-providersThen the credentials are stored under the profile name you choose.
xcrun notarytool store-credentials "<Your Keychain Profile>" --apple-id "<Your AppleID>" --team-id "<Your WWDRTeamID>" --password "<Your app-specific password>”One detail is worth flagging if you follow the guide literally. The last line in the README ends with a typographic closing quotation mark rather than a plain one, and the altool step exists only to look up a team identifier. Current Apple tooling centres on notarytool, so expect to check that step against what your own Xcode provides rather than copying it verbatim.
Two forks deep from CUPS-PDF
The history section is short and it explains the shape of the code.
RWTS PDFwriter was originally based on Lisanet PDFWriter by Simone Karin Lehmann, and Lisanet PDFwriter was, in turn, based on CUPS-PDF.
CUPS-PDF is the original macOS project that made a CUPS printer queue write PDF files, and it is still the reference point for how this kind of driver works. The lineage explains why the installation involves a utility that sets a destination and a script that removes the queue, since both of those behaviours come from the CUPS-PDF model of a print queue that owns a folder.
The repository layout is consistent with that. There is a PDFWriter.xcodeproj directory, a pdfwriter/ directory for the driver, a PDFWriter Utility/ directory for the configuration app, a build/ directory holding the build script, the icon set and the documentation images, and a PDFWriter-Utility-Info.plist at the top level.
The primary language is Swift, which is the significant change from the lineage. The earlier projects were Objective-C, and rewriting the driver in Swift is a substantial amount of work for something that interacts with the print system at a low level, because the printing interfaces are the older Objective-C ones. The Swift rewrite is also what makes a modern, sandboxed and notarised installer practical.
The author credit is Rodney I. Yager, with a copyright line running from 2016 to 2023, and the licence is GNU GPL version 2, under which you are welcome to make modifications and improvements and incorporate it in your own software provided you also release your software under the same licensing system.
Editorial conclusion
RWTS PDFwriter fits a Mac user who prints a document repeatedly, or from an application that has no save to PDF option, and who wants the files to land in a folder without a dialog each time. It is the wrong tool if you print occasionally, where the system Print to PDF dialog is enough, or if you need anything beyond plain PDF output. Verify first that your machine is on macOS 11 or later, and read the Utility step carefully, because the installation is not finished until you quit the PDFWriter Utility after choosing the destination folder.
Frequently asked questions
What is RWTS PDFwriter and what does it do?
It is an OS X 11.0 and newer compatible print driver that lets you print your documents directly to a PDF file, with similar functionality to CutePDF on Windows. Printed PDFs are stored in the destination folder you create during installation.
How do I install RWTS PDFwriter?
Download the installer package from the GitHub releases and install it as usual. The installer opens the PDFWriter Utility app, where you create the destination folder for your PDFs, and you need to Quit the Utility after creating it to complete the installation.
Can other users on the Mac set up their own print destination?
Yes. Other users can access the utility to create their own print destination from the Options and Supplies button for the printer in System Preferences, then Printers and Scanners.
How do I compile RWTS PDFwriter from source?
Clone the repository and execute build/buildscript.sh -n "<Your Keychain Profile>" to produce a signed and notarized installer, omitting the -n flag if you do not want to notarize. You need a valid Developer ID Installer certificate, and you create the Keychain Profile with an app-specific password plus xcrun altool and xcrun notarytool.
How do I uninstall RWTS PDFwriter?
Open the PDFWriter Utility, click the button that reveals the uninstall script, and run it. The script asks for your administrative password and then removes RWTS PDFwriter completely from the system.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/rodyager-rwts-pdfwriter)Was this useful?