← 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. |
Panel |
---|
title | Configuration parameters |
---|
| Parameter name in JSON configuration | From version | Description | Paremeter type | Comments and restrictions |
---|
documentClassdocumentClassId* | 1.0.0 | The document class name id indicates for which documents the watermark insertion parameters are to be considered. | TextInteger | | watermark type* | 1.0.0 | Specifies what type of watermark is. | Text | Value | Meaning |
---|
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. |
| watermark text* | 1.0.0 | Takes the text value that is used to create the watermark. In order to use document index values, the index name 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: "{Case number8}, Registration Date {Registration Date9}" Watermark text -> Case number: 433589, Registration Date: 13-02-2021 | Text | Warning |
---|
Any typed index names ids in the text string must exist in the document class specified by the documentClass parameter. If the document being viewed does not contain an index value (it is empty) whose name id is given in curly braces in this parameter, the name id will be replaced with the empty string "". |
| watermark positionX%* | 1.0.0 | Indicates the X (horizontal) position of the watermark in percent relative to the document page dimensions. | Integer | The position is counted from the left edge (0%) to the right edge of the page (100%). | watermark positionY%* | 1.0.0 | Indicates the Y (vertical) position of the watermark in percent relative to the document page dimensions. | Integer | The position is counted from the top edge (0%) to the bottom edge of the page (100%). | watermark opacity* | 1.0.0 | Specifies the transparency of the inserted watermark on the pages of the document. | Float | Value between 0.0 and 1.0. | watermark alignment* | 1.0.0 | Specifies the position of the watermark in relation to the corresponding corner of the watermark. | Text | Value | Meaning |
---|
BOTTOM_LEFT | The position of the watermark in relation to the lower left corner of the watermark. 
|
| watermark watermarkBarcode format | 1.0.0 | Specifies standard for one-dimensional barcodes (writing information on one line, in the form of dashes). | Text | Value | Meaning |
---|
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 | | |

| 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 | | |

| CODE_128 | Variable length, high density alphanumeric code. It can encode characters from the entire ASCII range. 
|
| watermark watermarkBarcode codeWidth | 1.0.0 | Defines the width of the barcode in pixels. | Integer | The parameter does not define the maximum width of the barcode - in the case when the substituted value turns out to be too long, the width will be automatically increased. | watermark watermarkBarcode codeHeight | 1.0.0 | Defines the height of the barcode in pixels. | Integer | | watermark watermarkText size | 1.0.0 | Text size. | Float | | watermark watermarkText encoding | 1.0.0 | Character encoding. | Text | Value | 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. |
| watermark watermarkText color | 1.0.0 | The color of the text. | Text | Value | Meaning |
---|
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 |
| watermark watermarkText fontType | 1.0.0 | Text font type. | Text | Value | Meaning |
---|
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 |
| watermark watermarkText rotation | 1.0.0 | Watermark rotation. | Float | The value between 0.0 and 360.0. | Permissions groups | 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. |
|
Panel |
---|
title | Configuration example |
---|
|  Code Block |
---|
language | js |
---|
linenumbers | true |
---|
| [
{
"documentClassId": 5,
"watermark": {
"type": "TEXT",
"text": "Case number: {10}, Registration date: {11}",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"alignment": "BOTTOM_LEFT",
"watermarkText":{
"size": 15,
"encoding": "CP1252",
"color": "LIGHT_GRAY",
"fontType": "HELVETICA",
"rotation": 0
}
},
"permissions": {
"groups": ["Users", "Administrators"]
}
},
{
"documentClassId": 5,
"watermark": {
"type": "BARCODE",
"text": "{10}",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"alignment": "BOTTOM_LEFT",
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15
}
},
"permissions": {
"groups": ["Users", "Administrators"]
}
}
] |
|
Panel |
---|
| Example of use for the above JSON configuration. Original document: 
After opening: 
|
|