Skip to main content
Skip table of contents

ScreenPro Windows Developer Guide


ScreenPro contains the following components:

  • ScreenPro.dll
  • ScreenPro.lib (for static linking)
  • ScreenPro.h (API header file)
  • Sample screens

This document aims to describe these components and how to use them within a custom application.

This documentation applies to ScreenPro v3.1.0. If you encounter differences with an older version you are using, and do not have the documentation originally released with it in PDF format, please contact us at

ScreenPro DLL

The ScreenPro DLL (ScreenPro.dll) exposes a low-level C API that allows application developers to add ScreenPro screening to their applications and workflows.

The default path for the ScreenPro DLL is:

            C:\Program Files\ScreenPro\toolkit\lib\ScreenPro.dll

The header by default is at:

            C:\Program Files\ScreenPro\toolkit\include

The following header is required to use the ScreenPro DLL:


which contains the low-level C API for ScreenPro.

To run ScreenPro.dll, install the VC runtimes.


The ScreenPro DLL builds using the following:

  • X64, Visual Studio 2017 compiler
  • Statically compiled VC runtimes - /MT

At runtime, .libeay32.dll must be in the same directory as the ScreenPro DLL.

Using in Visual Studio

To use the library in Visual Studio, first reference the header file in the export folder. Do this in one of two ways. Either:

  1. Add the path to the header file at the top of your source file, for example:

#include “/path/to/ScreenPro.h” OR

2. Add the export folder to the additional includes directory in the Visual Studio project and reference the header file in the same manner (without the relative path).

Finally, to enable you to call the APIs defined in the ScreenPro.h file, link to the import library ScreenPro.lib, which is found alongside the ScreenPro.dll

Add this library to your Additional Dependencies in your Visual Studio properties at:

Properties > Configuration Properties > Linker > Input > Additional Dependencies

Alternatively, to use the ScreenPro.dll library directly without the use of header or linking import libraries, use the Win32 API LoadLibrary(…) and GetProcAddress(…) functions, which load the ScreenPro.dll library and call functions as appropriate. For more details see the following documents:


Each header file contains an extensive set of documentation, which details the API's functionality and structures.

An example implementation

The following illustrates how to use the ScreenPro.dll in a screening application:

  1. Start the ScreenPro engine.


    This step initiates the ScreenPro engine and validates licenses as appropriate. You can also hook an IO handler in this API to handle more complex IO (for example, filenames in UTF16 encoding, or in-memory screen data).

  2. Screening. This step performs the main screening functionality. It should be run by each thread.

    Screen the image based on the given ScreenSet folder, which carries out the main screening function:


  3. Shut down ScreenPro. This step shuts down the ScreenPro engine and frees all reserved resources.


For more detailed API documentation, please see the file ScreenPro.chm in your installation directory.


The following input is accepted:

TIFF (Single channel, continuous tone, eight or 16 bits per pixel respectively).


The following output is created:

TIFF (Preview quality, single channel, screened, eight bits per pixel, compressed).


ScreenPro is supplied with sample screens featuring 1, 2, 3, and 4 droplet sizes. See your technical representative for more details.

Sample application

To demonstrate DLL usage, the link below contains a sample program:

The sample application only supports the Latin character set for filenames and screens, which is a constraint of the sample application only. The ScreenPro DLL fully supports WCHAR in the API via a flexible IO handler hook.

Command-line arguments

The command-line arguments follow:

ScreenProDll.Example.exe <ScreenPath> <Channel> <XOffset> <YOffset> <TIFF input file>      

where: <XOffset> and <YOffset> are only supported for chameleon or mirrorpearl



Full path to the resultant screened .tiff file


Full path to the screen folder.


Optional channel index to use for screening (defaults to 0).

Cyan: 0, Magenta: 1, Yellow: 2, Black: 3


Optional X-Offset value for screening with "Chameleon" or "MirrorPearl" (defaults to 0).


Optional Y-Offset value for screening with "Chameleon" or "MirrorPearl" (defaults to 0).

<input path>

Full path to the .tiff file (8bpp or 16bpp, single-channel) to be screened.

OEM licensing

When developing a solution using the ScreenPro SDK, the developer is responsible for security. We provide a mechanism that requires populating for you to use the API, but ultimately other than the license and password that we supply to you, you can customize and enter the remaining parameters.

Use the C Struct ScreenProPermit structure to communicate the required licensing information, which enables us to sufficiently restrict the API's use.

        ScreenProPermit permit =
         nullptr,  // Replace with license key.
         nullptr,  // Replace with password.
         0,        // Replace with number of output boards.
         nullptr,  // Replace with OEMId

The OEM ID is only required when using PrintFlat calibrations and/or NozzleOut compensation functionality.

Copyright © 2021 Global Graphics Software Ltd. All Rights Reserved.

Global Graphics Software Ltd
2nd Floor, Building 2030
Cambourne Business Park
Cambourne, Cambridge
Tel: +44 (0)1954 283100

Global Graphics KK
610 AIOS Nagatacho Bldg.
2-17-17 Nagatacho, Chiyoda-ku,
Tokyo 100-0014
Tel: +81-3-6273-3198

Harlequin, the Harlequin logo, Harlequin RIP, Harlequin ScreenPro are trademarks of Global Graphics Software Limited, which may be registered in certain jurisdictions. Global Graphics Software is a registered trademark of Global Graphics SE. All other brand and product names are the registered trademarks or trademarks of their respective owners. Global Graphics makes no warranty and accepts no liability.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.