How is a PDF Rendered and Printed in e-PlanREVIEW®?
This page covers PDF rendering of incoming files, PDF printing of outgoing files, and the sheet number capture pipeline.
PDF Rendering
Any PDF file uploaded to e-PlanREVIEW (EPR) for plan review undergoes several processing steps behind the scenes so that the file, its data, and the images created from the file are available for use by review staff. This is true for any non-attachment file, regardless of whether it was uploaded directly to EPR, received through goPost™️, or sent from any other integrated partner system.
The Rendering Process
This process takes the multipage PDF document and splits it into individual pages, fixes each page by flattening them down, and then renders multiple images for each page.
Optical Character Recognition (OCR) technology then determines a sheet number for each page before all of this information is sent to the database microservice and then returned to the EPR database for retention. Separately, all images created from this process are stored securely in S3 cloud storage.
Process | Description | Primary CLI Program | Optional CLI Program(s) |
---|---|---|---|
PDF Split | Splits multipage PDF into individual pages. | PDFtk | qpdf |
PDF Fix | Flattens PDF page. | Ghostscript |
|
PDF Render | Renders multiple images based on the PDF page: high-quality review page image (Render Review Image), thumbnail image (Render Thumbnail), and OCR capture area image (Render OCR Image). | Ghostscript |
|
OCR Capture | Captures page’s sheet number. | Amazon Rekognition |
|
Why Is Rendering Necessary?
The rendering process is necessary because it:
Enables EPR’s Review page to display PDF file images for plan review and markup
Allows for documents to be previewed (as thumbnails) across several EPR pages
Automatically captures existing sheet number data wherever possible to display and to assist with partial submittal and page matching (when enabled)
PDF Printing
The PDF Printing process is triggered whenever a user wants to export a PDF file from EPR, usually through a request to generate a deliverable package. However, this same process triggers whenever a user clicks the Printer Preview ( ) tool on the review page.
The process gets its name as a result of creating a PDF through a ‘Print to PDF’ method, not because it sends a file to a physical printer.
The Printing Process
This process gathers every individual PDF document page, across every linked submittal, along with any existing markups for those pages and merges them to create a comprehensive multi-page PDF document for the recipient to download either directly or as part of a zipped deliverable package.
Process | Description | Primary CLI Program | Optional CLI Program(s) |
---|---|---|---|
EPR backend | Gathers document, versioning, and markup data for document file to be printed to PDF. |
|
|
PDF Merge Microservice | Merges the latest version of each individual PDF page into a single multi-page document. | pdftk |
|
Printer | Produces a PDF file complete with all unique pages across submittal versions that displays any “Open” markups resulting from plan review. | Hummus-Recipe (npm) |
|
Zipping Microservice | Inserts one or more created PDF files into a zip folder package that can be downloaded and unzipped by recipient to collect all included files. |
|
|
Handling Sheet Numbers
The following is a technical breakdown of the pipeline used for extracting sheet number values from a document page. For a nontechnical breakdown, see Partial Submittal and Sheet Numbers.