The tools and samples included in the Resource Toolkit will help in the following areas:
Printer Driver User Interface Customization
Programmatically Change Printer Settings
Programmatically Control and Query Print Jobs
Integrate The Printer Driver Into An Application
Features and Technologies Available with Black Ice Products Only
NOTE: The following samples are not include in the DEMO version of the Printer Driver Resource Toolkit:
- The Printer Driver install samples.
- The following sample source codes:
-
- Auto-print
- BatchConverter
- PrintJobControl
- E-Mail Add-on
- Print2FTP
Printer Driver User Interface Customization.
Installation Samples. (Not available in DEMO)
The Resource Toolkit includes an InstallShield , MSI , Visual Basic & VB.NET 8.0 sample projects which install and configure the Black Ice printer driver. The installation sample projects are provided as starting points for creating user specific printer driver installations.
Additionally, the documentation included in the Resource Toolkit contains detailed information on how to install the Black Ice printer driver with a single function call using installation packages other than Install Shield (packages like Wise and Microsoft Installer). Full source code for both an install and an uninstall DLL are also included. These DLLs implement every required function necessary to install and remove a printer driver. The Black Ice printer drivers can be installed or uninstalled using a single function call from the appropriate DLL.
Multiple Instances of the Black Ice printer drivers can be installed on a single system, allowing for increased file processing.
Programmatically Change Printer Settings.
The samples were built with Visual C++ 2005, Visual Basic 2005, Visual Studio .NET and Delphi 5.

Programmatically Control and Query Print Jobs(Source code not available in DEMO)
The Print Job Control functionality included in the Resource Toolkit contains features like pausing, restarting and deleting print jobs. Developers can get a list of the current print jobs, then pause or delete any print jobs they need to control. Developers can also query the total number of print jobs for the specified printer and the status of each specified job to see if the job is printing, paused, etc.
- the name of the machine that created the print job
- the name of the user that owns the print job
- the name of the print job ( the document name, for example, "MS-WORD: Review.doc")
- the job’s priority
- the job's position in the print queue
- total number of pages in the document
- the number of pages that have printed
- the time the job was submitted
Programmatically Print Files.
Auto-print(Source code not available in DEMO)
Batch Converter(Source code not available in DEMO)
Integrate the Printer Driver Into an Application.
The printer driver can communicate with the application in a number of ways:
the application can capture printer driver messages sent by the printer driver's messaging interface
the application can check the content of the group file generated by the printer driver
the printer driver can start the application and pass command line parameters
For additional information about printer driver integration, please click on the links above.
Features and Technologies Available with Black Ice Products Only
Additional Samples Provided
Web based Document Conversion (HTML, ASP)
- Demonstrates how to print to the Black Ice printer drivers using ASP, for web based printing. This sample uses Print Wrapper OCX (C++, VB sample provided) but other programming techniques can be used too (e.g. services).
Print Wrapper ASP (C++, VB)
- Used by the This OCX handles capturing the messages using the Black Ice messaging Interface.
Auto-print (.NET C#, .NET VB, C++, Delphi, VB)(Source code not available in DEMO)
- Shows how to implement applications capable of Auto-printing. These simple but powerful samples can help developers build applications that can print out MS Office documents such as Word, Excel, Power Point, Visio, AutoCAD, HTML files and Adobe PDF files without any user intervention.
BatchConverter (C++)(Source code not available in DEMO)
- Shows how to implement applications capable of Auto-printing. These simple but powerful samples can help developers build applications that can print out MS Office documents such as Word, Excel, Power Point, Visio, AutoCAD, HTML files and Adobe PDF files without any user intervention.
Print2FTP (.NET J#,.NET C#, .NET VB, C++, Delphi, VB) (Source code not available in DEMO)
- Transfers printed images to a specified FTP server. The application starts after printing in finished, and will then copy all printed images to the FTP server.
E-mail Add-on (.NET C#, .NET VB, C++, Delphi, VB) (Source code not available in DEMO)
- Helps you to send printed images in emails easily. After printing, a sample application will be started and the user can input the recipients email address.
Print Job Control (C++, VB) (Source code not available in DEMO)
- Demonstrates how to control print jobs once they are put into the spooler.
Setup Redirect Printing (.NET C#, .NET VB, C++, VB, Delphi)
- Redirect printing sample shows how to setup Black Ice Printer Driver to redirect printing to an additional physical printer.
Text Converter - Form Reconstruction (C++)
- Black Ice Printer Drivers can extract the text information from the printed documents and save it into a separate text file. The information stored in the text file can be used to create or reconstruct forms. The Text file converter sample shows how to rebuild an invoice from the generated text file by using a background image as a form template.
Change Printer Settings (.NET C#, .NET J#, .NET VB, C++, Delphi, VB)
- This sample demonstrates how to change printer driver settings programmatically without built-in printing preferences, e.g. when printer settings needs to be changed from an other application custom user interface.
BiPlugIn (C++)
- This sample DLL demonstrates how to implement custom DLL to create real-time printer hook.
BiPluginTestApp (C++)
- Demonstrates the working of the BiPlugIn DLL without document printing. This sample can be used for testing your custom BiPlugIn DLL.
OutputFilename (.NET C#, .NET J#, .NET VB, C++, Delphi)
- The OutputFileName sample will show how to get the name of the output images from the group file.
Restrict Printing (.NET C#,.NET VB, C++, Delphi, VB)
- The Black Ice printer drivers include a feature which allows the driver to refuse any print jobs other than those coming from the developer’s printing application. The restriction is made using a password.
SaveAsDialog (.NET C#,.NET VB, C++, Delphi, VB)
- The printer driver supports 7 different file name generation methods. However, sometimes the output files (images) need to be saved to different folders using different filenames.
UseDocumentName (.NET C#,.NET VB, C++, Delphi, VB)
- After printing, this application will convert the selected items name to the original (before printing).
Message Capture (. NETJ#, .NET VB, .NET C#, VB, C++, Delphi)
- Demonstrates how to capture the printer driver messages sent at every StartDoc, StartPage, EndDoc, EndPage.
Message Capture Without a Form (VB)
- Demonstrates how to capture the printer driver messages without any dialog.
Print to Memory (Memory Image Sample) (C++)
- Demonstrates how to handle printed images generated in the memory.
Pipe Message Capture (C++)
- Demonstrates how to capture the printer driver messages using Windows Pipes.
Message Capture Service (C++)
- Demonstrates how to capture the printer driver messages, using a service, sent at every StartDoc, StartPage, EndDoc, EndPage.
INI File Generator (C++)
- Demonstrates how to easily create an INI file to be used by the Black Ice printer driver installation.
Replace User Settings (.NET VB, .NET C#, VB, C++, Delphi)
- Demonstrates how to reset the printer settings programmatically.