easyPDF SDK Usermanual
PDF Creator Programming API  |  Download Free Trial  |  Contact Us to Purchase

ProcessPooling Property

Gets/Sets the flag to indicate whether process pooling is enabled.




This property defaults to True, which means process pooling is enabled unless it is explicitly turned off.

OpenOfficePrintJob works by automating the OpenOffice application. This involves launching an OpenOffice process, followed by performing a PDF conversion. When pooling is enabled, the OpenOffice instances keep running even after they have finished the conversion. When the next conversion takes place, it can be started immediately, without having to wait for OpenOffice to launch again. Pooling significantly enhances the performance when multiple conversions are performed in a row, as launching OpenOffice takes a lot more time than converting a simple document. It is still necessary to re-launch the processes every once in a while, to address any potential memory leaks inside the OpenOffice application, but this is handled automatically by OpenOfficePrintJob. In addition, when easyPDF SDK itself is not used for a while, the COM object gets unloaded, which causes any idling OpenOffice instances to quit.

On the other hand, when pooling is disabled, a fresh OpenOffice application instance is guaranteed to be launched for each individual conversion, after which OpenOffice quits immediately.

When performance is a concern, it is suggested to leave process pooling enabled (ProcessPooling = True).

When the highest possible reliability is required, feel free to turn pooling off (ProcessPooling = False). This guarantees that each conversion occurs inside a fresh new instance of OpenOffice, although this adds a few more seconds to each PrintOut call. Also turn off pooling when you want to make sure that OpenOffice does not stay in the memory, because it consumes a lot of RAM, even while idling.

Process pooling is controlled for each individual Printer object independently. If you wish to disable pooling, you must do so explicitly before the first PrintOut call occurs.

Example Usage

Set oPrinter = CreateObject("easyPDF.Printer.8")
Set oPrintJob = oPrinter.OpenOfficePrintJob

oPrintJob.ProcessPooling = False

oPrintJob.PrintOut "C:\test\input.doc", "C:\test\output.pdf"