If you do not wish a novaPDF printer visible in the Printers list, you could use this approach:
When customizing your installer, do not add a printer (see Customize your setup)
What this means is that only the novaPDF printer driver and the COM are installed, but no printer is added in the Printers list.
In your application code, when you want to use novaPDF to convert to PDF:
- first call AddNovaPrinter to add a temporary printer
- set the printer options using the SetOptionXXX methods
- print a document, or several documents to generate PDF files
- delete the temporary printer with DeleteNovaPrinter
You may call the AddNovaPrinter and DeleteNovaPrinter several times, the only restriction is to call it in pair so you do not leave unused printers in the printers list.
When deleting a printer there might happen that the jobs are not all processed yet and there are still jobs in the printer queue. If you wish those PDF file to be generated, then is better to wait for the PDF to be finished before deleting the printer. It is recommended to use the event methods we provide (How to use events).
If you wish to install novaPDF printer on a server and share it in the network, then a printer has to be added at installation time on the server, or the AddNovaPrinter and DeleteNovaPrinter must be called from an application running on server. This solution works on client computers by adding a printer connection to the printer on server instead of adding a local printer. So in this situation these are the changes:
- the installer must be run on the server normally, installing a printer there
- the application code is the same, only the printer name must contain the server path, like this: \\<server name>\<printer name>, where the <printer name> printer must exist on server
On some operating systems you need administrative rights to add/delete a printer. Below you can see a list of operating systems supported by novaPDF, and what type of user accounts are working:
|Windows 2003 Server||yes||no||no|
|Windows 2008 Server||yes||no||no|
|Windows 2012 Server||yes||no||no|