Technote 1166LaserWriter 8.6.5 Job Log FormatBy Ingrid KellyApple Worldwide Developer Technical Support |
CONTENTS | LaserWriter 8.6.5 provides the option of creating a job log that contains a description of the job's settings, including a summary of the fonts used in the job. This Technote describes the job log format for individuals who wish to use the job log to solve various prepress printing issues. |
lines -> | lines line |
lines -> | line |
line -> | command |
line -> | assignment |
command -> | WORD WORD |
assignment -> | WORD : value |
value -> | STRING | NUMBER | boolean | NULL |
boolean -> | TRUE | FALSE |
WORD: | |
STRING: | |
NUMBER: | |
NULL | |
TRUE -> | true |
FALSE -> | false |
LogCreated String | When the log was created. |
GeneralInfo Dictionary | Information about the user, application, and driver that created the job. |
PrinterConfiguration Dictionary | Information about the printer targeted for the job. |
JobInfo Dictionary | Information about the print jobs parameters. |
FontLog Dictionary | Information about the fonts used in the document. |
DocumentTitle String | The title of the document that was printed. |
User String | The user who printed the document. |
Application String | The application string from low memory; uses LMGetCurApName() |
PostScriptApplication | Boolean false means the application generated only QuickDraw. True means the application generated some PostScript directly. |
BadApp Number | A bit map describing the drivers special handling for the printing application. |
DriverName String | |
DriverVersion String |
Prepress houses may want to create a job log reader to parse for information relevant to their business. A job log reader should maintain a stack of dictionaries. The dictionary stack's top dictionary is the current dictionary, and assignment statements add values to the current dictionary. A job log reader should define an empty dictionary and place it on the dictionary stack before reading the first line from the job log. The When an assignment line is read, it contains a key and a value. The job log reader must look up the key in the current dictionary. If the key exists in the dictionary, the reader should obtain the array associated with the key. The reader should then extend the array by adding the value from the assignment log to the end of the array. If the key is not found in the dictionary, the reader needs to create a one-element array containing the assignment value and add the new array, indexed by the key, to the dictionary. |
As you can see, the job log is a useful new feature added to the LaserWriter 8.6.5 driver. |
Thanks to Thanks to Rich Blanchard and John Blanchard.
Based upon an engineering specification by Rich Blanchard and John Blanchard.