Created Date: Nov 17, 2020 09:35
Last Modifed Date: Nov 17, 2020 09:35


ScreenPro Linux contains the following additional developer components:

  • ScreenPro API header file
  • ScreenPro.Example source code and sample screens

This document will aim to describe these components and how they can be used within a custom application.

ScreenPro Library

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

Make sure these files are in the root of the ScreenProDll.example directory

The default path for the is:


The header by default is found at:


The following header header is required to use the ScreenPro Library.

  • ScreenPro.h  
    • Contains the low-level C API for ScreenPro.


The following packages are required to build the sample application:

  • gcc
  • g++
  • make
  • libtiff5-dev
  • libexpat1-dev

All can be installed on Ubuntu 14.04 LTS (64 Bit) and above using the following command:

sudo apt-get install <module name>

Where <module name> is taken from the above list.

Using in Sample Application

The sample application can be found at the following location:


Edit the MakeFile and confirm that the CC: flag equals gcc

1. ELF:=ScreenProExample
2. CC:=gcc
3. CFLAGS:= -g -fPIC -fpermissive
4. LINKFLAGS:= -rdynamic -ldl -1m

Edit ScreenProDll.Example.cpp to add the password and license on lines 420 and 421 respectively supplied by Global Graphics.

// Load ScreenPro library and retrieve all exports
void* libHandle = getFunctionsPointers();
	printf("It gets here before there");
 ScreenProPermit permit =
 {   const_cast<char*>("Enter License Here"), // Replace with license key if you have one.
     const_cast<char*>("Password Here"), // Replace with password if you have one.
     1,        // Replace with number of outboard boards if you wish.
     nullptr,  // Replace with OEM Id for PrintFlat if you have one.
     nullptr,  // Replace with expiry date for PrintFlat if you have one. The format is "yyyymmdd" format.

Also, go to the top of the document and make sure the dlopen parameter, where you enter the location of the file, is correct.

-#ifdef _WIN32
     return static_cast<void*>(LoadLibraryA("ScreenPro.dll"));
     void *f = dlopen("./", RTLD_NOW);
     if ( f == NULL )
         fprintf(stderr, "dlopen() failed: %s\n", dlerror());
     return f;

To build the example, open up a terminal inside the directory where the makefile is and type make.

Ensure that the LD_LIBRARY_PATH is set correctly to include the location of the

for example,


Command Line

Before you run the following command, make sure the .tif file used for screening is in the root of the ScreenProDll.Example directory:

./ScreenProExample <ScreenPath> <Channel> <XOffset> <YOffset> <TIFF input file>



Full path to the screen directory


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


X tile offset value (used for chameleon or mirrorpearl only)


Y tile offset value (used for chameleon or mirrorpearl only)

<TIFF input file>

The tiff file to screen in color separated 8bit contone

for example:

./ScreenProExample Screens/1drop_mirror_example 0 0 0 jobname_1_cyan.tif
./ScreenProExample Screens/1drop_pearl_example 3 8 15 jobname_1_black.tif


An extensive set of documentation is found in the header file, detailing the functionality of the API and structures.

ScreenPro API Example Application

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

Global Graphics Software Inc
5996 Clark Center Avenue
SarasotaFL 34238
United States of America
Tel: +1 (941) 925-1303

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.