pdf-freezer is a secure, cross-platform desktop tool designed to "freeze" PDF documents. It renders pages as high-resolution images and re-assembles them into a non-editable format, ensuring the document's visual fidelity while preventing text modification. It also applies a sequential serial number overlay for accounting and audit purposes.
AR0001, AR0002).~/Library/Application Support/pdf-freezer/app.log.pdf-freezer/
├── cmd/ # Main entry point (Wails bootstrap)
├── internal/
│ ├── app/ # Application logic & bridge
│ ├── config/ # Persistent settings & logging
│ ├── counter/ # Thread-safe number management
│ └── engine/ # Ghostscript wrapper & pipeline
├── frontend/ # Svelte + Vite UI
└── build/ # Output binaries
brew install ghostscriptClone the repository:
git clone https://github.com/your/pdf-freezer.git
cd pdf-freezer
Run in Dev Mode:
wails dev
This starts the backend and the Svelte dev server with hot-reload.
**## Building
go install github.com/wailsapp/wails/v3/cmd/wails3@latest)To build the application for production:
~/go/bin/wails3 build
This will automatically compile both the frontend and backend into the pdf-freezer executable.
If the automatic build fails due to environment issues, you can build manually:
Build Frontend:
cd frontend
npm install
npm run build
cd ..
Build Backend:
go build -o pdf-freezer ./cmd/pdf-freezer
Run:
./pdf-freezer
~/Library/Application Support/pdf-freezer/config.json (Mac) or %APPDATA%\pdf-freezer\config.json (Windows).app.log in the same directory.MIT