Skip to main content
Skip table of contents

PrintFlat Inline Developer Documentation


PrintFlat Inline is a developer toolkit for creating PrintFlat calibrations and linearizations.

Principally this is to enable PrintFlat calibrations to be created from inline scanning devices built into OEMs printers.

As GGS is unaware of the scanning equipment in use, it is the OEM's responsibility to determine that the scans used to generating a PrintFlat calibration are of sufficient quality to produce an acceptable quality calibration.

The PrintFlat Inline developer toolkit consists of two components: The client and the server.

PrintFlat Inline client

The client component is a .NET DLL which provides an interface for developers to create calibrations and linearizations, using the server.

PrintFlat Inline server

The server component is a .NET command-line application. When run, the server awaits for connections from the client and runs the process to create calibrations. The server can be on a remote machine to the client.


PrintFlat Inline client

  • .NET 4.6.1 or later
  • x86 or x64

PrintFlat Inline server

  • .NET 4.7.2 or later
  • x64
  • Visual C 2013 Redistributable


The distribution zip contains the following content:

├── client
│   └── lib (Library and dependent DLLs for the client library.)
│   └── examples
│       └── bin (A compiled version of the example code.)
│       └── Program.cs (Example code for using the client.)
└── server
    └── bin (Binaries for the server library.)
    └── prerequisites
        └── vcredist_x64_2013.exe


The examples come in two forms:

  1. A source code file containing example code to use the client library.
  2. A compiled version of the source code.

The compiled version of the source code is a simple command-line application that uses the client library. This command line can be used with the server to create a calibration.

The command line can be found in:



PrintFlat Inline client

The PrintFlat client assemblies can be found in the distribution under:


To use the client, create a new .NET Framework project and reference "PrintFlatInline.dll".

Once referenced, the example code can be used to create a calibration. The example code can be found in the distribution under:


Additional API documentation can be found through Visual Studio while using the client library.


Printer configuration

The printer configuration file (.config) provided to PrintFlat Inline must match the printer configuration used in PrintFlat Create to generate the original target files. If the configuration does not match, the process may fail to complete, or the calibration may not improve printing quality.

In PrintFlat Inline the scanner size must be specified in the config file (this parameter is optional in PrintFlat Create).

The scanner size is set using ScannerSize and valid values are A2, A3, or A4 When set to A2, the ContexTarget*OverrideMm settings can be used to specify custom target dimensions.

The value of the setting should be the same as the scanner selected in PrintFlat Create to make the original target TIFF files. Any deviation results in a poor calibration or a failure to process the printed and scanned targets.

PrintFlat subscription

A PrintFlat subscription is required for the calibration generation process. The subscription file (.sub) can be generated from a ScreenPro enabled application, such as ScreenPro File.

The PrintFlat Inline process uses the subscription file to lock the calibration to the same ScreenPro enabled application that created the subscription.


The PrintFlat Inline client also requires a path to a folder containing scans of PrintFlat targets. These targets will have been generated by PrintFlat Create, printed on the target device and scanned in. The provided scans should be TIFF files (RGB, 24 or 48 bit), where one TIFF file is a scan of a single individual PrintFlat Create target (cropped to the dashed cut lines).

PrintFlat Inline server

The PrintFlat Inline server is an exe, which can be run on the same or different machine to the client.

The command line usage can be found by running:

PrintFlatInlineServer.exe /?

Changing the port

When running the server without any flags, the default port 14000 is used.

To change this port, use the following command line:

PrintFlatInlineServer.exe /port 15000
JavaScript errors detected

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

If this problem persists, please contact our support.