# Processors

Print processors allow manipulation of a print job and its output. The processors are a plugin system so they can be enabled and modified for each printer instance.

Print processors are executed in the run order specified.

[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/WzH2VDJ9Yc3f9NOi-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/WzH2VDJ9Yc3f9NOi-image.png)

### LineReportToCSV

Take a line report and generate CSV from it. The processor will attempt to detect if the data is in a vertical or horizontal format.

[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/oWOwIECp9eg7toHS-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/oWOwIECp9eg7toHS-image.png)

<table border="1" id="bkmrk-enabled-yes-or-no-th" style="border-collapse: collapse; width: 100%; height: 367.639px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 46.6667px;"><td style="height: 46.6667px;">Enabled</td><td style="height: 46.6667px;">Yes or No</td><td style="height: 46.6667px;">The processor will be skipped if not enabled</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Run order</td><td style="height: 29.8785px;">Numeric value</td><td style="height: 29.8785px;">The order the processor will be executed</td></tr><tr style="height: 214.549px;"><td style="height: 214.549px;">Vertical fieldname column width</td><td style="height: 214.549px;">For vertical reports the width of the column. -1 to auto detect.</td><td style="height: 214.549px;">If a report is in a vertical format.

eg

```
Header

Field1     : Data
Field2     : Data

Field1     : Data
Field2     : Data
```

 The width is the space between Field1 and :

</td></tr><tr style="height: 46.6667px;"><td style="height: 46.6667px;">Field multivalue separator</td><td style="height: 46.6667px;">Default is |</td><td style="height: 46.6667px;">If CSV data is detected in the field the separator is modified</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Autofill index position</td><td style="height: 29.8785px;">The index value of the report. </td><td style="height: 29.8785px;">```
Header

Field 1          Field 2
================ =======
Record 1         Data 1
                 Data 2
Record 2         Data 1
Record 3         Data 1
```

Line 5 in this example Record 1 is assumed.

</td></tr><tr><td>Default autofill value for fields</td><td>Fields that are detected as blank because they would contain the index field are automatically filled in</td><td>  
</td></tr><tr><td>Output filename</td><td>The filename generated default %sourcefilefolder%%title%\_%date%\_%time%\_%profilename%.csv</td><td>CSV filename generated</td></tr><tr><td>Change output filename</td><td>The filename passed to the next processor is the CSV file</td><td>  
</td></tr></tbody></table>

### Redirect

The redirect processor allows the print job to be sent to a printer

[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/nFXrSLbP9mM3r5b2-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/nFXrSLbP9mM3r5b2-image.png)

<table border="1" id="bkmrk-enabled-yes-or-no-th-1" style="border-collapse: collapse; width: 100%; height: 106.424px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 46.6667px;"><td style="height: 46.6667px;">Enabled</td><td style="height: 46.6667px;">Yes or No</td><td style="height: 46.6667px;">The processor will be skipped if not enabled</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Run order</td><td style="height: 29.8785px;">Numeric value</td><td style="height: 29.8785px;">The order the processor will be executed</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Printer name</td><td style="height: 29.8785px;">Windows printer name</td><td style="height: 29.8785px;">The name of the printer to redirect the data</td></tr><tr><td>Printer type</td><td>Send the job and text or raw</td><td>  
</td></tr></tbody></table>

#### PDF

PDF will create a PDF from the text data. This could be the original text or modified data from a processor like LineReportToCSV

[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/bItfpbvFQlZxYtH4-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/bItfpbvFQlZxYtH4-image.png)

<table border="1" id="bkmrk-enabled-yes-or-no-th-2" style="border-collapse: collapse; width: 100%; height: 106.424px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 46.6667px;"><td style="height: 46.6667px;">Enabled</td><td style="height: 46.6667px;">Yes or No</td><td style="height: 46.6667px;">The processor will be skipped if not enabled</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Run order</td><td style="height: 29.8785px;">Numeric value</td><td style="height: 29.8785px;">The order the processor will be executed</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Change output filename</td><td>Yes or No (Default No)</td><td>The filename that is passed to the next processor will be the PDF and not the original text file</td></tr><tr><td>Page orientation </td><td>Landscape or Portrait</td><td>  
</td></tr><tr><td>Lines per page</td><td>New page at specific line count. Use 0 to check for form feeds in the data</td><td>  
</td></tr><tr><td>Skip empty pages</td><td>Don't create a PDF page for empty pages</td><td>  
</td></tr><tr><td>Font size</td><td>Font size used in PDF</td><td>  
</td></tr><tr><td>Font</td><td>Font used in PDF</td><td>  
</td></tr><tr><td>Skip pages</td><td>Option to exclude certain pages from PDF generation</td><td>  
</td></tr><tr><td>Output filename</td><td>The PDF filename generated</td><td>  
</td></tr></tbody></table>

### SMTP

[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/ardLjT4NkF1MWbe1-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/ardLjT4NkF1MWbe1-image.png)

Send email with custom email addresses, subject, body and files.

<table border="1" id="bkmrk-enabled-yes-or-no-th-3" style="border-collapse: collapse; width: 100%; height: 136.302px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 46.6667px;"><td style="height: 46.6667px;">Enabled</td><td style="height: 46.6667px;">Yes or No</td><td style="height: 46.6667px;">The processor will be skipped if not enabled</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Run order</td><td style="height: 29.8785px;">Numeric value</td><td style="height: 29.8785px;">The order the processor will be executed</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Server</td><td style="height: 29.8785px;">SMTP server hostname</td><td style="height: 29.8785px;">  
</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Port</td><td style="height: 29.8785px;">SMTP server port</td><td style="height: 29.8785px;">  
</td></tr><tr><td>From name</td><td>Name email is sent from</td><td>  
</td></tr><tr><td>From address</td><td>Email address email is sent from</td><td>  
</td></tr><tr><td>Recipients</td><td>Email recipients</td><td>See [metadata](https://help.abitsystems.com.au/books/text-print-server-user-guide/page/metadata "Metadata")</td></tr><tr><td>Subject</td><td>Email subject</td><td>See [metadata](https://help.abitsystems.com.au/books/text-print-server-user-guide/page/metadata "Metadata")</td></tr><tr><td>Authentication type</td><td>SMTP authentication type (None, Default or SASL)</td><td>  
</td></tr><tr><td>Username</td><td>SMTP username</td><td>  
</td></tr><tr><td>Password</td><td>SMTP password</td><td>  
</td></tr><tr><td>Body</td><td>Email body</td><td>See [metadata](https://wiki.abitsystems.com.au/books/text-print-server/page/metadata "Metadata")</td></tr><tr><td>Attachments</td><td>A list of files to attach</td><td>Default is %inputfilename%. This could also include direct file system files if required. eg C:\\Users\\Public\\Documents\\TermsAndConditions.pdf. See [metadata](https://help.abitsystems.com.au/books/text-print-server-user-guide/page/metadata "Metadata")</td></tr><tr><td>Reply to name</td><td>The name used if recipient select reply</td><td>  
</td></tr><tr><td>Reply to address</td><td>The email address uses if a recipient selects reply</td><td>  
</td></tr><tr><td>HTML body</td><td>The body content contains HTML</td><td>  
</td></tr><tr><td>Read reciept</td><td>Request a read receipt</td><td>  
</td></tr><tr><td>SSL version</td><td>1.2 is generally required</td><td>  
</td></tr><tr><td>TLS</td><td>None, Implicit, Required, Explicit</td><td>  
</td></tr></tbody></table>

### Sharepoint

Upload files to a sharepoint site

[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/sFoBJYnkL87ZvMgZ-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/sFoBJYnkL87ZvMgZ-image.png)

An [Entra](https://entra.microsoft.com/) App registration is required

<table border="1" id="bkmrk-ensure-application-p" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 49.881%;"></col><col style="width: 49.881%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/kzbVD01mklECHeqL-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/kzbVD01mklECHeqL-image.png)</td><td>Ensure application permission Sites.Manage.All is granted

[![image.png](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/scaled-1680-/6iJCGZe03abFX5zM-image.png)](https://wiki.abitsystems.com.au/uploads/images/gallery/2025-07/6iJCGZe03abFX5zM-image.png)

</td></tr></tbody></table>

<table border="1" id="bkmrk-enabled-yes-or-no-th-4" style="border-collapse: collapse; width: 100%; height: 106.424px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 46.6667px;"><td style="height: 46.6667px;">Enabled</td><td style="height: 46.6667px;">Yes or No</td><td style="height: 46.6667px;">The processor will be skipped if not enabled</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Run order</td><td style="height: 29.8785px;">Numeric value</td><td style="height: 29.8785px;">The order the processor will be executed</td></tr><tr style="height: 29.8785px;"><td style="height: 29.8785px;">Client id </td><td>Entra client id</td><td>  
</td></tr><tr><td>Tenant id</td><td>Entra tenant id</td><td>  
</td></tr><tr><td>Client secret</td><td>Entra client secret</td><td>  
</td></tr><tr><td>Site</td><td>Select sharepoint site</td><td>  
</td></tr><tr><td>Drive</td><td>Select sharepoint drive</td><td>  
</td></tr><tr><td>Folder path</td><td>Optional folder path</td><td>  
</td></tr><tr><td>Files</td><td>List of files to upload. </td><td>See [metadata](https://help.abitsystems.com.au/books/text-print-server-user-guide/page/metadata "Metadata")</td></tr></tbody></table>