How alex-e-o/pdfcraft works
PdfCraft is a cross-platform PDF reader and editor, with desktop, web, and headless CLI entry points. The main user workflow is opening a PDF, viewing and searching it, applying document operations, and saving or exporting the result. Distinct capabilities include page organization, annotations and forms, accessibility, signing and redaction, printing, and automation. The README establishes product capabilities, while sampled source clarifies parts of the desktop and CLI structure; links between many unsampled domain modules are therefore omitted or marked unverified.
Main entry points: lib.rs PDF rendering · app.rs Interactive UI · main.rs Desktop app · canvas.rs Page canvas
Components 22
User interfaces
- Desktop app
apps/pdfcraft/src/main.rs - Interactive UI
crates/ui-egui/src/app.rs - Page canvas
crates/ui-egui/src/canvas.rs - Web app
apps/pdfcraft-web/src/main.rs - Headless CLI
apps/pdfcraft-cli/src/main.rs - Automation tools
crates/automation/src/tools.rs
Document workflow
- Document engine
crates/engine/src/document.rs - PDF rendering
crates/render/src/lib.rs - Text search
crates/render/src/text/search.rs
PDF capabilities
- Page organization
crates/organize/src/lib.rs - Content editing
crates/edit/src/lib.rs - Annotations
crates/annot/src/lib.rs - PDF forms
crates/forms/src/author.rs - Accessibility
crates/a11y/src/lib.rs - Redaction
crates/redact/src/lib.rs - Signatures
crates/sign/src/lib.rs - Printing
crates/print/src/lib.rs
PDF internals
- PDF object model
crates/cos/src/document.rs - PDF standards checks
crates/preflight/src/lib.rs - OCR
crates/ocr/src/lib.rs - PDF optimization
crates/optimize/src/images.rs
Other components
- PDF user
Connections 23
- PDF user → Desktop app: opens PDF
README.md - PDF user → Web app: uses in browser
README.md - PDF user → Headless CLI: runs commands
README.md - Desktop app → Interactive UI: starts interface
- Web app → Interactive UI: starts interface
apps/pdfcraft-web/src/main.rs - Headless CLI → Automation tools: dispatches tools
apps/pdfcraft-cli/src/main.rs - Interactive UI → Page canvas: shows pages
crates/ui-egui/src/app.rs - PDF user → PDF rendering: reads PDF
README.md - PDF user → Text search: searches text
README.md - PDF user → Page organization: organizes pages
README.md - PDF user → Content editing: edits content
- PDF user → Annotations: adds comments
README.md - PDF user → PDF forms: uses forms
README.md - PDF user → Accessibility: checks accessibility
- PDF user → Redaction: redacts content
- PDF user → Signatures: signs documents
- PDF user → Printing: prints documents
- PDF user → PDF standards checks: checks standards
- PDF user → OCR: recognizes text
- PDF user → PDF optimization: optimizes files
- Page canvas → PDF rendering: requests images
- PDF rendering → PDF object model: reads objects
- Text search → PDF rendering: extracts text
crates/render/src/text/search.rs