Skip to main content
⚠️ Archived Version

You are viewing documentation for Preflight version 1.26, which is no longer actively maintained. For the latest features and updates, please refer to the current version (2.0).

Preflight rules

This topic describes how you can define rules to validate user files. The Preflight Tool allows you to check the used colors, text properties, resolution of graphics, page orientation, and PDF page boxes in the uploaded files.

In the previous topic, you have learned that preflight configuration includes the rules array defining the preflight rules. Now, let's see what rules you can use.

{
  "params": {
      "config": {
          "rules": [
              {
                  "type": "colorspace",
                  "severity": "error",
                  "enableFix": true,
                  "params": {
                      "allowedColorSpaces": ["GRAYSCALE", "CMYK"],
                      "fixTarget": "CMYK"
                  }
              },
              {
                  "type": "spotcolors",
                  "severity": "error",
                  "enableFix": true,
                  "params": {
                      "allowed": {
                          "names": ["PANTONE 653 C", "PANTONE 649 C"],
                          "regexps": ["/.*2405.*/g", "/.*Green.*/g"]
                      },
                      "fixTarget": "CMYK"
                  }
              },
              {
                  "type": "spotrequiredcolors",
                  "severity": "warning",
                  "params": {
                      "required": {
                          "names": ["PANTONE 653 C", "PANTONE 649 C"],
                          "regexps": ["/.*2405.*/g", "/.*Green.*/g"]
                      }
                  }
              },
              {
                  "type": "resolution",
                  "severity": "warning",
                  "params": {
                      "target": 300
                  }
              },
              {
                  "type": "safetyboxes",
                  "severity": "error",
                  "params": {
                      "require": ["bleed", "crop", "trim"]
                  }
              },
              {
                  "type": "nomargins",
                  "severity": "warning",
                  "enableFix": true
              },
              {
                  "type": "insideBleedbox",
                  "severity": "warning",
                  "enableFix": true
              },
              {
                  "type": "nomarginsBleedbox",
                  "severity": "warning",
                  "enableFix": true
              },
              {
                  "type": "sameorientation",
                  "severity": "warning",
                  "enableFix": true
              },
              {
                  "type": "forbiddenfonts",
                  "severity": "error",
                  "params": {
                      "fonts": ["Roboto-Regular"]
                  }
              },
              {
                  "type": "allowedfonts",
                  "severity": "warning",
                  "params": {
                      "fonts": ["Calibri", "LucidaSans"]
                  }
              },
              {
                  "type": "fonttypes",
                  "severity": "error",
                  "params": {
                      "allowedFontTypes": ["TrueType"]
                  }
              },
              {
                  "type": "minfontsize",
                  "severity": "error",
                  "params": {
                      "black": 8,
                      "colored": 8
                  }
              },
              {
                  "type": "textascurves",
                  "severity": "warning"
              },
              {
                  "type": "embeddedfonts",
                  "severity": "warning"
              }
          ]
      }
  }
}

These rules have the following common properties: type, severity, and enableFix. In the params object, you can set up parameters specific to the rule type, if any.

NameDescriptionPossible values
typeThe type of the preflight rule."colorspace", "spotcolors", "spotrequiredcolors", "resolution", "safetyboxes", "nomargins", "insideBleedbox", "nomarginsBleedbox", "sameorientation", "forbiddenfonts", "allowedfonts", "fonttypes", "minfontsize", "textascurves", "embeddedfonts"
severityThe severity of the preflight rule. This value allows you to visualize and process validation problems in different ways. Warnings can be ignored when rendering the resulting print files, whereas errors prevent the final rendering and must be fixed, either manually or automatically."error", "warning"
enableFixEnables the Fix button only if the Preflight Tool supports an automatic correction of the validation problem. In the current implementation, this tool automatically fixes the following problems: "colorspace", "nomargins", "insideBleedbox", "nomarginsBleedbox", "sameorientation", and "spotcolors". The default value is false.boolean

The Color Check

Color Spaces

In the colorspace rule, you can check if user files use only the allowed color spaces.

NameDescriptionPossible values
allowedColorSpacesAn array of color spaces valid for your printing equipment. In this array, you can specify "RGB", "CMYK", and "GRAYSCALE".string[]
fixTargetA target color space for fixing an invalid color space. By default, the Preflight Tool uses the first value of the allowedColorSpaces array to fix color spaces.string

Spot Colors

The spotcolors rule allows you to check if the user file uses only the specified spot colors. To specify spot colors, you can both list their names and use regular expressions.

NameDescriptionPossible values
allowedAn object defining valid spot colors.object
namesAn array of names of spot colors valid for your printing equipment. For example, ["PANTONE 653 C", "PANTONE 649 C"].string[]
regexpsAn array of regular expressions for names of spot colors valid for your printing equipment. For example, ["/.*2405.*/g", "/.*Green.*/g"].string[]
fixTargetA target color space for converting an invalid spot color. The default value is "CMYK".string

Required Spot Colors

The spotrequiredcolors rule allows you to check if the user file uses the specified colors. Unlike the spotcolors rule, which lists the allowed colors, this rule requires applying one or more colors to the elements in the uploaded file. To specify spot colors, you can both list their names and use regular expressions.

NameDescriptionPossible values
requiredAn object defining colors that must be applied to at least one design element.object
namesAn array of names of spot colors valid for your printing equipment. For example, ["PANTONE 653 C", "PANTONE 649 C"].string[]
regexpsAn array of regular expressions for names of spot colors valid for your printing equipment. For example, ["/.*2405.*/g", "/.*Green.*/g"].string[]

Resolution

This rule allows you to verify that the resolution of graphics in the user file is equal to or greater than the target value.

NameDescriptionPossible values
targetAn allowed DPI value.number

PDF Page Boxes

Defined boxes

The safetyboxes rule allows you to check if BleedBox, CropBox, and TrimBox are defined in PDF files.

In params, you must define the require parameter. Since this rule doesn't have an auto fix, you cannot enable the Fix button.

NameDescriptionPossible values
requirePDF page boxes required for your printing equipment. In this array, you can specify the "bleed", "crop", and "trim" values to verify if the corresponding page boxes are defined in the user's PDF files.string[]

Trim Box

You can use the nomargins rule to ensure the user's file fills the entire trim box.

This rule does not require additional params.

Bleed Box

You can use the insideBleedbox rule to ensure the user's file fits the bleed box.

This rule does not require additional params.

Bleed Box Margins

You can use the nomarginsBleedbox rule to ensure the user's file fills the entire bleed box, and there are no blank margins left.

This rule does not require additional params.

Page Orientation

The Preflight Tool helps you maintain the same orientation of pages in a document. The sameorientation rule checks if all pages in the document have the same orientation.

The Fix button rotates images on pages that have an incorrect orientation. As the correct orientation, this tool takes the orientation of the majority of the pages. When the user's file has the same number of landscape and portrait pages, the orientation of the front page will be applied to all pages.

This rule does not require additional params.

Text

note

To get PostScript names, you can open your fonts with a font editor (for example, FontForge) or a Photoshop plugin (like Get Font PostScript Name).

Forbidden fonts

The forbiddenfonts rule allows you to check if the specified fonts are not used in PDF files. In params, you can define the fonts array of PostScript names.

NameDescriptionPossible values
fontsAn array of PostScript font names, for example, ["Calibri", "LucidaSans"].string[]

Allowed fonts

The allowedfonts rule allows you to check if only the specified fonts are used in PDF files. In params, you can define the fonts array of PostScript names.

NameDescriptionPossible values
fontsAn array of PostScript font names.string[]

Font types

The fonttypes rule allows you to check font types in PDF files. In params, you can define an array of the allowed font types, for example, ["TrueType","OpenType","Type 1","Type 3","MMType1"].

NameDescriptionPossible values
allowedFontTypesAn array of font types that can be used in PDF files, for example, ["TrueType"].string[]

Font size

The minfontsize rule allows you to check if the text in PDF files is readable. In params, you can specify different values for plain black text and colored text.

NameDescriptionPossible values
blackThe min allowed font size of black text, in points.number
coloredThe min allowed font size of colored text, in points.number

Vector text

When you want text in print files to look exactly the same as in design templates, you would prefer that the PDF files contain text converted to vector shapes. You can use the textascurves rule to ensure that text represents vector shapes in the uploaded PDF files.

This rule does not require additional params.

Embedded fonts

You can use the embeddedfonts rule to ensure that the user's PDF file contains all the necessary fonts along with text.

This rule does not require additional params.

Was this page helpful?