---
alias: user-guide-printing-integration
tags:
- printing integration
description: "Critical Manufacturing MES facilitates printing label and report generation through configurable integrations"
---
# Printing Integration
:lock: PrintingIntegration.**Show**
## Overview
Critical Manufacturing MES offers an out-of-the-box printing mechanism that allows you to effortlessly create labels or reports using the **Printable Document** entity, which can be found in the **Business Data** menu. This feature includes the ability to configure both the layout and respective contexts, which are dynamically applied at runtime using an internal layout creator and editor.
Moreover, the **Printing Integration** entity, which can be found in the **Administration** menu, works with the **Printable Document** entity to offer out-of-the-box integration with two popular printing solutions, **NiceLabel** and **BarTender**, as well as provides easy extensibility for integration with other vendors.
Additionally, the integration methods supported by Critical Manufacturing MES with **NiceLabel** and **BarTender** are **File** and **Web Service** based.
You can learn more about how to use Printing Integrations in our tutorial: [[tutorials-thirdpartylabelprintingintegrationindex]].
## Tying Everything Together
```mermaid
graph LR
C1[Printer Type Printers Context] -.- Main[Printing Integration]
Main --- L1[Printable Document]
classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%;
classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%;
classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5;
class Main mermaid_entity
class A1,A2,A3,A4,A5,A6,A7,A8,A9,A10 mermaid_businessdata
class L1,L2,L3,L4,L5,L6 mermaid_entitylinked
class C1,C2,C3,C4,C5,C6 mermaid_context
class N1,N2,N3,N4,N5,N6 mermaid_nonbusinessdata
click L1 "../../business-data/printable-document"
click C1 "../../administration/tables/smart-tables/printertypeprinterscontext"
click Main "../../administration/printing-integration"
```
The summary of a Printing Operation workflow can be seen in the following diagram:
```mermaid
flowchart TD
A[Print Operation] -->|Resolve PrinterTypePrintersContext| C{Has Printer Integration?}
C -->|No| D[Use default logic]
C -->|Yes| E[Format Data Context Items
Use Printing Integration
InputFormatterRule
and
Printable Document External Layout
if exists]
E -..->|Default DEE Rules| G{Print
System?}
subgraph DEE
G -->|BarTender| PS{Integration
Type?}
G -->|NiceLabel| PS2{Integration
Type?}
PS -->|File| H1[PrintingIntegration
BarTender
FileInput]
PS -->|WebService| H2[PrintingIntegration
BarTender
WebServiceInput]
PS2 -->|File| J1[PrintingIntegration
NiceLabel
FileInput]
PS2 -->|WebService| J2[PrintingIntegration
NiceLabel
WebServiceInput]
end
E --> IM{Integration
Method?}
IM -->|File|Call1[Call PrintingIntegrationFile
NameGenerator]
IM -->|WebService|Call2[Call WebService
Use Authentication Method
defined in Printing Integration Service body
=Result from Printing Integration
InputFormatterRule]
Call2 --> SCM{Web Service Call Mode
Synchronous?}
SCM -->|Yes| FWSR{OutputFormatter
defined?}
SCM -->|No| RIE[Run Integration Entry]
FWSR -->|Yes| OFYES[Parse the response]
FWSR -->|No| OFNO[Keep response as-is]
RIE --> End[End]
Call1 --> End[End]
OFYES --> End
OFNO --> End
Call2 -.->|Default Authentication Methods| G2{Print
System?}
subgraph DAM
G2 -->|BarTender| PIAM[Basic Authentication
None
Printing Integration Authentication Method
Generic Table]
G2 -->|NiceLabel| PIAM
end
classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%;
classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%;
classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5;
classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300;
class Entity mermaid_entity
class Version1,Version2,Version3,Version4,Version5,Version6,Version7,Version8,Version9,Version10,Version11 mermaid_businessdata
class RevisionA,RevisionB,RevisionC mermaid_entitylinked
```
{{ generate_index() }}