Physical Print Job Processor

The first processor of the Service Alberta Delivery Agent is the physical print job processor. This processor will run with a frequency of near-real time, which allows the processor to pick up document order items that have reached the “Ready to Delivery” status and prepare them for physical printing by applying an overlay of required elements to the PDF created by the Document Processor.

The Physical Print Job Processor provides a number of functions:

  • Deletes old print jobs based on a configurable “number of days” setting
  • Creates Delivery PDFs
  • Manages Large Document Exceptions for Order Items with Delivery Method of “Automated Mail”
    • Determines if the document needs to be manually stuffed in the envelope. Due to automated stuffer limitations, order items with too many pages of output may exceed the stuffer capacity.
    • Determines if the document needs to be manually stuffed in the envelope due to multiple copies.
      • Calculates the number of pages that will result from the PDF for the processing order item (multiplies number of pages by the number of copies) and compares the total calculated to the page stuffing limit. If the stuffing limit is exceeded, it changes the delivery method to “Manual Insert”.
  • Collects Delivery PDFs into Print Jobs based on Document Type, Language and Delivery Method
  • Creates a Printer Instruction Sheet for each Print Job
  • Creates single merged document for each print job, when it is time to release the print job based on time schedules or when the print job has reached a maximum size

The following diagram describes the functions of the Physical Print Job Processor.


Counts by Country Group

As part of the overlay, documents receive sequence numbers based on the destination address such that all documents that are destined for the same envelope receive the same sequence number. Documents can be sent to locations in Canada, United States or International and depending on the destination country, different postage will apply. For documents mailed by Service Alberta, a requirement exists for the print job’s provided documentation to identify the number of envelopes mailed by each of these three categories: Canada / United States / International. Service Alberta uses this information to submit the postage requirements to Canada Post.

Student Records and Service Alberta also use this information to assist in the reconciliation of shipping and financial billing.

Business Requirement Background:

  • Based on the current paper choice and the current stuffer specifications at Service Alberta, a limit in place of 5 pages per envelope is enforced by PASI
  • Canada Post offers Service Alberta a standard price per country group (Canada, United States or International) for the 5 page envelope
    • Note: A single rate is offered for all international regardless of country.
  • If Service Alberta hand-stuffs a larger envelope with more pages, they must compensate for those counts on their own (external to PASI)

Each printed document is overlaid with a sequence number. The sequence number given represents the envelope contents for a physical delivery. (ie. When multiple documents, such as multiple copies are destined for the same delivery address, and can physically fit in the same envelope, they are given the same sequence number). Therefore, the last sequence number represents the total number of envelopes expected for the print job.

An “envelope” count (count of all unique sequence #’s) breakdown by the destination country is included in the Printer Instruction Sheet and Print Job Notification Email emails.

For the purposes of determining which of the three groups an envelope is counted in, the system uses the following country names:

  • Canada - See PASI Data Format Guidelines for all accepted Canada country name variants.
  • United States - See PASI Data Format Guidelines for all accepted USA country name variants.
  • All other country names are grouped as International.

Paper Stock

This information defines (names) the different types of paper that we can print to. This information is embedded in the application in a file called paperstock.xml. The definition includes the code and description. The following outlines the Description that should be used based on the paperstock code related to the document order item being printed.

Paper Stock CodePaper Stock Description

A web configuration setting predetermines the number of documents to be included in a print job, to ensure that the job is not too large for transmission or would take too long to process at the printer prior to being actually printed. (Length of processing time is known as “RIP” time.)

Production and UAT environments currently set the number of documents in a print job to 1000 documents, which requires the Physical Print Job Processor to use a third party tool, PDF Toolkit (For more details see the technical documentation: [Printing Implementation-http://engage/pasi/team/Official Documents/Technical Documents/Printing Implementation.docx], and the following settings: Core.MaximumDocumentsPerPrintJob and Core.UsePdfToolboxForPrintJobs).

Large Document Management

When the Physical Print Job Processor is ready to add the document to the print job, it will complete the following tasks:

  • Recalculate the number of pages for documents that require more than one copy to be printed.
    • For a Transcript, when multiple copies are required, the PDF created from the Document Processor is replicated to produce multiple copies
    • For a Credential, when multiple copies are required, only the Credential Document itself is replicated to produce multiple copies – only a single cover letter will be printed regardless of the number of copies. The cover letter should always be the first page.
  • Set the Document Order Item Delivery Method to “Manual Insert” on the document order item where the following criteria are true:
    • Document order item has Number of Copies > 1 ;
    • AND the Document Order Item Delivery Method is “Automated Mail” ;
    • AND the total number of pages required for all copies of that document exceed the stuffing capacity

This will allow the printing processes to segregate these order items, in a separate print job, from the “Automated Mail”, and Student Records will be tasked with manually stuffing that transcript into a different, larger envelope.

The stuffing limit is maintained in a configuration file along with other adjustable parameters for printing. The configuration technical document, Printing Implementation, is located http://engage/pasi/team/Official Documents/Technical Documents/Printing Implementation.docx.

Detecting File System Availability

Whenever a print job is created there is a check to see if the file system is up. This involves writing to a file called fsupcheck.txt in the root folder where print job folders reside. This file is created if it does not exist and overwritten if it does exist. The contents of the file are as follows:

2018-02-09 15-55-06 file system appears up from D-412210

The current date/time and machine name are written to the file. This file is updated whenever a new print job is created. If the file system is down at the time an exception would be thrown and the print job processor would bail and try again 15 minutes later (when it is scheduled)