← 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 jest przez wtyczkę PCM (Plugin Configuration Manager). Znak wodny jest umieszczany na każdej stronie dokumentu. |
Znak wodny może być umieszczany tylko w dokumentach w formacie PDF. |
| 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 | | watermark type* | 1.0.0 | Określa typ znaku wodnego.
| Tekstowy | | Wartość | Znaczenie |
|---|
| 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. |
| watermark text* | 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 | 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 "". |
| watermark alignment* | 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%. | Tekstowy | | Wartość | Znaczenie |
|---|
| TOP_LEFT | Pozycja znaku wodnego względem górnego lewego rogu. ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-17 20:26:36.png](/confluence/download/attachments/19890453/image2021-3-17%2020%3A26%3A36.png?version=1&modificationDate=1616005598885&api=v2)
| | TOP_RIGHT | Pozycja znaku wodnego względem górnego prawego rogu. ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-17 20:35:28.png](/confluence/download/attachments/19890453/image2021-3-17%2020%3A35%3A28.png?version=1&modificationDate=1616006130125&api=v2)
| | BOTTOM_LEFT | Pozycja znaku wodnego względem dolnego lewego rogu. ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-17 20:41:33.png](/confluence/download/attachments/19890453/image2021-3-17%2020%3A41%3A33.png?version=1&modificationDate=1616006495402&api=v2)
| | BOTTOM_RIGHT | Pozycja znaku wodnego względem dolnego prawego rogu. ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-17 20:48:29.png](/confluence/download/attachments/19890453/image2021-3-17%2020%3A48%3A29.png?version=1&modificationDate=1616006911861&api=v2)
|
| watermark anchor* | 1.0.0 | Określa pozycję znaku wodnego względem odpowiedniego rogu znaku wodnego. | Tekstowy | | Wartość | Znaczenie |
|---|
| BOTTOM_LEFT | Pozycja znaku wodnego względem lewego dolnego rogu znaku wodnego. ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-11 12:42:5.png](/confluence/download/attachments/19890453/image2021-3-11%2012%3A42%3A5.png?version=1&modificationDate=1615459326907&api=v2)
|
| watermark positionX%* | 1.0.0 | Wskazuje pozycję procentową X (w poziomie) znaku wodnego względem wymiarów strony dokumentu. | Całkowity | Wartość z przedziału 0 - 100. | watermark positionY%* | 1.0.0 | Wskazuje pozycję procentową Y (w pionie) znaku wodnego względem wymiarów strony dokumentu. | Całkowity | Wartość z przedziału 0 -100. | watermark opacity* | 1.0.0 | Określa przezroczystość wstawianego znaku wodnego. | Zmiennoprzecinkowy | Wartość z przedziału 0.0 - 1.0. | watermark watermarkBarcode format* | 1.0.0 | Określa standard kodów kreskowych w postaci jednowymiarowej (zapis informacji w jednej linii, w formie kresek). | Tekstowy | | Wartość | Znaczenie |
|---|
| CODE_39 | Znany też jako "USS Code 39", "Code 3/9", "Kod 3 z 9", "USD-3", "Alpha39") – alfanumeryczny kod kreskowy o stałej szerokości pojedynczego znaku. | | CODE_93 | Code 93 został zaprojektowany jako udoskonalenie kodowania Code 39. Podobnie jak swój pierwowzór w wersji podstawowej jest w stanie przechowywać 43 znaki alfanumeryczne. Jednak w stosunku do swojego poprzednika posiada jeszcze 4 dodatkowe znaki sterujące. | | CODE_128 | Kod alfanumeryczny o zmiennej długości i wysokiej gęstości. Potrafi kodować znaki z całego zakresu ASCII. |
| watermark watermarkBarcode codeWidth* | 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. | watermark watermarkBarcode codeHeight* | 1.0.0 | Definiuje wysokość kodu kreskowego w pikselach. | Całkowity | | watermark watermarkText size* | 1.0.0 | Rozmiar tekstu. | Zmiennoprzecinkowy | | watermark watermarkText encoding* | 1.0.0 | Kodowanie znaków. | Tekstowy | | Wartość | Znaczenie |
|---|
CP1250 | Strona kodowa służąca do reprezentacji tekstów w językach środkowoeuropejskich używających alfabetu łacińskiego, na przykład albańskim, chorwackim, czeskim, polskim, rumuńskim, słowackim, słoweńskim, węgierskim. | | CP1252 | Strona kodowa służąca do reprezentacji tekstów w językach zachodnioeuropejskich. | | CP1257 | Strona kodowa służąca do reprezentacji tekstów w językach estońskim, litewskim, czy łotewskim. Zestaw ten jest w znacznej części kompatybilny z ISO 8859-13, oraz nadaje się do kodowania języka polskiego. | | MACROMAN | Kodowanie znaków używane głównie w klasycznym systemie Mac OS do reprezentowania tekstu. Koduje 256 znaków, z których pierwsze 128 jest identyczne z ASCII, a pozostałe znaki obejmują symbole matematyczne, znaki diakrytyczne i dodatkowe znaki interpunkcyjne. Jest odpowiedni dla języka angielskiego i kilku innych języków zachodnich. |
| watermark watermarkText color | 1.0.0 | Kolor tekstu. | Tekstowy | Parametr jest opcjonalny. W przypadku braku jego zdefiniowania, domyślnym kolorem będzie LIGHT_GRAY. | Wartość | Znaczenie |
|---|
| 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 |
| watermark watermarkText fontType | 1.0.0 | Rodzaj czcionki tekstu. | Tekstowy | Parametr jest opcjonalny. W przypadku braku jego zdefiniowania, domyślną czcionką będzie HELVETICA. | Wartość | Znaczenie |
|---|
| 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 clockwiseAngle* | 1.0.0 | Rotacja znaku wodnego zgodnie z kierunkiem ruchu wskazówki zegara. | Zmiennoprzecinkowy | | permissions groups | 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. |
|
| Format | Opis |
|---|
| Code_39 | Jednowymiarowy kod kreskowy zawierający znaki alfanumeryczne o zmiennej długości, w którym występują paski o dwóch różnych szerokościach. Do kodowania CODE_39 używane są 43 znaki plus dodatkowe znaki, które są ogranicznikami i znakami start/stop. Znak start/stop zawsze występuje jako pierwszy i ostatni znak kodu i jest nim znak '*'. Ten format nie pozwala na zakodowanie małych liter. | Znak | Wartość | Znak | Wartość | Znak | Wartość | Znak | Wartość |
|---|
| 0 | 0 | B | 11 | M | 22 | X | 33 | | 1 | 1 | C | 12 | N | 23 | Y | 34 | | 2 | 2 | D | 13 | 1O | 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 | | |
![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-23 8:48:44.png](/confluence/download/attachments/19890453/image2021-3-23%208%3A48%3A44.png?version=1&modificationDate=1616482126083&api=v2)
| | Code_93 | Jednowymiarowy kod kreskowy będący udoskonaleniem formatu CODE_39. Występują w nim paski o czterech różnych szerokościach. Podobnie jak swój pierwowzór przechowuje 43 znaki alfanumeryczne, ale dodatkowo posiada 4 znaki sterujące (($), (%), (/), (+)), które są używane do kodowania wszystkich 128 znaków ASCII (CODE_93 Extended). Kod przyjmuje wyłącznie wielkie litery, chyba że zostaną użyte znaki sterujące. | Znak | Wartość | Znak | Wartość | Znak | Wartość | Znak | Wartość |
|---|
| 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 | | |
![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-23 8:56:29.png](/confluence/download/attachments/19890453/image2021-3-23%208%3A56%3A29.png?version=1&modificationDate=1616482590521&api=v2)
| | Code_128 | Kod alfanumeryczny o zmiennej długości i wysokiej gęstości. Potrafi kodować znaki z całego zakresu ASCII. Do kodowania używa się kreski i przerwy o czterech możliwych szerokościach, co czyni go zwartym kodem. Kod 128 może być skanowany w każdym kierunku i nie ma ograniczeń co do długości samego kodu. ![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-23 8:59:49.png](/confluence/download/attachments/19890453/image2021-3-23%208%3A59%3A49.png?version=1&modificationDate=1616482790761&api=v2)
|
|
![Dostępne Wtyczki i Moduły (Uniwersalne komponenty PWE Home) > [Hook] Dodanie znaku wodnego do dokumentu > image2021-3-17 21:2:50.png](/confluence/download/attachments/19890453/image2021-3-17%2021%3A2%3A50.png?version=1&modificationDate=1616007772901&api=v2)
[
{
"documentClassId": 4,
"watermark": {
"type": "TEXT",
"text": "Numer sprawy: {8}, Data rejestracji: {9}",
"positionX%": 5,
"positionY%": 5,
"opacity": 0.7,
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"watermarkText":{
"size": 15,
"encoding": "CP1250",
"color": "LIGHT_GRAY",
"fontType": "HELVETICA",
"rotation": 0
}
},
"permissions": {
"groups": ["Users", "Administrators"]
}
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"watermarkBarcode":{
"format": "CODE_128",
"codeWidth": 50,
"codeHeight": 15
}
},
"permissions": {
"groups": ["Users", "Administrators"]
}
}
] |
|
Przykład działania dla powyższej konfiguracji JSON'a. 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)
|
|