← Return to the list of hooks Info |
---|
If you have a problem understanding how the hook works, check: Hook's mechanism |
Panel |
---|
| Available from version: 1.0.0
|
Panel |
---|
| Hook places a watermark on the document as it is displayed. This hook is implemented based on the definition of the ReadFileHookAdapter system hook, which allows to change the binary stream of the displayed document from archive or in preview in the process. Configuration of the watermark insert hook is defined in JSON format as a list and is managed by the PCM (Plugin Configuration Manager). A watermark is placed on every page of the document and accepts only PDF format. |
Panel |
---|
| Code Block |
---|
| - documentClassId
- watermark
- type
- text
- alignment
- anchor
- positionX%
- positionY%
- opacity
- clockwiseAngle
- watermarkBarcode
- format
- codeWidth
- codeHeight
- textUnderBarcode
- rotationMechanism
- watermarkText
- sizefontSize
- fontType
- colorfontColor
- encoding
- clockwiseAnglebackgroundColor
- permissions
- groups
-errorHandling
-removePDFSecurity |
Warning |
---|
Plugin version 1.0.0 is incompatible with newer versions. Installing plugin version 1.0.1 or later will run the Upgrader, which will update the JSON configuration file to match plugin version 1.0.1. |
|
Panel |
---|
title | Configuration parameters |
---|
| Parameter name in JSON configuration | From version | Description | Paremeter type | Comments and restrictions |
---|
documentClassId* | 1.0.0 | The document class id indicates for which documents the watermark insertion parameters are to be considered. | Integer | | type* (watermark) | 1.0.0 | Specifies what type of watermark is. | Text | Value | MeaningDescription |
---|
BARCODE | Encodes the value of the text parameter into a barcode with the specified format defined in the format parameter. The watermark on the document is a barcode. | TEXT | The value of the text parameter is applied to the document as an explicit, unencoded watermark. |
| text* (watermark) | 1.0.0 | Takes the text value that is used to create the watermark. In order to use document index values, the index id should be enclosed in curly braces {}. It is possible to use more than one index value in a parameter. Each subsequent index must be followed by curly braces. Example.: Case number: "{8}, Registration Date {9}" Watermark text -> Case number: 433589, Registration Date: 13-02-2021
It is also possible to use special keywords that return information about the user, process id and activity id. All available values are listed in the next column. Example: "Username: {USER_NAME}, Date: {CURRENT_DATE}" Watermark text -> "Username: admin, Date: 2022-10-21"
| Text | Warning |
---|
Any typed index ids in the text string must exist in the document class specified by the documentClassId parameter. If the document being viewed does not contain an index value (it is empty) whose id is given in curly braces in this parameter, the id will be replaced with the empty string "". |
Keyword | Description |
---|
{CURRENT_DATE} | Current date in yyyy-MM-dd format. | {CURRENT_DATE_AND_TIME} | Current date and time in yyyy-MM-dd HH-mm-ss format. | {PROCESS_ID} | Process id. | {ACTIVITY_ID} | Activity id. | {USER_NAME} | User name. | {USER_EMAIL} | User email. | {USER_FULL_NAME} | User full name that consists of first and last name. | {USER_FIRST_NAME} | User first name. | {USER_LAST_NAME} | User last name. | {USER_NUMBER} | User number. |
| alignment* (watermark) | 1.0.0 | Specifies relative to which of the four corners of the document page the position of the watermark will be calculated based on the positionX% and positionY% parameters. More information... | Text | Pay attention to the corresponding values of the positionX% and positionY% parameters, because depending on the value of the alignment, anchor parameter, and the size of the watermark, the watermark may extend beyond the document page, i.e. be partially or completely invisible. ValueAvailable values | Meaning |
---|
TOP_LEFT | The position of the watermark in relation to the top left corner. Image Removed
| TOP_RIGHT | The position of the watermark in relation to the top right corner. Image Removed
| BOTTOM_LEFT | The position of the watermark in relation to the bottom left corner. Image Removed
| BOTTOM_RIGHT | The position of the watermark in relation to the bottom right corner. Image Removed
|
| anchor* (watermark) | 1.0.0 | Specifies the position a point in the circumference or in the center of the watermark in relation to the corresponding corner from which the position of the watermark is determined based on the values of parameters positionX% and positionY%. More information... | Text | Value | Meaning |
---|
Available values |
---|
TOP_LEFT | TOP_MIDDLE | TOP_RIGHT | CENTER_LEFT | CENTER_MIDDLE | CENTER_RIGHT | BOTTOM_LEFT | The position of the watermark in relation to the lower left corner of the watermark. Image RemovedBOTTOM_MIDDLE | BOTTOM_RIGHT |
| positionX%* (watermark) | 1.0.0 | Indicates the X (horizontal) position of the watermark in percent relative to the document page dimensions. The position is set based on the selected page corner in the alignment parameter. | Integer | Value between 0 and 100. | positionY%* (watermark) | 1.0.0 | Indicates the Y (vertical) position of the watermark in percent relative to the document page dimensions. The position is set based on the selected page corner in the alignment parameter. | Integer | Value between 0 and 100. | opacity* (watermark) | 1.0.0 | Specifies the transparency degree of visibility of the inserted watermark on the pages of the document. | Float | The element is fully transparent (invisible). .0 and 1.0.format* The item is partially transparent. The element is fully opaque (uniform). | clockwiseAngle* (watermark) | 1.0.0 | Watermark rotation. | Float | | format* (watermark.watermarkBarcode) | 1.0.0 | Specifies standard for one-dimensional barcodes (writing information on one line, in the form of dashes). | Text | Value | Meaning |
---|
CODE_39 | Also known as "USS Code 39", "Code 3/9", "Code 3 of 9", "USD-3", "Alpha39") - fixed-width alphanumeric single character bar code. | CODE_93 | Code 93 was designed as an improvement to the Code 39 encoding. Like its original in the basic version, it is able to store 43 alphanumeric characters. However, compared to its predecessor, it has 4 additional control characters. | CODE_128 | High-resolution alphanumeric one-dimensional barcode. It was designed to encode 128 ASCII characters |
| the barcode format.
More information... | Text | Available values |
---|
AZTEC | CODABAR | CODE_39 | CODE_93 | CODE_128 | DATA_MATRIX | EAN_8 | EAN_13 | ITF | PDF_417 | QR_CODE | UPC_A | UPC_E |
| codeWidth* (watermark.watermarkBarcode) | 1.0.0 | Defines the width of the barcode in pixels. | Integer | Specifies the minimum width of the barcode. In case the value to be encoded from the text parameter turns out to be too long, the width will be increased. | codeHeight* (watermark.watermarkBarcode) | 1.0.0 | Defines the height of the barcode in pixels. | Integer | | textUnderBarcode* (watermark.watermarkBarcode) | 1.0.1 | Specifies whether to display the text encoded in the barcode below this barcode. | Boolean | The text has a fixed font size of 11 and black color. | rotationMechanism (watermark.watermarkBarcode) | 1.0.8 | Specifies how a barcode watermark rotation should work. Method 1 - (obsolete) rotation is based on the basic functions of the library. The rotation for the barcode watermark is counterclockwise. Method 2 (recommended) - rotation takes place relative to the watermark point specified in the anchor property. The rotation is clockwise for the barcode watermark. The parameter is optional. By default, METHOD_1 is used. | Text | Available values |
---|
METHOD_1 | METHOD_2 |
| size* (watermark.watermarkText) | 1.0.0 | Text size. | Float | | fontType* (watermark.watermarkText) | 1.0.0 | Text font type. | Text | Value | MeaningDescription |
---|
COURIER | Courier | COURIER_BOLD | Courier Bold | COURIER_OBLIQUE | Courier Oblique | COURIER_BOLDOBLIQUE | Courier Bold Oblique | HELVETICA | Helvetica | HELVETICA_BOLD | Helvetica Bold | HELVETICA_OBLIQUE | Helvetica Oblique | HELVETICA_BOLDOBLIQUE | Helvetica Bold Oblique | SYMBOL | Symbol | TIMES_ROMAN | Times Roman | TIMES_BOLD | Times Bold | TIMES_ITALIC | Times Italic | TIMES_BOLDITALIC | Times Bold Italic | ZAPFDINGBATS | Zapf Dingbats |
| colorfontColor* (watermark.watermarkText) | 1.0.0 | Color of the text. | Text | Value | MeaningDescription |
---|
WHITE | White | LIGHT_GRAY | Light gray | GRAY | Gray | DARK_GRAY | Dark gray | BLACK | Black | RED | Red | PINK | Pink | ORANGE | Orange | YELLOW | Yellow | GREEN | Green | MAGENTA | Magenta | CYAN | Cyan | BLUE | Blue |
| encoding* (watermark.watermarkText) | 1.0.0 | Character encoding standard. More information... | Text | The value between 0.0 and 360.0.ValueAvailable values | Meaning |
---|
CP1250 | A code page for the representation of texts in Central European languages using the Latin alphabet, for example Albanian, Croatian, Czech, Polish, Romanian, Slovak, Slovenian, Hungarian. | CP1252 | A code page to represent texts in Western European languages. | CP1257 | A code page used to represent texts in Estonian, Lithuanian or Latvian. This set is largely compatible with ISO 8859-13, and is suitable for coding the Polish language. | MACROMAN | Character encoding mainly used in classic Mac OS to represent text. It encodes 256 characters, the first 128 of which are identical to ASCII and the remaining characters include math symbols, diacritics, and additional punctuation marks. It is suitable for English and several other Western languages. |
| clockwiseAngle* (watermark.watermarkText) | 1.0.0 | Watermark rotation. | Float | CP1250 | CP1252 | CP1257 | MACROMAN |
| backgroundColor (watermark.watermarkText) | 1.0.1 | Text background color. | | The parameter is optional. If it is not defined, the background for the watermark in the form of text will not be used. Value | Description |
---|
WHITE | White | LIGHT_GRAY | Light gray | GRAY | Gray | DARK_GRAY | Dark gray | BLACK | Black | RED | Red | PINK | Pink | ORANGE | Orange | YELLOW | Yellow | GREEN | Green | MAGENTA | Magenta | CYAN | Cyan | BLUE | Blue |
| errorHandling* | 1.0.1 | Error handling. Defines how the document preview window should behave in the event of any error, e.g. incorrect characters in the text used to encode the barcode for a specific barcode format. | Text | Value | Description |
---|
BLOCK | An HTML page is displayed with the error message. It is not possible to download the original (no watermark) document. | DISPLAY_ORIGINAL | The original document is displayed and available for download. |
Warning |
---|
The value of this parameter is taken into account after JSON deserialization (after entering the correct names and values of JSON configuration parameters in PCM), hence if an error occurs during the deserialization stage, the default BLOCK error handling will be used. |
| groups (permissions) | 1.0.0 | Permissions defining for which users logged in to the system the hook will be run when trying to open a document. | Array of text values | Optional parameter, when is not filled, everyone can see the watermark. | removePDFSecurity | 1.0.2 | Removes the file's password that protects it from being modified. The resulting file has no security compared to its original version. The parameter does not take into account the removal of the file password that was used to prevent the file from being opened. | Boolean | Optional, when undefined, defaults to false for backward compatibility. |
Parameter*- field is required |
Panel |
---|
title | Barcode formatsConfiguration example |
---|
| Format Image Added Description | Code_39 | Barcode with variable-length alphanumeric characters to store 43 different characters. Each sign consists of 9 elements (light and dark bars), 3 of which are significantly wider. This format allows you to encode numbers, capital letters and characters (-, ., (Space), $, /, +,%, *). Char | Value | Char | Value | Char | Value | Char | Value |
---|
0 | 0 | B | 11 | M | 22 | X | 33 | 1 | 1 | C | 12 | N | 23 | Y | 34 | 2 | 2 | D | 13 | O | 24 | Z | 35 | 3 | 3 | E | 14 | P | 25 | - | 36 | 4 | 4 | F | 15 | Q | 26 | . | 37 | 5 | 5 | G | 16 | R | 27 | space | 38 | 6 | 6 | H | 17 | S | 28 | $ | 39 | 7 | 7 | I | 18 | T | 29 | / | 40 | 8 | 8 | J | 19 | U | 30 | + | 41 | 9 | 9 | K | 20 | V | 31 | % | 42 | A | 10 | L | 21 | W | 32 | | |
Image Removed
| Code_93 | The barcode is an improvement of the CODE_39 format. Like its prototype, it stores 43 alphanumeric characters, but additionally has 4 control characters (($), (%), (/), (+)). The code accepts only uppercase letters. Char | Value | Char | Value | Char | Value | Char | Value |
---|
0 | 0 | C | 12 | O | 24 | - | 36 | 1 | 1 | D | 13 | P | 25 | . | 37 | 2 | 2 | E | 14 | Q | 26 | space | 38 | 3 | 3 | F | 15 | R | 27 | $ | 39 | 4 | 4 | G | 16 | S | 28 | / | 40 | 5 | 5 | H | 17 | T | 29 | + | 41 | 6 | 6 | I | 18 | U | 30 | % | 42 | 7 | 7 | J | 19 | V | 31 | ($) | 43 | 8 | 8 | K | 20 | W | 32 | (%) | 44 | 9 | 9 | L | 21 | X | 33 | (/) | 45 | A | 10 | M | 22 | Y | 34 | (+) | 46 | B | 11 | N | 23 | Z | 35 | | |
Image Removed
Code_128 | Variable length, high density alphanumeric code. It can encode characters from the entire ASCII range. The coding uses a dash and a gap of four possible widths, which makes it a compact code. Code 128 can be scanned in either direction and there is no limit to the length of the code itself. Image Removed
Panel |
---|
title | Configuration example |
---|
| Image Removed
Code Block |
---|
language | js |
---|
Code Block |
---|
language | js |
---|
linenumbers | true |
---|
| [
{
"documentClassId": 5,
"watermark": {
"type": "TEXT",
"text": "Case number: {10}, Registration date: {11}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"clockwiseAngle": 0,
"watermarkText":{
"fontSize": 15,
"fontType": "HELVETICA",
"fontColor": "WHITE",
"encoding": "CP1252",
"backgroundColor": "BLACK"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 5,
"watermark": {
"type": "BARCODE",
"text": "{10}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"clockwiseAngle": 0,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15,
"textUnderBarcode": false,
"rotationMechanism": "METHOD_1"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK",
"removePDFSecurity": true
}
] |
|
Panel |
---|
| Expand |
---|
| Code Block |
---|
language | js |
---|
title | JSON configuration |
---|
linenumbers | true |
---|
| [
{
"documentClassId": 5,
"watermark": {
"type": "TEXT",
"text": "Case number: {10}, Registration date: {11}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"clockwiseAngle": 0,
"watermarkText":{
"fontSize": 15,
"fontType": "HELVETICA",
"fontColor": "LIGHT_GRAY",
"encoding": "CP1252",
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 5,
"watermark": {
"type": "BARCODE",
"text": "{10}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"clockwiseAngle": 0,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15,
"textUnderBarcode": false
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
}
] |
Original document: Image Added
After opening: Image Added |
Example of use for the above JSON configuration. Expand |
---|
| Code Block |
---|
language | js |
---|
title | JSON configuration |
---|
linenumbers | true |
---|
| [
{
"documentClassId": 5,
"watermark": {
"type": "TEXT",
"text": "Case number: {10}, Registration date: {11}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"clockwiseAngle": 0,
"watermarkText":{
" | sizefontSize": 15,
"fontType": "HELVETICA",
" | colorLIGHT_GRAYWHITE",
"encoding": "CP1252",
" | rotation0"BLACK"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
| } "errorHandling": "BLOCK"
},
{
"documentClassId": 5,
"watermark": {
"type": "BARCODE",
"text": "{10}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 80,
"positionY%": 10,
"opacity": 0. | 59,
"clockwiseAngle": 0,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
| "codeWidth50codeHeight15true
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
| } "errorHandling": "BLOCK",
"removePDFSecurity": true
}
] |
|
| Panel |
---|
| Image Removed Image Added
| After Image Removed Image Added
|
|
|