Modules | Classes
Print Events API

Interfaces and functions required to respond to print events. More...

Modules

 Print Event Handler Parameters
 Parameter interfaces for print event handlers.
 

Classes

struct  IPrintEventHandler2
 An event handler interface for more per-page printing system events. More...
 
struct  IPrintSetEventHandler
 An event handler interface for printing system events related to print sets. More...
 
struct  IPrintDefCreateEventHandler
 An event handler interface for printing system events related to the creation of print definitions. More...
 

Detailed Description

Interfaces and functions required to respond to print events.

See also Event Handling.

A simple print event handler is one that performs an action on either a "begin page" or "end page" print event. An application that performs basic print logging for accounting purposes is a good example.

An advanced print event handler is one that requires notifications for print events beyond "begin page" or "end page" and/or performs any type of print resymbolization.

Simple print event handlers do not need to "#include <Mstn/Plot/PlotApi.h>" or link with any printing system libraries. "#include <Mstn/IEvent.h>" is all that is normally required. The handler is registered using MstnEventManager::AddPrintEventHandler.

Implementation and registration of an advanced print event handler is performed the same as a simple handler. In addition, the advanced handler implements one or more of IPrintEventHandler2, IPrintSetEventHandler, and/or IPrintDefCreateEventHandler.

It is important to keep in mind that due to the print worker process, events in the IPrintSetEventHandler interface are called in a different process than those in IPrintEventHandler. The handler cannot share any data between methods in those interfaces unless it sets up a private inter-process communication channel. The handler loaded into the worker process is subject to being unloaded and reloaded as the worker process is terminated and restarted during print set processing.


Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.