Created Date: Mar 11, 2021 11:20
Last Modifed Date: Mar 11, 2021 11:20


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.

Note: As GGS is unaware of the scanning equipment in use, it is the OEMs 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.

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