In some situations it is required to change printer settings like the file format, the output directory, the name of the generated image file, add password to the PDF document etc., based on the document that is currently being printed. i.e. if the name of the document contains the word “Invoice" then we could generate a TIFF file in the c:\Invoice directory. If the name of the document contains “Report" we could save the generated document in PDF format into the C:\Report directory.
To provide a simple, automated solution for this problem, Black Ice Software created a Plug-In module “BiPlugin” for the printer drivers that allow developers to create applications that directly interface with the printing process at “real time” and can modify the printer parameters depending on the document that is currently printed. The mechanism allows an application to change printer settings "on the fly" even page to page while the document is being printed and this way providing complete control over the printing process.
Black Ice Software printer drivers include Plug-In support which is accessed through a dynamic linked library (BiPlugIn.Dll), and is loaded by the printer driver during printing. The printer driver calls pre-defined functions from the Plug-in at each phase of printing and will not continue printing until the function returns. Developers have full access to the DLL and can insert their own custom code to each DLL function to perform a variety of tasks as required by their application.