← 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 i akceptuje tylko format PDF. test |
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ść | 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. |
| 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 | 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 "". |
| 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%. | 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. 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)
|
| anchor* (watermark) | 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/thumbnails/19890453/image2021-3-11%2012%3A42%3A5.png?version=1&modificationDate=1615459326907&api=v2)
|
| 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 przezroczystość wstawianego znaku wodnego. | Zmiennoprzecinkowy | Wartość z przedziału 0.0 - 1.0. | format* (watermark.watermarkBarcode) | 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. |
| 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 | | size* (watermark.watermarkText) | 1.0.0 | Rozmiar tekstu. | Zmiennoprzecinkowy | | fontType (watermark.watermarkText) | 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 |
| color (watermark.watermarkText) | 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 |
| encoding* (watermark.watermarkText) | 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. |
| clockwiseAngle* (watermark.watermarkText) | 1.0.0 | Rotacja znaku wodnego zgodnie z kierunkiem ruchu wskazówki zegara. | Zmiennoprzecinkowy | | 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. |
Parametr*- pole wymagane |
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-23 11:34:23.png](/confluence/download/attachments/19890453/image2021-3-23%2011%3A34%3A23.png?version=1&modificationDate=1616492064969&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,
"watermarkText":{
"size": 15,
"fontType": "HELVETICA",
"color": "LIGHT_GRAY",
"encoding": "CP1250",
"clockwiseAngle": 0
}
},
"permissions": {
"groups": ["Users", "Administrators"]
}
},
{
"documentClassId": 4,
"watermark": {
"type": "BARCODE",
"text": "{8}",
"alignment": "TOP_LEFT",
"anchor": "BOTTOM_LEFT",
"positionX%": 80,
"positionY%": 10,
"opacity": 0.5,
"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)
|
|