If you have a problem understanding how the hook works, check: Hook's mechanism
Available from version: 1.0.0
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.
- documentClassId - watermark - type - text - alignment - anchor - positionX% - positionY% - opacity - clockwiseAngle - watermarkBarcode - format - codeWidth - codeHeight - textUnderBarcode - rotationMechanism - watermarkText - fontSize - fontType - fontColor - encoding - backgroundColor - permissions - groups -errorHandling -removePDFSecurity
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.
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 |
| ||||||||||||||||||||||||||||||
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 | 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 "".
| ||||||||||||||||||||||||||||||
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.
| 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.
| ||||||||||||||||||||||||||||||
anchor* (watermark) | 1.0.0 | Specifies a point in the circumference or in the center of the watermark from which the position of the watermark is determined based on the values of parameters positionX% and positionY%.
| Text |
| ||||||||||||||||||||||||||||||
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 degree of visibility of the inserted watermark. | Float |
The element is fully transparent (invisible).
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 the barcode format. | Text |
| ||||||||||||||||||||||||||||||
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 |
| ||||||||||||||||||||||||||||||
size* (watermark.watermarkText) | 1.0.0 | Text size. | Float | |||||||||||||||||||||||||||||||
fontType* (watermark.watermarkText) | 1.0.0 | Text font type. | Text |
| ||||||||||||||||||||||||||||||
fontColor* (watermark.watermarkText) | 1.0.0 | Color of the text. | Text |
| ||||||||||||||||||||||||||||||
encoding* (watermark.watermarkText) | 1.0.0 | Character encoding standard.
| Text |
| ||||||||||||||||||||||||||||||
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.
| |||||||||||||||||||||||||||||||
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 |
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
[ { "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 } ]
1.0.0 (applicable documentation)
- Hook adding
1.0.1 (applicable documentation)
- Adding error handling, displaying text under the barcode, defining the background for the watermark as text
1.0.2 (applicable documentation)
- Adding "removePDFSecurity" parameter for password-protected files
1.0.4 (applicable documentation)
- Adding keywords to use in the text parameter
1.0.8
- Adding a "rotationMechanism" parameter that changes the barcode rotation behavior
0 Comments