PDF Generation & Export
Phase Plan PDF Generation & Sharing
Every phase plan document can be exported as a professionally formatted PDF. NexusRMS uses Browsershot (headless Chrome via Puppeteer) to render high-fidelity PDFs that match the on-screen layout precisely — including tables, checklists, and embedded QR codes.
Document Structure
The generated PDF follows a standardised 20-page structure:
- Project header and company details
- Project details (dates, venue, client information)
- Project team table (roles and contact details)
- Show agenda timeline
- Project management details (all free-text sections)
- PPE requirements grid
- Emergency procedures
- Common hazards checklist (populated from the hazard library)
- Safe systems of work checklist
- Sequence of works
- Risk assessment matrix
- Crew induction sign-off section with embedded QR code
Company details — including name, address, phone number, email, and logo — are pulled automatically from the tenant configuration. The Blade template used for rendering is located at resources/views/templates/phase-planning/default.blade.php.
Storage & Versioning
Generated PDFs are stored at storage/app/phase_plans/{document_number}_v{version}_{date}.pdf. Each time a PDF is generated, the pdf_version increments to track which iteration of the document was exported.
The system automatically regenerates the PDF when any of these conditions are met:
- No PDF file exists for the document
- The PDF version is behind the current document version
- The physical PDF file is missing from disk storage
QR Code Embedding
The crew induction QR code is embedded directly into the PDF as an SVG element. This ensures the QR code remains crisp and scannable at any print resolution. Crew members can scan the printed QR code to open the digital induction sign-off page on their mobile device.
Available Actions
| Action | Method | Behaviour |
|---|---|---|
| Generate PDF | POST | Triggers asynchronous PDF generation in the background |
| Download PDF | GET | Auto-generates if missing or outdated, then returns the file as a download |
| View PDF | GET | Renders the PDF in an iframe with a toolbar for regenerate, download, print, and send |
| Stream PDF | GET | Returns inline binary content for iframe embedding, cache-busted with a timestamp query parameter |
| Send PDF | POST | Opens the SendPhasePlanDialog to email the PDF to client contacts |
Printing
The Print action opens the PDF in a new browser window and automatically triggers the browser's native print dialogue. This allows crew managers to produce physical copies for on-site use where digital access may be limited.
Sending via Email
The Send PDF action opens the SendPhasePlanDialog, which allows you to select one or more client contacts as recipients. The PDF is attached to the email alongside a customisable message. This is the recommended way to share finalised phase plans with clients, venues, and external stakeholders.
Was this article helpful?