This section describes the filter APIs that are called at the time a communication channel with a PostScript output device is established and during the emission of the PostScript data into the communication channel. A filter has control over the layout and look of the contents of the panel within the area between the panel popup menu and the line above the buttons at the bottom of the dialog. To avoid conflicts between filters, the user interface code requires each filter to have a unique 4-byte signature. The SectionReport filter provided in the Sample Code portion of this document generates a report of the PSPosition info data generated as part of each print job. The filter handles the user interaction with its controls and saves its configuration into the print job data that is passed to it when it is filtering PostScript data.

Uploader: Kazrazuru
Date Added: 17 February 2012
File Size: 33.1 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 87533
Price: Free* [*Free Regsitration Required]

Note that the type referred to here is not the Finder type but the field of the kPluginResourceInfoType resource.

The laserrwriter LaserWriter driver version that a filter requires. If the user clicks on the Save Settings button at the bottom left of the dialog, the filter saves its current settings as part of the default settings for that printer.

The remainder of this document refers to PostScript output filters as “filters” or “plug-ins. At this point, a filter’s psOutputFilterPreFlight routine is called to allow a filter to initialize itself. The data if any pointed to by the info value coincides with the data being written to the output stream.

Modifying this print record will generate unpredictable results. Panel-specific routines that are called when a panel becomes visible or was visible and goes away: The LaserWriter 8 Print Dialog code calls psPanelSaveButton when the user hits the Save Settings button in the Print Dialog to save the current settings as the new default settings for the current printer.


PostScript Output Filters for LaserWriter

In addition to filtering the PostScript output data stream, a filter can also present a user interface in the LaserWriter 8 Print Dialog for configuring the filter’s print job parameters. LaserWriter 8 uses these resources to display information about a filter when the user clicks on the small button corresponding to the filter in the Plug-In Preferences panel.

It is most likely that a filter would use the PSPosition data passed to the psOutputFilterWrite routine to determine what the data is; however, a filter is free to parse the data passed in, should that be appropriate to a filter’s function.

When one or more filters is installed, the LaserWriter 8. The simplest one is to weak link to the “LaserWriter8. The sample code provided with this technote demonstrates the way to store settings in the user interface code and how to extract them at filter output execution time. A more complex approach to this issue is to satisfy the link to LW8UILib manually and do the symbol resolution for the needed routine or routines using FindSymbol.

This section describes the User Interface portion of a filter’s API and relates only to the filter’s execution while the Print Dialog box is displayed to the user.

A plug-in filter can inspect the current panel settings and alert the user if laserwditer settings are out of the acceptable range, then halt any of the events which caused psPanelCheckRange to be called. At run time a filter should check that the weak link was satisfied and the symbol is defined.

These routines allow a filter to set the user interface items in a panel to reflect the underlying data settings. This portion of the API consists of three routines, each of which corresponds to a phase of the communication channel’s activity.


If the link to this library is not weak, the filter cannot be loaded at PostScript output time and the filter will never filter any output. This job collection may not include all job settings since the Print Dialog code does not necessarily update the job collection to reflect the current settings lsserwriter the user laaserwriter until the Print Dialog is dismissed. It is not a required routine, although most filters will implement and export this routine.

Returning an error from psOutputFilterPreFlight does not affect the print job or any other filters; it just ensures that a filter does not run. The info field is either a NULL pointer or a pointer to data whose type laserweiter specified for the PSSubsection value in the subsection field. A filter can have a user interface in the Print Dialog for controlling its settings. A single file can contain multiple plug-in libraries.

They are not called during filter output execution.

Laserwriter 8.7 Download

The order of the filters in this panel can be altered by dragging the “gripper” at the left of the filter name. The sample code provided with this technote supplies this resource. As described earlier, filter plug-ins for LaserWriter 8.

The PostScript data generated by the Download Manager and its plug-ins can differ significantly from that generated by LaserWriter 8 for standard print jobs. The col collection parameter may or may not contain any specific collection item.

Laserwriiter the filter does not contain this resource, it cannot be used and is ignored.

The file is autorouted to the “Printing Plug-ins” folder in the “Extensions” folder.