← Powrót do listy dostępnych hook'ów Jeśli masz problem ze zrozumieniem jak działają hook'i, sprawdź opis: Mechanizm hook'ów |
Hook pełni funkcję umieszczania znaku wodnego na dokumencie w czasie jego wyświetlania. Jest on zaimplementowany na podstawie definicji hook'a systemowego ReadFileHookAdapter, który umożliwia zmianę strumienia binarnego wyświetlanego dokumentu z archiwum lub w podglądzie w procesie. Konfiguracja hook'a wstawiającego znak wodny jest określana w formacie JSON pod postacią listy i zarządzana przez wtyczkę PCM (Plugin Configuration Manager). Znak wodny jest umieszczany na każdej stronie dokumentu i akceptuje tylko format PDF. |
- 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 |
Wersja wtyczki 1.0.0 jest niekompatybilna z nowszymi wersjami. Instalowanie wersji wtyczki 1.0.1 lub nowszej spowoduje uruchomienie Upgrader'a, który zaktualizuje plik konfiguracyjny JSON na zgodny z wersją wtyczki 1.0.1. |
|
Nazwa parametru w konfiguracji JSON | Od wersji | Opis | Typ parametru | Uwagi i ograniczenia |
---|
documentClassId* | 1.0.0 | Identyfikator klasy dokumentów wskazuje dla których dokumentów ma być uruchamiany mechanizm wstawiania znaku wodnego. | Całkowity | | type* (watermark) | 1.0.0 | Określa typ znaku wodnego.
| Tekstowy | Wartość | Opis |
---|
BARCODE | koduje wartość parametru text do postaci kodu kreskowego o określonym formacie zdefiniowanym w parametrze format. Znak wodny umieszczany na dokumencie jest kodem kreskowym. | TEXT | Wartość parametru text jest nanoszona na dokument jako znak wodny w formie jawnej, niezakodowanej. |
| text* (watermark) | 1.0.0 | Przyjmuje wartość tekstową, która jest wykorzystywana do utworzenia znaku wodnego. W celu skorzystania z wartości indeksów dokumentu należy umieścić identyfikator indeksu w nawiasach klamrowych {}. Istnieje możliwość wykorzystania więcej niż jednej wartości indeksu w parametrze. Każdy kolejny indeks musi być opatrzony nawiasami klamrowymi. Przykład: "Numer sprawy: {8}, Data rejestracji: {9}" Tekst znaku wodnego -> Numer sprawy: 433589, Data rejestracji: 13-02-2021
Możliwe jest również skorzystanie ze specjalnych słów kluczowych zwracających informacje o użytkowniku, identyfikatorze procesu i zadania. Lista wszystkich dostępnych wartości znajduje się w kolumnie obok. Przykład: "Nazwa użytkownika: {USER_NAME}, Data: {CURRENT_DATE}" Tekst znaku wodnego -> "Nazwa użytkownika: admin, Data: 2022-10-21" | Tekstowy | Wszystkie wpisane identyfikatory indeksów w ciągu tekstowym muszą istnieć w klasie dokumentów podanej w parametrze documentClassId. Jeśli przeglądany dokument nie zawiera wartości indeksu (jest pusty), którego identyfikator został podany w tym parametrze w nawiasach klamrowych, to identyfikator zostanie zastąpiony pustym łańcuchem znaków "". |
Słowo kluczowe | Opis |
---|
{CURRENT_DATE} | Bieżąca data w formacie yyyy-MM-dd. | {CURRENT_DATE_AND_TIME} | Bieżąca data i czas w formacie yyyy-MM-dd HH-mm-ss. | {PROCESS_ID} | Identyfikator procesu. | {ACTIVITY_ID} | Identyfikator zadania. | {USER_NAME} | Nazwa użytkownika. | {USER_EMAIL} | Email użytkownika. | {USER_FULL_NAME} | Pełna nazwa użytkownika składająca się na imię i nazwisko. | {USER_FIRST_NAME} | Imię użytkownika. | {USER_LAST_NAME} | Nazwisko użytkownika. | {USER_NUMBER} | Numer użytkownika. |
| alignment* (watermark) | 1.0.0 | Określa względem którego z czterech rogów strony dokumentu obliczona zostanie pozycja znaku wodnego na podstawie wartości parametrów positionX% oraz positionY%.
Więcej informacji... | Tekstowy | Należy zwrócić uwagę na odpowiednie wartości parametrów positionX% oraz positionY%, ponieważ w zależności od wartości parametru alignment, anchor oraz rozmiarów znaku wodnego, znak wodny może wykraczać poza stronę dokumentu, czyli być częściowo lub wcale niewidoczny. Dostępne wartości |
---|
TOP_LEFT | TOP_RIGHT | BOTTOM_LEFT | BOTTOM_RIGHT |
| anchor* (watermark) | 1.0.0 | Określa punkt na obwodzie znaku wodnego lub na jego środku, na podstawie którego określane jest położenie znaku wodnego biorąc pod uwagę wartości parametrów positionX% oraz positionY%. Więcej informacji... | Tekstowy | Dostępne wartości |
---|
TOP_LEFT | TOP_MIDDLE | TOP_RIGHT | CENTER_LEFT | CENTER_MIDDLE | CENTER_RIGHT | BOTTOM_LEFT | BOTTOM_MIDDLE | BOTTOM_RIGHT |
| positionX%* (watermark) | 1.0.0 | Wskazuje pozycję procentową X (w poziomie) znaku wodnego względem wymiarów strony dokumentu. Pozycja ustawiana jest na podstawie wybranego rogu strony w parametrze alignment. | Całkowity | Wartość z przedziału 0 - 100.
| positionY%* (watermark) | 1.0.0 | Wskazuje pozycję procentową Y (w pionie) znaku wodnego względem wymiarów strony dokumentu. Pozycja ustawiana jest na podstawie wybranego rogu strony w parametrze alignment. | Całkowity | Wartość z przedziału 0 -100. | opacity* (watermark) | 1.0.0 | Określa stopień widoczności (nieprzezroczystość) wstawianego znaku wodnego. | Zmiennoprzecinkowy | Element jest w pełni przezroczysty (niewidoczny). - Wartość z przedziału (0, 1)
Element jest częściowo przezroczysty. Element jest w pełni nieprzezroczysty (jednolity). | clockwiseAngle* (watermark) | 1.0.0 | Rotacja znaku wodnego zgodnie z kierunkiem ruchu wskazówki zegara. | Zmiennoprzecinkowy | | format* (watermark.watermarkBarcode) | 1.0.0 | Określa standard kodu kreskowego.
Więcej informacji... | Tekstowy | Dostępne wartości |
---|
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 | Definiuje szerokość kodu kreskowego w pikselach. | Całkowity | Określa minimalną szerokość kodu kreskowego. W przypadku, gdy wartość do zakodowania z parametru text okaże się zbyt długa, szerokość zostanie zwiększona. | codeHeight* (watermark.watermarkBarcode) | 1.0.0 | Definiuje wysokość kodu kreskowego w pikselach. | Całkowity | | textUnderBarcode* (watermark.watermarkBarcode) | 1.0.1 | Określa, czy ma być wyświetlany pod kodem kreskowym tekst (wartość parametru text), który został w nim zakodowany. | Logiczny | Tekst ma stały rozmiar czcionki 11 i kolor czarny. | rotationMechanism (watermark.watermarkBarcode) | 1.0.8 | Określa w jaki sposób ma działać rotacja kodu kreskowego. Sposób 1 - (przestarzały) rotacja odbywa się na zasadach podstawowej funkcji biblioteki. Rotacja dla znaku wodnego w formie kodu kreskowego wykonuje się w przeciwnym kierunku do ruchu wskazówek zegara. Sposób 2 (zalecany) - rotacja odbywa się względem punktu znaku wodnego określonego w parametrze anchor. Rotacja kodu kreskowego wykonuje się w kierunku zgodnym do ruchu wskazówek zegara. Parametr jest opcjonalny. Domyślnie stosowana jest wartość METHOD_1. | Tekstowy | Dostępne wartości |
---|
METHOD_1 | METHOD_2 |
| fontSize* (watermark.watermarkText) | 1.0.0 | Rozmiar tekstu. | Zmiennoprzecinkowy | | fontType* (watermark.watermarkText) | 1.0.0 | Rodzaj czcionki tekstu. | Tekstowy | Wartość | Opis |
---|
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 |
| fontColor* (watermark.watermarkText) | 1.0.0 | Kolor tekstu. | Tekstowy | Wartość | Opis |
---|
WHITE | Biały | LIGHT_GRAY | Jasnoszary | GRAY | Szary | DARK_GRAY | Ciemnoszary | BLACK | Czarny | RED | Czerwony | PINK | Różowy | ORANGE | Pomarańczowy | YELLOW | Żółty | GREEN | Zielony | MAGENTA | Magenta | CYAN | Cyjan | BLUE | Niebieski |
| encoding* (watermark.watermarkText) | 1.0.0 | Kodowanie znaków.
Więcej informacji... | Tekstowy | Dostępne wartości |
---|
CP1250 | CP1252 | CP1257 | MACROMAN |
| backgroundColor (watermark.watermarkText) | 1.0.1 | Kolor tła tekstu | | Parametr jest opcjonalny. W przypadku braku jego zdefiniowania, nie zostanie zastosowane tło dla znaku wodnego w formie tekstu. Wartość | Opis |
---|
WHITE | Biały | LIGHT_GRAY | Jasnoszary | GRAY | Szary | DARK_GRAY | Ciemnoszary | BLACK | Czarny | RED | Czerwony | PINK | Różowy | ORANGE | Pomarańczowy | YELLOW | Żółty | GREEN | Zielony | MAGENTA | Magenta | CYAN | Cyjan | BLUE | Niebieski |
| errorHandling* | 1.0.1 | Obsługa błędów. Określa w jaki sposób ma się zachować okno podglądu dokumentu przy wystąpieniu jakiekolwiek błędu np. niepoprawne znaki w tekście użytym do zakodowania kodu kreskowego dla określonego formatu kodu kreskowego. | Tekstowy | Wartość | Opis |
---|
BLOCK | Wyświetlana jest strona HTML z informacją o błędzie. Nie ma możliwości pobrania oryginalnego (bez znaku wodnego) dokumentu. | DISPLAY_ORIGINAL | Wyświetlany jest oryginalny dokument i jest on możliwy do pobrania. |
Wartość tego parametru jest brana pod uwagę po deserializacji JSON'a (po wpisaniu poprawnych nazw i wartości parametrów konfiguracji JSON w PCM), stąd jeśli na etapie deserializacji wystąpi błąd, zostanie zastosowana domyślna obsługa błędów BLOCK. |
| groups (permissions) | 1.0.0 | Uprawnienia określające dla jakich zalogowanych użytkowników w systemie przy próbie otwarcia dokumentu zostanie uruchomiony hook. Wskazuje na grupy użytkowników systemowych. | Tablica wartości tekstowych | Parametr opcjonalny, gdy nie jest uzupełniony, to mechanizm wstawiania znaku wodnego działa dla każdego użytkownika. | removePDFSecurity | 1.0.2 | Usuwa hasło, zabezpieczenia pliku chroniące przed jego modyfikacją. Wynikowy plik nie posiada żadnych zabezpieczeń w porównaniu z jego pierwotną wersją. Parametr nie uwzględnia usuwania hasła użytkownika (odczytu), które zostało użyte w celu zabezpieczenia dokumentu przed otwarciem. | Logiczny | Parametr opcjonalny, gdy nie jest zdefiniowany, domyślnie przyjmowana jest wartość false zgodnie z kompatybilnością wsteczną. |
Parametr*- pole wymagane |
![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-9-9 14:54:37.png](/confluence/download/attachments/19890453/image2021-9-9%2014%3A54%3A37.png?version=1&modificationDate=1631184880599&api=v2)
[
{
"documentClassId": 4,
"watermark": {
"type": "TEXT",
"text": "Numer sprawy: {8}, Data rejestracji: {9}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"clockwiseAngle": 0,
"watermarkText":{
"fontSize": 15,
"fontType": "HELVETICA",
"fontColor": "WHITE",
"encoding": "CP1250",
"backgroundColor": "BLACK"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"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_2"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK",
"removePDFSecurity": true
}
] |
|
[
{
"documentClassId": 4,
"watermark": {
"type": "TEXT",
"text": "Numer sprawy: {8}, Data rejestracji: {9}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"clockwiseAngle": 0,
"watermarkText":{
"fontSize": 15,
"fontType": "HELVETICA",
"fontColor": "LIGHT_GRAY",
"encoding": "CP1250"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"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"
}
] |
Oryginalny dokument: ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-11 15:3:42.png](/confluence/download/attachments/19890453/image2021-3-11%2015%3A3%3A42.png?version=1&modificationDate=1615467824320&api=v2)
Po otwarciu: ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-11 15:5:15.png](/confluence/download/attachments/19890453/image2021-3-11%2015%3A5%3A15.png?version=1&modificationDate=1615467917316&api=v2) |
[
{
"documentClassId": 4,
"watermark": {
"type": "TEXT",
"text": "Numer sprawy: {8}, Data rejestracji: {9}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"clockwiseAngle": 0,
"watermarkText":{
"fontSize": 15,
"fontType": "HELVETICA",
"fontColor": "WHITE",
"encoding": "CP1250",
"backgroundColor": "BLACK"
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK"
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 20,
"positionY%": 10,
"opacity": 0.9,
"clockwiseAngle": 0,
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15,
"textUnderBarcode": true
}
},
"permissions": {
"groups": ["Users", "Administrators"]
},
"errorHandling": "BLOCK",
"removePDFSecurity": true
}
] |
Oryginalny dokument: ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-7-26 15:48:22.png](/confluence/download/attachments/19890453/image2021-7-26%2015%3A48%3A22.png?version=1&modificationDate=1627300102752&api=v2)
Po otwarciu: ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-7-26 15:54:23.png](/confluence/download/attachments/19890453/image2021-7-26%2015%3A54%3A23.png?version=1&modificationDate=1627300464151&api=v2)
|
|
|