How syedfaizan7058/smartasspdf works
SmartAssPDF is a browser-based document and image processing suite backed by a Spring API. Users select a tool, submit files and options, and receive a downloadable result; the backend stores each request as a temporary job and dispatches it to the processing service. The README documents scanning, conversions, PDF editing, protection, OCR, repair, comparison, sanitization, and signing. The sampled Java and Python excerpts support the backend wiring; frontend source and some processing paths were not sampled, so uncertain internal links are omitted. The README mentions a browser AI agent, but its source path is absent from the tree.
Main entry points: ToolController.java Tool controller · PdfProcessingService.java PDF processing · tool.js Tool interface · JobStore.java Job store
Components 16
Web experience
- Tool pages
frontend/tools - Tool interface
frontend/assets/js/tool.js - Scan capture
frontend/assets/js/scanner.js - Tool configuration
frontend/assets/js/tools-config.js
Job API
- Tool controller
backend/src/main/java/com/smartasspdf/api/ToolController.java
Document processing
- PDF processing
backend/src/main/java/com/smartasspdf/api/PdfProcessingService.java - Python converter
backend/scripts/converter.py - PDF operations
backend/src/main/java/com/smartasspdf/api/PdfProcessingService.java - Format conversions
backend/src/main/java/com/smartasspdf/api/PdfProcessingService.java - Image processing
backend/src/main/java/com/smartasspdf/api/PdfProcessingService.java - OCR and repair
backend/scripts/converter.py - Compare and secure
backend/scripts/converter.py
Temporary job lifecycle
- Job store
backend/src/main/java/com/smartasspdf/api/JobStore.java - File cleanup
backend/src/main/java/com/smartasspdf/api/FileCleanupService.java - Processed files
Other components
- User
Connections 19
- User → Tool pages: selects tool
- Tool pages → Tool interface: opens tool
- Tool interface → Tool controller: submits files
- Scan capture → Tool interface: provides captures
- Tool configuration → Tool interface: configures tools
- Tool controller → Job store: creates job
- Tool controller → PDF processing: dispatches processing
- PDF processing → PDF operations: handles PDF tasks
- PDF processing → Format conversions: handles conversions
- PDF processing → Image processing: handles images
- PDF processing → Python converter: invokes converter
- Python converter → OCR and repair: performs OCR and repair
- Python converter → Compare and secure: performs integrity tasks
- Tool controller → Job store: records status
- Tool controller → Processed files: marks result ready
- Tool controller → Job store: looks up download
- Tool controller → Processed files: serves download
- Tool interface → Tool controller: requests download
- File cleanup → Job store: expires jobs