mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2026-04-16 23:08:38 +02:00
a5b259b453f2e6f9f2374f6ddadf317f7ba40881
## Description of Changes Adds two new user preferences to the General settings panel, addressing #5908. **Default view on launch** - a segmented control (Tools / Reader / Automate) that controls which left-column tab is active when the app starts. Previously the app always opened on the Tools tab with no way to change this. Users who spend most of their time reading PDFs had to manually switch to the Reader tab on every launch. **Default reader zoom** - a dropdown (Auto / Fit width / Fit page / 50%–200%) that sets the initial zoom level whenever a PDF is opened in the reader. Previously the app always applied an automatic fit-to-viewport calculation. Both settings are non-breaking. The defaults (`Tools` and `Auto`) reproduce the existing behaviour exactly, so existing users see no difference until they change a preference. ### What changed - `preferencesService.ts` - added `StartupView` and `ViewerZoomSetting` types plus the two new fields to `UserPreferences` with safe defaults - `ToolWorkflowContext.tsx` - one-time startup effect that navigates to the preferred tab on first render (mirrors the existing `defaultToolPanelMode` sync pattern) - `ZoomAPIBridge.tsx` - respects the zoom preference before falling back to auto-zoom logic when a document loads - `GeneralSection.tsx` - two new controls added below "Default tool picker mode"; the Select uses `comboboxProps={{ withinPortal: true }}` so the dropdown renders above the settings modal - `en-GB/translation.toml` - new keys for labels, descriptions, and option values Closes #5908 --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [x] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [x] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [x] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) <img width="1023" height="747" alt="Screenshot 2026-04-05 185718" src="https://github.com/user-attachments/assets/6a8bc35a-d813-4ab8-b303-55bdce747a6a" /> <img width="1026" height="755" alt="Screenshot 2026-04-05 185620" src="https://github.com/user-attachments/assets/d2c45134-ed32-4332-a193-1a96837ba2a3" /> ### Testing (if applicable) - [x] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details.
feat(docker): update base images to Java 25, Spring 4, Jackson 3, Gradle 9 and optimize JVM options (Project Lilliput) (#5725)
Stirling PDF - The Open-Source PDF Platform
Stirling PDF is a powerful, open-source PDF editing platform. Run it as a personal desktop app, in the browser, or deploy it on your own servers with a private API. Edit, sign, redact, convert, and automate PDFs without sending documents to external services.
Key Capabilities
- Everywhere you work - Desktop client, browser UI, and self-hosted server with a private API.
- 50+ PDF tools - Edit, merge, split, sign, redact, convert, OCR, compress, and more.
- Automation & workflows - No-code pipelines direct in UI with APIs to process millions of PDFs.
- Enterprise‑grade - SSO, auditing, and flexible on‑prem deployments.
- Developer platform - REST APIs available for nearly all tools to integrate into your existing systems.
- Global UI - Interface available in 40+ languages.
For a full feature list, see the docs: https://docs.stirlingpdf.com
Quick Start
docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf
Then open: http://localhost:8080
For full installation options (including desktop and Kubernetes), see our Documentation Guide.
Resources
Support
- Community Discord
- Bug Reports: Github issues
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
For development setup, see the Developer Guide.
For adding translations, see the Translation Guide.
License
Stirling PDF is open-core. See LICENSE for details.
Languages
TypeScript
47.2%
Java
44.1%
Python
2.7%
CSS
2.1%
Gherkin
1.1%
Other
2.7%

