How clawsoftware/clawpdf works
clawPDF is a Windows virtual printer and document-conversion application. Its main user workflow is to print or submit a file, convert it to a selected document or image format, and optionally run post-processing actions such as encryption, emailing, FTP transfer, or scripting. The tree and README support these capability areas, but many implementation files were not sampled; the graph therefore omits uncertain internal calls and treats some subsystem paths as directory-level evidence.
Main entry points: Jobs Job lifecycle · IAction.cs Post-action interface · App.xaml.cs Desktop application · Ghostscript.cs Ghostscript engine
Components 22
Application and jobs
- Desktop application
src/clawPDF/App.xaml.cs - Job lifecycle
src/clawPDF.Core/Jobs - Job factory
src/clawPDF.Core/Jobs/JobFactory.cs
Conversion and output
- Ghostscript engine
src/clawPDF.Core/Ghostscript/Ghostscript.cs - Format output devices
src/clawPDF.Core/Ghostscript/OutputDevices - XPS conversion
src/clawPDF.Core/Xps/XpsConverter.cs - PDF processing
src/PDFProcessor/PDFProcessor.cs
Post-processing
- Post-action interface
src/clawPDF.Core/Actions/IAction.cs - PDF preprocessor
src/clawPDF.Core/Actions/PDFPreprocessor.cs - Encrypt and sign
src/clawPDF.Core/Actions/EncryptAndSignPdfAction.cs - Email actions
src/clawPDF.Core/Actions/EMailClientAction.cs - FTP action
src/clawPDF.Core/Actions/FtpAction.cs - Script action
src/clawPDF.Core/Actions/ScriptAction.cs - Printing action
src/clawPDF.Core/Actions/PrintingAction.cs
Settings and integration
- Profiles and settings
src/clawPDF.Settings/ConversionProfile.cs - Pipe client
src/clawPDF.Utilities/Communication/PipeClient.cs - Email clients
src/clawPDF.Mail/EmailClientFactory.cs
Printer management
- Printer setup helper
src/SetupHelper/Program.cs - Printer driver handler
src/SetupHelper/Driver/PrinterHandler.cs - Network print bridge
src/clawPDF.Bridge/Program.cs
Other components
- Print user
- Windows print spooler
Connections 21
- Print user → Desktop application: submits print job
- Desktop application → Job factory: dispatches startup
- Job factory → Job lifecycle: creates job
- Job lifecycle → Profiles and settings: uses profile
- Job lifecycle → Ghostscript engine: converts document
- Ghostscript engine → Format output devices: selects output format
- Job lifecycle → XPS conversion: converts XPS
- Job lifecycle → PDF preprocessor: prepares PDF
- Job lifecycle → Post-action interface: runs post-actions
- Post-action interface → Encrypt and sign: encrypts or signs
- Post-action interface → Email actions: starts email action
- Email actions → Email clients: creates email client
- Post-action interface → FTP action: transfers output
- Post-action interface → Script action: runs script
- Post-action interface → Printing action: prints output
- PDF processing → Ghostscript engine
- Printer setup helper → Printer driver handler: manages printer driver
- Print user → Windows print spooler: prints to virtual printer
- Windows print spooler → Desktop application: delivers print job
- Network print bridge → Desktop application: launches print process
- Desktop application → Pipe client: communicates over pipe